[−][src]Struct source_span::fmt::Highlight
Text highlight.
Defines what should be highlighted in the text formatted with the
Formatter
.
A highlight is composed of a span a label and a style.
The formatter will underline the text in the given span and draw the label's
text on its side, with the given style.
1 | fn main() {
2 | println!("Hello World!")
| ^^^^^^^^^^^^^^ highlighting this string
3 | }
Highlight spanning multiple lines
The highlight span can cover multiple lines.
In that case, only the first and last elements will be decorated using the
style's marker charatcer (^
in the below example).
1 | fn main() {
| ___________^
2 | | println!("Hello World!")
3 | | }
| |_^ this span covers more than one line
Entangled highlights
Different highlights can overlap without breaking the formatted output, but it may become difficult to read the exact boundary of each highlight.
1 | fn main() {
| __ ^
| _________|_|
| | |
| | this is a pair of parenthesis
2 | | println!("Hello World!")
| | ^^^^^^^^^^^^^^^^ this is a pair of parenthesis
| | |_____________||
| | |
| | this is a string. Hard to see where it starts, uh?
3 | | }
| |_^ this is a pair of braces
Here the underline character for the string is the same as the boundary
marker for the parenthesis, making it hard to see which is which.
One possible workaround is to change the Style
of the highlights.
Changing the boundary marker for the parenthesis to |
makes it easier to
read the formatted output:
1 | fn main() {
| __ ^
| _________|_|
| | |
| | this is a pair of parenthesis
2 | | println!("Hello World!")
| | |^^^^^^^^^^^^^^| this is a pair of parenthesis
| | |_____________||
| | |
| | this is a string. Hard to see where it starts, uh?
3 | | }
| |_^ this is a pair of braces
Auto Trait Implementations
impl RefUnwindSafe for Highlight
impl Send for Highlight
impl Sync for Highlight
impl Unpin for Highlight
impl UnwindSafe for Highlight
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,