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_ext: &'b mut RootExtSet,
pub inline_ext: &'b mut InlineRootExtSet,
pub pos: usize,
pub pos_max: 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_ext: &'b mut RootExtSet§inline_ext: &'b mut InlineRootExtSet§pos: usizeCurrent byte offset in src, it must respect char boundaries.
pos_max: usizeMaximum allowed byte offset in src, it must respect char boundaries.
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§
Source§impl<'a, 'b> InlineState<'a, 'b>
impl<'a, 'b> InlineState<'a, 'b>
pub fn new( src: String, srcmap: Vec<(usize, usize)>, md: &'a MarkdownIt, root_ext: &'b mut RootExtSet, inline_ext: &'b mut InlineRootExtSet, 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
Sourcepub fn scan_delims(&self, start: usize, can_split_word: bool) -> DelimiterRun
pub fn scan_delims(&self, start: usize, can_split_word: bool) -> DelimiterRun
Scan a sequence of emphasis-like markers, and determine whether it can start an emphasis sequence or end an emphasis sequence.
- start - position to scan from (it should point at a valid marker);
- can_split_word - determine if these markers can be found inside a word
pub fn get_map(&self, start_pos: usize, end_pos: usize) -> Option<SourcePos>
Trait Implementations§
Auto Trait Implementations§
impl<'a, 'b> Freeze for InlineState<'a, 'b>
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§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
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.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn 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.Source§fn 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.