pub struct InlineState<'a, 'b>where
'b: 'a,{
pub src: String,
pub md: &'a MarkdownThat,
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: String
Markdown source.
md: &'a MarkdownThat
Link to parser instance.
node: Node
Current node, your rule is supposed to add children to it.
srcmap: Vec<(usize, usize)>
For each line, it holds an offset of the start of the line in an original
Markdown source and offset of the start of the line in src
.
root_ext: &'b mut RootExtSet
§inline_ext: &'b mut InlineRootExtSet
§pos: usize
Current byte offset in src
, it must respect char boundaries.
pos_max: usize
Maximum allowed byte offset in src
, it must respect char boundaries.
link_level: i32
Counter used to disable inline linkifier execution inside raw HTML and Markdown links.
level: u32
Counter 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 MarkdownThat, 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>
Converts
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
, which can then be
downcast
into Box<dyn 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>
Converts
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
, which 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)
Converts
&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)
Converts
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.