error_snippet 0.2.0

Library for reporting fancy diagnostics to the console
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use error_snippet::{DiagnosticHandler, GraphicalRenderer, Handler};
use error_snippet_derive::Diagnostic;

#[derive(Debug, Diagnostic)]
#[diagnostic(message = "failed to read file")]
struct IoError {}

fn main() {
    let error = IoError {};

    let renderer = GraphicalRenderer::new();
    let mut handler = DiagnosticHandler::with_renderer(Box::new(renderer));
    handler.exit_on_error();

    if let Err(err) = handler.report_and_drain(error.into()) {
        eprintln!("{err}");
    }
}