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:
34mod from_snippet;
35mod structs;
36
37pub use self::structs::*;
38