Struct InlineState

Source
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>

Source

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

Source

pub fn trailing_text_push(&mut self, start: usize, end: usize)

Source

pub fn trailing_text_pop(&mut self, count: usize)

Source

pub fn trailing_text_get(&self) -> &str

Source

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
Source

pub fn get_map(&self, start_pos: usize, end_pos: usize) -> Option<SourcePos>

Trait Implementations§

Source§

impl<'a, 'b> Debug for InlineState<'a, 'b>
where 'b: 'a,

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

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> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> Downcast for T
where T: Any,

Source§

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>

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)

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)

Converts &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> ErasedDestructor for T
where T: 'static,