Struct markdown_it::parser::inline::InlineState
source · [−]pub struct InlineState<'a, 'b> where
'b: 'a, {
pub src: String,
pub md: &'a MarkdownIt,
pub node: Node,
pub srcmap: Vec<(usize, usize)>,
pub root_env: &'b mut ErasedSet,
pub inline_env: ErasedSet,
pub pos: usize,
pub pos_max: usize,
pub cache: HashMap<usize, usize>,
pub link_level: i32,
pub level: u32,
}Expand description
Sandbox object containing data required to parse inline structures.
Fields
src: StringMarkdown source.
md: &'a MarkdownItLink to parser instance.
node: NodeCurrent node, your rule is supposed to add children to it.
srcmap: Vec<(usize, usize)>For each line, it holds offset of the start of the line in original
markdown source and offset of the start of the line in src.
root_env: &'b mut ErasedSetinline_env: ErasedSetpos: usizeCurrent byte offset in src, it must respect char boundaries.
pos_max: usizeMaximum allowed byte offset in src, it must respect char boundaries.
cache: HashMap<usize, usize>Stores { start: end } pairs. Useful for backtrack
optimization of pairs parse (emphasis, strikes).
link_level: i32Counter used to disable inline linkifier execution inside raw html and markdown links.
level: u32Counter used to prevent recursion by image and link rules.
Implementations
sourceimpl<'a, 'b> InlineState<'a, 'b>
impl<'a, 'b> InlineState<'a, 'b>
pub fn new(
src: String,
srcmap: Vec<(usize, usize)>,
md: &'a MarkdownIt,
env: &'b mut ErasedSet,
node: Node
) -> Self
pub fn trailing_text_push(&mut self, start: usize, end: usize)
pub fn trailing_text_pop(&mut self, count: usize)
pub fn trailing_text_get(&self) -> &str
pub fn scan_delims(&self, start: usize, can_split_word: bool) -> DelimiterRun
pub fn get_map(&self, start_pos: usize, end_pos: usize) -> Option<SourcePos>
Trait Implementations
Auto Trait Implementations
impl<'a, 'b> !RefUnwindSafe for InlineState<'a, 'b>
impl<'a, 'b> !Send for InlineState<'a, 'b>
impl<'a, 'b> !Sync for InlineState<'a, 'b>
impl<'a, 'b> Unpin for InlineState<'a, 'b>
impl<'a, 'b> !UnwindSafe for InlineState<'a, 'b>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
T: Any,
sourcefn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait. Read more
sourcefn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait. Read more
sourcefn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s. Read more
sourcefn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s. Read more