pub enum Token {
Show 40 variants
LexMarker,
Indentation,
Indent(Vec<(Token, Range<usize>)>),
Dedent(Vec<(Token, Range<usize>)>),
BlankLine(Option<String>),
Whitespace(usize),
Dash,
Period,
OpenParen,
CloseParen,
Colon,
ExclamationMark,
QuestionMark,
Semicolon,
InvertedExclamationMark,
InvertedQuestionMark,
Ellipsis,
IdeographicFullStop,
FullwidthExclamationMark,
FullwidthQuestionMark,
ExclamationQuestionMark,
QuestionExclamationMark,
ArabicQuestionMark,
ArabicFullStop,
ArabicTripleDot,
ArabicComma,
Danda,
DoubleDanda,
BengaliCurrencyNumeratorFour,
EthiopianFullStop,
ArmenianFullStop,
TibetanShad,
ThaiFongman,
MyanmarComma,
MyanmarFullStop,
Comma,
Quote,
Equals,
Number(String),
Text(String),
}Expand description
All possible tokens in the lex format
Variants§
LexMarker
Indentation
Indent(Vec<(Token, Range<usize>)>)
Dedent(Vec<(Token, Range<usize>)>)
BlankLine(Option<String>)
Whitespace(usize)
Dash
Period
OpenParen
CloseParen
Colon
ExclamationMark
QuestionMark
Semicolon
InvertedExclamationMark
InvertedQuestionMark
Ellipsis
IdeographicFullStop
FullwidthExclamationMark
FullwidthQuestionMark
ExclamationQuestionMark
QuestionExclamationMark
ArabicQuestionMark
ArabicFullStop
ArabicTripleDot
ArabicComma
Danda
DoubleDanda
BengaliCurrencyNumeratorFour
EthiopianFullStop
ArmenianFullStop
TibetanShad
ThaiFongman
MyanmarComma
MyanmarFullStop
Comma
Quote
Equals
Number(String)
Text(String)
Implementations§
Source§impl Token
impl Token
Sourcepub fn simple_name(&self) -> &'static str
pub fn simple_name(&self) -> &'static str
Get an uppercase identifier describing this token variant. Used by CLI simple output.
Sourcepub fn is_indent_level(&self) -> bool
pub fn is_indent_level(&self) -> bool
Check if this token represents semantic indentation level
Sourcepub fn is_dedent_level(&self) -> bool
pub fn is_dedent_level(&self) -> bool
Check if this token represents semantic dedentation level
Sourcepub fn is_whitespace(&self) -> bool
pub fn is_whitespace(&self) -> bool
Check if this token is whitespace (including indentation)
Sourcepub fn is_sequence_marker(&self) -> bool
pub fn is_sequence_marker(&self) -> bool
Check if this token is a sequence marker
pub fn is_end_punctuation(&self) -> bool
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Token
impl<'de> Deserialize<'de> for Token
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl<'s> Logos<'s> for Token
impl<'s> Logos<'s> for Token
Source§type Error = ()
type Error = ()
Error type returned by the lexer. This can be set using
#[logos(error = MyError)]. Defaults to () if not set.Source§type Extras = ()
type Extras = ()
Associated type
Extras for the particular lexer. This can be set using
#[logos(extras = MyExtras)] and accessed inside callbacks.Source§type Source = str
type Source = str
Source type this token can be lexed from. This will default to
str,
unless one of the defined patterns explicitly uses non-unicode byte values
or byte slices, in which case that implementation will use [u8].Source§fn lex(lex: &mut Lexer<'s, Self>)
fn lex(lex: &mut Lexer<'s, Self>)
The heart of Logos. Called by the
Lexer. The implementation for this function
is generated by the logos-derive crate.Source§impl ToLexString for Token
impl ToLexString for Token
fn to_lex_string(&self) -> String
impl Eq for Token
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 UnsafeUnpin for Token
impl UnwindSafe for Token
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more