| 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); |
| } |