Skip to main content

LineTokenizer

Struct LineTokenizer 

Source
pub struct LineTokenizer<'grammar> { /* private fields */ }
Expand description

Reusable line tokenizer for one compiled grammar.

The tokenizer keeps runtime scratch that is not part of immutable grammar data, such as dynamically resolved end regexes. Reuse one tokenizer across a blob or visible range to avoid recompiling those regexes unnecessarily.

Implementations§

Source§

impl<'grammar> LineTokenizer<'grammar>

Source

pub fn new(grammar: &'grammar Grammar) -> Self

Creates a tokenizer for a compiled grammar.

Source

pub fn clear_caches(&mut self)

Clears cached dynamic end regexes while retaining allocations.

Source

pub fn tokenize_line( &mut self, state: &mut LineState, line: &str, ) -> Vec<ScopeSpan>

Tokenizes one line, mutating the caller-owned line state.

Source

pub fn tokenize_line_into( &mut self, state: &mut LineState, line: &str, spans: &mut Vec<ScopeSpan>, )

Tokenizes one line into a caller-owned buffer.

Trait Implementations§

Source§

impl<'grammar> Debug for LineTokenizer<'grammar>

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'grammar> Freeze for LineTokenizer<'grammar>

§

impl<'grammar> RefUnwindSafe for LineTokenizer<'grammar>

§

impl<'grammar> Send for LineTokenizer<'grammar>

§

impl<'grammar> Sync for LineTokenizer<'grammar>

§

impl<'grammar> Unpin for LineTokenizer<'grammar>

§

impl<'grammar> UnsafeUnpin for LineTokenizer<'grammar>

§

impl<'grammar> UnwindSafe for LineTokenizer<'grammar>

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