pub enum Token<'a> {
Show 16 variants
UniversalSelector,
TypeSelector(&'a str),
IdSelector(&'a str),
ClassSelector(&'a str),
AttributeSelector(&'a str),
PseudoClass {
selector: &'a str,
value: Option<&'a str>,
},
Combinator(Combinator),
Comma,
BlockStart,
BlockEnd,
Declaration(&'a str, &'a str),
AtRule(&'a str),
DeclarationStr(&'a str),
AtStr(&'a str),
DoublePseudoClass {
selector: &'a str,
value: Option<&'a str>,
},
EndOfStream,
}Expand description
CSS token.
Variants§
UniversalSelector
Universal selector
https://www.w3.org/TR/CSS21/selector.html#universal-selector
TypeSelector(&'a str)
Type selector
https://www.w3.org/TR/CSS21/selector.html#type-selectors
IdSelector(&'a str)
ID selector
Value contains ident without #.
https://www.w3.org/TR/CSS21/selector.html#id-selectors
ClassSelector(&'a str)
Class selector
Value contains ident without ..
https://www.w3.org/TR/CSS21/selector.html#class-html
AttributeSelector(&'a str)
Attribute selector
We do not parse it’s content yet, so value contains everything between [].
https://www.w3.org/TR/CSS21/selector.html#attribute-selectors
PseudoClass
Pseudo-class
Value contains ident without :.
Selector: "nth-child", value: The thing between the braces - Some("3")
https://www.w3.org/TR/CSS21/selector.html#pseudo-class-selectors
Combinator(Combinator)
Combinator
Comma
Rules separator
https://www.w3.org/TR/CSS21/selector.html#grouping
BlockStart
Block start
Indicates {.
https://www.w3.org/TR/CSS21/syndata.html#rule-sets
BlockEnd
Block end
Indicates }.
https://www.w3.org/TR/CSS21/syndata.html#rule-sets
Declaration(&'a str, &'a str)
Declaration
Contains property name and property value.
https://www.w3.org/TR/CSS21/syndata.html#declaration
AtRule(&'a str)
@ rule (excluding the @ sign itself). The content is not parsed,
for example @keyframes mymove = AtRule("keyframes"), AtStr("mymove").
DeclarationStr(&'a str)
Raw Str inside of block
AtStr(&'a str)
String following an @rule
DoublePseudoClass
Same as PseudoClass, but with two colons (::thing).
EndOfStream
End of stream
Parsing is finished.