Struct termimad::MadSkin [−][src]
pub struct MadSkin {}Show fields
pub paragraph: LineStyle, pub bold: CompoundStyle, pub italic: CompoundStyle, pub strikeout: CompoundStyle, pub inline_code: CompoundStyle, pub code_block: LineStyle, pub headers: [LineStyle; 8], pub scrollbar: ScrollBarStyle, pub table: LineStyle, pub bullet: StyledChar, pub quote_mark: StyledChar, pub horizontal_rule: StyledChar, pub ellipsis: CompoundStyle, pub special_chars: HashMap<Compound<'static>, StyledChar>,
Expand description
A skin defining how a parsed mardkown appears on the terminal (fg and bg colors, bold, italic, underline, etc.)
Fields
paragraph: LineStyle
bold: CompoundStyle
italic: CompoundStyle
strikeout: CompoundStyle
inline_code: CompoundStyle
code_block: LineStyle
headers: [LineStyle; 8]
scrollbar: ScrollBarStyle
table: LineStyle
bullet: StyledChar
quote_mark: StyledChar
horizontal_rule: StyledChar
ellipsis: CompoundStyle
special_chars: HashMap<Compound<'static>, StyledChar>
compounds which should be replaced with special renders. Experimental. This API will probably change (comments welcome) Do not use compounds with a length different than 1.
Implementations
Build a customizable skin with no style, most useful when your application must run in no-color mode, for example when piped to a file.
Note that without style you have no underline, no strikeout, etc.
Set a common foregreound color for all header levels
(it’s still possible to change them individually with skin.headers[i])
Set a common background color for all header levels
(it’s still possible to change them individually with skin.headers[i])
set a common background for the paragraph, headers, rules, etc.
Return the number of visible chars in a composite
return a formatted text.
Code blocs will be right justified
return a formatted text, with lines wrapped or justified for the current terminal width.
Code blocs will be right justified
return a formatted text, with lines wrapped or justified for the passed area width (with space for a scrollbar).
Code blocs will be right justified
pub fn write_in_area_on<W>(
&self,
w: &mut W,
markdown: &str,
area: &Area
) -> Result<()> where
W: Write,
do a print!
of the given src interpreted as a markdown span
do a print!
of the given src interpreted as a markdown text
do a print!
of the given expander
pub fn write_composite<W>(
&self,
w: &mut W,
composite: Composite<'_>
) -> Result<()> where
W: Write,
write a composite filling the given width
Ellision or truncation may occur, but no wrap
parse the given src as a markdown snippet and write it on
the given Write
parse the given src as a markdown text and write it on
the given Write
parse the given src as a markdown snippet and write it on stdout
parse the given src as a markdown text and write it on stdout
pub fn write_fmt_composite(
&self,
f: &mut Formatter<'_>,
fc: &FmtComposite<'_>,
outer_width: Option<usize>,
with_right_completion: bool
) -> Result
pub fn write_fmt_composite(
&self,
f: &mut Formatter<'_>,
fc: &FmtComposite<'_>,
outer_width: Option<usize>,
with_right_completion: bool
) -> Result
Write a composite.
This function is internally used and normally not needed outside of Termimad’s implementation.
Write a line in the passed formatter, with completions.
Right completion is optional because:
- if a text isn’t right completed it shrinks better when you reduce the width of the terminal
- right completion is useful to overwrite previous rendering without flickering (in scrollable views)
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for MadSkin
impl UnwindSafe for MadSkin
Blanket Implementations
Mutably borrows from an owned value. Read more