pub struct Composite<'a> {
pub style: CompositeStyle,
pub compounds: Vec<Compound<'a>>,
}
Expand description
a composite is a monoline sequence of compounds. It’s defined by
- the global style of the composite, if any
- a vector of styled parts
Fields
style: CompositeStyle
compounds: Vec<Compound<'a>>
Implementations
sourceimpl<'a> Composite<'a>
impl<'a> Composite<'a>
pub fn new() -> Composite<'a>
sourcepub fn from_inline(md: &'a str) -> Composite<'a>
pub fn from_inline(md: &'a str) -> Composite<'a>
parse a monoline markdown snippet which isn’t from a text.
pub fn is_code(&self) -> bool
pub fn is_list_item(&self) -> bool
pub fn is_quote(&self) -> bool
sourcepub fn char_length(&self) -> usize
pub fn char_length(&self) -> usize
return the total number of characters in the composite
Example
assert_eq!(minimad::Line::from("τ:`2π`").char_length(), 4);
This may not be the visible width: a renderer can add some things (maybe some caracters) to wrap inline code, or a bullet in front of a list item
sourcepub fn trim_start_spaces(&mut self)
pub fn trim_start_spaces(&mut self)
remove all white spaces at left, unless in inline code Empty compounds are cleaned out
sourcepub fn trim_end_spaces(&mut self)
pub fn trim_end_spaces(&mut self)
remove all white spaces at right, unless in inline code Empty compounds are cleaned out
pub fn trim_spaces(&mut self)
pub fn is_empty(&self) -> bool
sourcepub fn remove_chars_left(&mut self, to_remove: usize)
pub fn remove_chars_left(&mut self, to_remove: usize)
remove characters, and whole compounds if necessary
sourcepub fn remove_chars_right(&mut self, to_remove: usize)
pub fn remove_chars_right(&mut self, to_remove: usize)
remove characters, and whole compounds if necessary
sourcepub fn remove_chars(&mut self, to_remove: usize, align: Alignment)
pub fn remove_chars(&mut self, to_remove: usize, align: Alignment)
remove characters, and whole compounds if necessary.
align is the alignment of the composite. If the composite is left aligned, we remove chars at the right.