Token

Struct Token 

Source
pub struct Token {
    pub text: TokenText,
    pub loc: Option<SourceLocation>,
    pub noexpand: Option<bool>,
    pub treat_as_relax: Option<bool>,
}
Expand description

Represents a single token in the lexing process of LaTeX/KaTeX mathematical expressions.

Fields§

§text: TokenText

The raw text content of the token as extracted from the input string.

This preserves the original characters without any processing or normalization. For commands, this includes the backslash and command name (e.g., “\alpha”).

§loc: Option<SourceLocation>

Optional source location information for error reporting and debugging.

Provides context about where in the original input this token originated. Used to generate meaningful error messages when parsing fails.

§See Also

§noexpand: Option<bool>

Flag indicating whether this token should not be expanded during macro processing.

When set to true, prevents the parser from applying macro expansions to this token. This is useful for tokens that should be treated literally, such as in verbatim environments.

§treat_as_relax: Option<bool>

Flag indicating whether this token should be treated as a \relax command.

\relax is a LaTeX primitive that does nothing but can be used to prevent unwanted expansions. When this flag is set, the token behaves as if it were a \relax command.

Implementations§

Source§

impl Token

Source

pub fn new<T>(text: T, loc: Option<SourceLocation>) -> Self
where T: Into<TokenText>,

Creates a new token with the specified text and optional source location.

Source

pub fn text(&self) -> &str

Returns the token text as a string slice.

Source

pub fn set_text<T>(&mut self, text: T)
where T: Into<TokenText>,

Mutably sets the textual payload of the token.

Source

pub fn range<T: Into<TokenText>>(self, end_token: Self, text: T) -> Option<Self>

Computes a new token that encompasses the range from this token to the end_token.

Trait Implementations§

Source§

impl Clone for Token

Source§

fn clone(&self) -> Token

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Token

Source§

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

Formats the value using the given formatter. Read more
Source§

impl ErrorLocationProvider for Token

Implementation of ErrorLocationProvider for Token.

This implementation allows Token to be used as an error location provider in the KaTeX parsing pipeline. It simply returns the token’s location information for error reporting.

§Cross-references

  • Part of the error reporting system in ParseError(crate::types::ParseError).
  • Used by parsers to provide location context for syntax errors.
Source§

fn loc(&self) -> Option<&SourceLocation>

Get the source location if available
Source§

impl PartialEq for Token

Source§

fn eq(&self, other: &Token) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for Token

Source§

impl StructuralPartialEq for Token

Auto Trait Implementations§

§

impl Freeze for Token

§

impl RefUnwindSafe for Token

§

impl Send for Token

§

impl Sync for Token

§

impl Unpin for Token

§

impl UnwindSafe for Token

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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.