Enum Token
pub enum Token {
Show 13 variants
    BraceOpen,
    BraceClose,
    ParenOpen,
    ParenClose,
    BracketOpen,
    BracketClose,
    Colon,
    Comma,
    Number,
    LabelOrKeyword,
    Char,
    String,
    MultilineString,
}Expand description
A WAVE token
Variants§
BraceOpen
The { symbol
BraceClose
The } symbol
ParenOpen
The ( symbol
ParenClose
The ) symbol
BracketOpen
The [ symbol
BracketClose
The ] symbol
Colon
The : symbol
Comma
The , symbol
Number
A number literal
LabelOrKeyword
A label or keyword
Char
A char literal
String
A string literal
MultilineString
A multi-line string literal
Trait Implementations§
§impl<'s> Logos<'s> for Token
 
impl<'s> Logos<'s> for Token
§type Error = Option<Range<usize>>
 
type Error = Option<Range<usize>>
Error type returned by the lexer. This can be set using
#[logos(error = MyError)]. Defaults to () if not set.§type Extras = ()
 
type Extras = ()
Associated type 
Extras for the particular lexer. This can be set using
#[logos(extras = MyExtras)] and accessed inside callbacks.§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].§fn lex(lex: &mut Lexer<'s, Token>)
 
fn lex(lex: &mut Lexer<'s, Token>)
The heart of Logos. Called by the 
Lexer. The implementation for this function
is generated by the logos-derive crate.§fn lexer(source: &'source Self::Source) -> Lexer<'source, Self> ⓘwhere
    Self::Extras: Default,
 
fn lexer(source: &'source Self::Source) -> Lexer<'source, Self> ⓘwhere
    Self::Extras: Default,
Create a new instance of a 
Lexer that will produce tokens implementing
this Logos.§fn lexer_with_extras(
    source: &'source Self::Source,
    extras: Self::Extras,
) -> Lexer<'source, Self> ⓘ
 
fn lexer_with_extras( source: &'source Self::Source, extras: Self::Extras, ) -> Lexer<'source, Self> ⓘ
Create a new instance of a 
Lexer with the provided Extras that will
produce tokens implementing this Logos.impl Copy for Token
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 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,
§impl<Q, K> Equivalent<K> for Q
 
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
 
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
 
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
 
fn equivalent(&self, key: &K) -> bool
Compare self to 
key and return true if they are equal.§impl<T> Instrument for T
 
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
 
fn instrument(self, span: Span) -> 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