[][src]Enum cssparser::Token

pub enum Token<'a> {
    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,
}

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>)

A <at-keyword-token>

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>)

A <string-token>

The value does not include the quotes.

UnquotedUrl(CowRcStr<'a>)

A <url-token>

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 of Number

has_sign: bool

Whether the number had a + or - sign.

This is used is some cases like the <An+B> micro syntax. (See the parse_nth function.)

value: f32

The value as a float

int_value: Option<i32>

If the origin source did not include a fractional part, the value as an integer.

Percentage

Fields of Percentage

has_sign: bool

Whether the number had a + or - sign.

unit_value: f32

The value as a float, divided by 100 so that the nominal range is 0.0 to 1.0.

int_value: Option<i32>

If the origin source did not include a fractional part, the value as an integer. It is not divided by 100.

Dimension

Fields of Dimension

has_sign: bool

Whether the number had a + or - sign.

This is used is some cases like the <An+B> micro syntax. (See the parse_nth function.)

value: f32

The value as a float

int_value: Option<i32>

If the origin source did not include a fractional part, the value as an integer.

unit: CowRcStr<'a>

The unit, e.g. "px" in 12px

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>

IncludeMatchDashMatchPrefixMatchSuffixMatchSubstringMatchCDO

A <!-- <CDO-token>

CDCFunction(CowRcStr<'a>)

A <function-token>

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.

Methods

impl<'a> Token<'a>[src]

pub fn is_parse_error(&self) -> bool[src]

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.

impl<'a> Token<'a>[src]

pub fn serialization_type(&self) -> TokenSerializationType[src]

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.

Trait Implementations

impl<'a> ToCss for Token<'a>[src]

fn to_css_string(&self) -> String[src]

Serialize self in CSS syntax and return a string. Read more

impl<'a> Clone for Token<'a>[src]

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl<'a> PartialEq<Token<'a>> for Token<'a>[src]

impl<'a> Debug for Token<'a>[src]

Auto Trait Implementations

impl<'a> Unpin for Token<'a>

impl<'a> !Send for Token<'a>

impl<'a> !Sync for Token<'a>

impl<'a> !RefUnwindSafe for Token<'a>

impl<'a> UnwindSafe for Token<'a>

Blanket Implementations

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]