[−][src]Module annotate_snippets::formatter::style
Set of structures required to implement a stylesheet for DisplayListFormatter.
In order to provide additional styling information for the
formatter, a structs can implement Stylesheet
and Style
traits.
Example:
use annotate_snippets::formatter::style::{Stylesheet, StyleClass, Style}; struct HTMLStyle { prefix: String, postfix: String, }; impl HTMLStyle { fn new(prefix: &str, postfix: &str) -> Self { HTMLStyle { prefix: prefix.into(), postfix: postfix.into() } } }; impl Style for HTMLStyle { fn paint(&self, text: &str) -> String { format!("{}{}{}", self.prefix, text, self.postfix) } fn bold(&self) -> Box<Style> { Box::new(HTMLStyle { prefix: format!("{}<b>", self.prefix), postfix: format!("</b>{}", self.postfix), }) } } struct HTMLStylesheet {}; impl Stylesheet for HTMLStylesheet { fn get_style(&self, class: StyleClass) -> Box<Style> { let s = match class { StyleClass::Error => HTMLStyle::new("<span style='color:red'>", "</span>"), StyleClass::Warning => HTMLStyle::new("<span style='color:orange'>", "</span>"), StyleClass::Info => HTMLStyle::new("<span style='color:yellow'>", "</span>"), StyleClass::Note => HTMLStyle::new("<span style='color:blue'>", "</span>"), StyleClass::Help => HTMLStyle::new("<span style='color:green'>", "</span>"), StyleClass::LineNo => HTMLStyle::new("<strong>", "</strong>"), StyleClass::Emphasis => HTMLStyle::new("<i>", "</i>"), StyleClass::None => HTMLStyle::new("", ""), }; Box::new(s) } }
Enums
StyleClass | StyleClass is a collection of named variants of style classes that DisplayListFormatter uses. |
Traits
Style | This trait implements a return value for the |
Stylesheet | Trait to annotate structs that can provide |