6 releases

0.1.5 Sep 17, 2023
0.1.4 Sep 16, 2023

#63 in #diagnostics

Download history 12/week @ 2024-02-26 2/week @ 2024-03-04 7/week @ 2024-03-11 102/week @ 2024-04-01

110 downloads per month
Used in lemu

MIT license

25KB
337 lines

lerr

extremely barebones error diagnostics for lang-dev

example error

usage

heres the code for the sample above. feel free to add coloring with your favorite coloring crate, or just use raw ansi sequences.

use comat::cformat as cmt;
use lerr::Error;
let mut e = Error::new("Strin::nouveau().i_like_tests(3.14158)");
e.message(cmt!(r#"{bold_red}error{reset}: unknown function {bold_red}String::new(){reset}"#))
    .label((0..5, cmt!("you probably meant {black}String{reset}")))
    .label((7..16, cmt!("use {green}new(){reset}")))
    .label((17..18, cmt!("caps: {bold_cyan}I{reset}")))
    .label((30..37, cmt!("your {bold_yellow}π{reset} is bad")));
eprintln!("{e}");

Please note that multiline labels are not yet supported. If that doesnt work for you, use something like ariadne.

Dependencies

~0.6–1MB
~24K SLoC