Crates.io | yumy |
lib.rs | yumy |
version | 0.3.1 |
source | src |
created_at | 2023-07-02 23:50:04.561942 |
updated_at | 2024-01-10 19:51:05.555478 |
description | a straightforward diagnostics rendering crate. |
homepage | |
repository | https://github.com/vxpm/yumy |
max_upload_size | |
id | 906498 |
size | 398,196 |
a diagnostics rendering crate. yumy aims to be easy to use, focusing on simplicity.
the diagnostic below is just an example.
here's the same diagnostic printed in compact mode:
and here's the code for this diagnostic (it's a test in this crate!):
let src = Source::new(crate::test::RUST_SAMPLE_2, Some("src/main.rs"));
let diagnostic =
Diagnostic::new("error[E0277]: `Rc<Mutex<i32>>` cannot be sent between threads safely".red())
.with_label(Label::styled(
247..260u32,
"required by a bound introduced by this call",
Style::new().yellow()
))
.with_label(Label::styled(
261..357u32,
"`Rc<Mutex<i32>>` cannot be sent between threads safely",
Style::new().red()
))
.with_footnote("note: required because it's used within `{closure@src/main.rs:11:36: 11:43}`".green())
.with_footnote("help: within `{closure@src/main.rs:11:36: 11:43}`, the trait `Send` is not implemented for `Rc<Mutex<i32>>`".blue())
.with_source(src);
diagnostic.eprint(&Config::default()).unwrap();
diagnostic.eprint_compact(&Config::default()).unwrap();