pub enum Token<'a> {
Ident(Cow<'a, str>),
Function(Cow<'a, str>),
Url(Cow<'a, str>),
Number(f32),
String(Cow<'a, str>),
Dimension(f32, Cow<'a, str>),
Delim(char),
Hash(Cow<'a, str>),
AtKeyword(Cow<'a, str>),
Whitespace,
Comment(Cow<'a, str>),
EOF,
}Expand description
CSS token produced by the tokenizer.
This represents syntactic units only. No semantic interpretation (length, color, etc.) is performed here.
String payloads are Cows borrowing from the input where no escape
sequence was encountered, so common identifiers, units and comments avoid
heap allocation entirely.
Variants§
Ident(Cow<'a, str>)
Identifier token (e.g. div, color, --custom)
Function(Cow<'a, str>)
Function token (e.g. calc, var)
Url(Cow<'a, str>)
Unquoted url(...) token (e.g. url(data:image/png;base64,...)). The
raw inner content is captured as a single lexeme, including characters
that would otherwise be tokenized further (such as : or % in a
base64 data: URL).
Number(f32)
Plain number without unit (e.g. 0, 1.5)
String(Cow<'a, str>)
Quoted string token (e.g. "hello", 'world')
Dimension(f32, Cow<'a, str>)
Dimension token (e.g. 10px, 50%, 2em)
Percentages are also represented as a dimension
with % as the unit.
Delim(char)
Delimiter token (single-character symbols such as :, ;, >, +)
Hash(Cow<'a, str>)
Hash with String (e.g. #fff)
AtKeyword(Cow<'a, str>)
AtKeyword (e.g. @media)
Whitespace
One or more whitespace characters
Comment(Cow<'a, str>)
Comment
EOF
End-of-input marker
Trait Implementations§
Auto Trait Implementations§
impl<'a> Freeze for Token<'a>
impl<'a> RefUnwindSafe for Token<'a>
impl<'a> Send for Token<'a>
impl<'a> Sync for Token<'a>
impl<'a> Unpin for Token<'a>
impl<'a> UnsafeUnpin for Token<'a>
impl<'a> UnwindSafe for Token<'a>
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<S, T> Duplex<S> for Twhere
T: FromSample<S> + ToSample<S>,
§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
§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> ⓘ
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> ⓘ
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