| Crates.io | yumy |
| lib.rs | yumy |
| version | 0.3.1 |
| created_at | 2023-07-02 23:50:04.561942+00 |
| updated_at | 2024-01-10 19:51:05.555478+00 |
| 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();