pub enum Token<'a> {
Show 31 variants
    Ident(CowRcStr<'a>),
    AtKeyword(CowRcStr<'a>),
    Hash(CowRcStr<'a>),
    IDHash(CowRcStr<'a>),
    QuotedString(CowRcStr<'a>),
    UnquotedUrl(CowRcStr<'a>),
    Delim(char),
    Number {
        has_sign: bool,
        value: f32,
        int_value: Option<i32>,
    },
    Percentage {
        has_sign: bool,
        unit_value: f32,
        int_value: Option<i32>,
    },
    Dimension {
        has_sign: bool,
        value: f32,
        int_value: Option<i32>,
        unit: CowRcStr<'a>,
    },
    WhiteSpace(&'a str),
    Comment(&'a str),
    Colon,
    Semicolon,
    Comma,
    IncludeMatch,
    DashMatch,
    PrefixMatch,
    SuffixMatch,
    SubstringMatch,
    CDO,
    CDC,
    Function(CowRcStr<'a>),
    ParenthesisBlock,
    SquareBracketBlock,
    CurlyBracketBlock,
    BadUrl(CowRcStr<'a>),
    BadString(CowRcStr<'a>),
    CloseParenthesis,
    CloseSquareBracket,
    CloseCurlyBracket,
}Expand description
One of the pieces the CSS input is broken into.
Some components use Cow in order to borrow from the original input string
and avoid allocating/copying when possible.
Variants§
Ident(CowRcStr<'a>)
AtKeyword(CowRcStr<'a>)
The value does not include the @ marker.
Hash(CowRcStr<'a>)
A <hash-token> with the type flag set to “unrestricted”
The value does not include the # marker.
IDHash(CowRcStr<'a>)
A <hash-token> with the type flag set to “id”
The value does not include the # marker.
QuotedString(CowRcStr<'a>)
The value does not include the quotes.
UnquotedUrl(CowRcStr<'a>)
The value does not include the url( ) markers.  Note that url( <string-token> ) is represented by a
Function token.
Delim(char)
A <delim-token>
Number
Fields
Percentage
Fields
Dimension
Fields
has_sign: boolWhether the number had a + or - sign.
This is used is some cases like the <An+B> micro syntax. (See the parse_nth function.)
WhiteSpace(&'a str)
Comment(&'a str)
A comment.
The CSS Syntax spec does not generate tokens for comments, But we do, because we can (borrowed &str makes it cheap).
The value does not include the /* */ markers.
Colon
A : <colon-token>
Semicolon
A ; <semicolon-token>
Comma
A , <comma-token>
IncludeMatch
DashMatch
A |= <dash-match-token>
PrefixMatch
A ^= <prefix-match-token>
SuffixMatch
A $= <suffix-match-token>
SubstringMatch
CDO
A <!-- <CDO-token>
CDC
A --> <CDC-token>
Function(CowRcStr<'a>)
The value (name) does not include the ( marker.
ParenthesisBlock
A <(-token>
SquareBracketBlock
A <[-token>
CurlyBracketBlock
A <{-token>
BadUrl(CowRcStr<'a>)
A <bad-url-token>
This token always indicates a parse error.
BadString(CowRcStr<'a>)
A <bad-string-token>
This token always indicates a parse error.
CloseParenthesis
A <)-token>
When obtained from one of the Parser::next* methods,
this token is always unmatched and indicates a parse error.
CloseSquareBracket
A <]-token>
When obtained from one of the Parser::next* methods,
this token is always unmatched and indicates a parse error.
CloseCurlyBracket
A <}-token>
When obtained from one of the Parser::next* methods,
this token is always unmatched and indicates a parse error.
Implementations§
Source§impl Token<'_>
 
impl Token<'_>
Sourcepub fn is_parse_error(&self) -> bool
 
pub fn is_parse_error(&self) -> bool
Return whether this token represents a parse error.
BadUrl and BadString are tokenizer-level parse errors.
CloseParenthesis, CloseSquareBracket, and CloseCurlyBracket are unmatched
and therefore parse errors when returned by one of the Parser::next* methods.
Source§impl Token<'_>
 
impl Token<'_>
Sourcepub fn serialization_type(&self) -> TokenSerializationType
 
pub fn serialization_type(&self) -> TokenSerializationType
Categorize a token into a type that determines when /**/ needs to be inserted
between two tokens when serialized next to each other without whitespace in between.
See the TokenSerializationType::needs_separator_when_before method.