1 //! display_list module stores the output model for the snippet. 2 //! 3 //! `DisplayList` is a central structure in the crate, which contains 4 //! the structured list of lines to be displayed. 5 //! 6 //! It is made of two types of lines: `Source` and `Raw`. All `Source` lines 7 //! are structured using four columns: 8 //! 9 //! ```text 10 //! /------------ (1) Line number column. 11 //! | /--------- (2) Line number column delimiter. 12 //! | | /------- (3) Inline marks column. 13 //! | | | /--- (4) Content column with the source and annotations for slices. 14 //! | | | | 15 //! ============================================================================= 16 //! error[E0308]: mismatched types 17 //! --> src/format.rs:51:5 18 //! | 19 //! 151 | / fn test() -> String { 20 //! 152 | | return "test"; 21 //! 153 | | } 22 //! | |___^ error: expected `String`, for `&str`. 23 //! | 24 //! ``` 25 //! 26 //! The first two lines of the example above are `Raw` lines, while the rest 27 //! are `Source` lines. 28 //! 29 //! `DisplayList` does not store column alignment information, and those are 30 //! only calculated by the implementation of `std::fmt::Display` using information such as 31 //! styling. 32 //! 33 //! The above snippet has been built out of the following structure: 34 mod from_snippet; 35 mod structs; 36 37 pub use self::structs::*; 38