use yansi::Paint;
mod break_line;
mod identifier;
mod label;
mod message;
mod note;
use crate::{FileId, Files, Style};
pub use break_line::break_line;
pub trait Render<Id: FileId> {
fn render<'a>(
&'a self,
ln_width: Option<usize>,
files: &impl Files<'a, FileId = Id>,
style: &Style,
) -> String;
}
fn print_gap(result: &mut String, width: usize, style: &Style) {
result.push(' ');
result.push_str(&" ".repeat(width));
result.push(' ');
result.push_str(
style
.characters
.vbar_gap
.to_string()
.dim()
.to_string()
.as_str(),
);
}