pub struct FmtText<'k, 's> {
pub skin: &'k MadSkin,
pub lines: Vec<FmtLine<'s>>,
pub width: Option<usize>,
}
Expand description
a formatted text, implementing Display.
The text is wrapped for the width given at build, which means the rendering height is the number of lines.
use termimad::*;
let skin = MadSkin::default();
let my_markdown = "#title\n* item 1\n* item 2";
let text = FmtText::from(&skin, &my_markdown, Some(80));
println!("{}", &text);
Fields§
§skin: &'k MadSkin
§lines: Vec<FmtLine<'s>>
§width: Option<usize>
Implementations§
source§impl<'k, 's> FmtText<'k, 's>
impl<'k, 's> FmtText<'k, 's>
sourcepub fn from(
skin: &'k MadSkin,
src: &'s str,
width: Option<usize>
) -> FmtText<'k, 's>
pub fn from( skin: &'k MadSkin, src: &'s str, width: Option<usize> ) -> FmtText<'k, 's>
build a displayable text for the specified width and skin
This can be called directly or using one of the skin helper method.
sourcepub fn raw_str(
skin: &'k MadSkin,
src: &'s str,
width: Option<usize>
) -> FmtText<'k, 's>
pub fn raw_str( skin: &'k MadSkin, src: &'s str, width: Option<usize> ) -> FmtText<'k, 's>
build a text as raw (with no markdown interpretation)
sourcepub fn from_text(
skin: &'k MadSkin,
text: Text<'s>,
width: Option<usize>
) -> FmtText<'k, 's>
pub fn from_text( skin: &'k MadSkin, text: Text<'s>, width: Option<usize> ) -> FmtText<'k, 's>
build a fmt_text from a minimad text
sourcepub fn set_rendering_width(&mut self, width: usize)
pub fn set_rendering_width(&mut self, width: usize)
set the width to render the text to.
It’s preferable to set it no smaller than content_width and no wider than the terminal’s width.
If you want the text to be wrapped, pass a width on construction (ie in FmtText::from or FmtText::from_text) instead. The main purpose of this function is to optimize the rendering of a text (or several ones) to a content width, for example to have centered titles centered not based on the terminal’s width but on the content width