erebus 0.1.7

A CLI message generation library
Documentation
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(),
    );
}