rustc/vendor/annotate-snippets-0.9.2/examples/footer.rs
2024-06-21 09:39:33 +02:00

40 lines
1.2 KiB
Rust

use annotate_snippets::{
display_list::{DisplayList, FormatOptions},
snippet::{Annotation, AnnotationType, Slice, Snippet, SourceAnnotation},
};
fn main() {
let snippet = Snippet {
title: Some(Annotation {
label: Some("mismatched types"),
id: Some("E0308"),
annotation_type: AnnotationType::Error,
}),
footer: vec![Annotation {
label: Some(
"expected type: `snippet::Annotation`\n found type: `__&__snippet::Annotation`",
),
id: None,
annotation_type: AnnotationType::Note,
}],
slices: vec![Slice {
source: " slices: vec![\"A\",",
line_start: 13,
origin: Some("src/multislice.rs"),
fold: false,
annotations: vec![SourceAnnotation {
label: "expected struct `annotate_snippets::snippet::Slice`, found reference",
range: (21, 24),
annotation_type: AnnotationType::Error,
}],
}],
opt: FormatOptions {
color: true,
..Default::default()
},
};
let dl = DisplayList::from(snippet);
println!("{}", dl);
}