diff options
Diffstat (limited to 'src/syntax/token.rs')
| -rw-r--r-- | src/syntax/token.rs | 47 |
1 files changed, 24 insertions, 23 deletions
diff --git a/src/syntax/token.rs b/src/syntax/token.rs index 432b4dc5..43797f75 100644 --- a/src/syntax/token.rs +++ b/src/syntax/token.rs @@ -1,3 +1,4 @@ +use crate::color::RgbaColor; use crate::geom::{AngularUnit, LengthUnit}; /// A minimal semantic entity of source code. @@ -71,26 +72,26 @@ pub enum Token<'s> { And, /// The `or` operator. Or, - /// The `let` / `#let` keyword. + /// The none literal: `none`. + None, + /// The `#let` keyword. Let, - /// The `if` / `#if` keyword. + /// The `#if` keyword. If, - /// The `else` / `#else` keyword. + /// The `#else` keyword. Else, - /// The `for` / `#for` keyword. + /// The `#for` keyword. For, - /// The `in` / `#in` keyword. + /// The `#in` keyword. In, - /// The `while` / `#while` keyword. + /// The `#while` keyword. While, - /// The `break` / `#break` keyword. + /// The `#break` keyword. Break, - /// The `continue` / `#continue` keyword. + /// The `#continue` keyword. Continue, - /// The `return` / `#return` keyword. + /// The `#return` keyword. Return, - /// The none literal: `none`. - None, /// One or more whitespace characters. /// /// The contained `usize` denotes the number of newlines that were contained @@ -124,8 +125,8 @@ pub enum Token<'s> { /// _Note_: `50%` is stored as `50.0` here, as in the corresponding /// [literal](super::Expr::Percent). Percent(f64), - /// A hex value: `#20d82a`. - Hex(&'s str), + /// A color value: `#20d82a`. + Color(RgbaColor), /// A quoted string: `"..."`. Str(TokenStr<'s>), /// Two slashes followed by inner contents, terminated with a newline: @@ -223,16 +224,16 @@ impl<'s> Token<'s> { Self::Not => "operator `not`", Self::And => "operator `and`", Self::Or => "operator `or`", - Self::Let => "keyword `let`", - Self::If => "keyword `if`", - Self::Else => "keyword `else`", - Self::For => "keyword `for`", - Self::In => "keyword `in`", - Self::While => "keyword `while`", - Self::Break => "keyword `break`", - Self::Continue => "keyword `continue`", - Self::Return => "keyword `return`", Self::None => "`none`", + Self::Let => "keyword `#let`", + Self::If => "keyword `#if`", + Self::Else => "keyword `#else`", + Self::For => "keyword `#for`", + Self::In => "keyword `#in`", + Self::While => "keyword `#while`", + Self::Break => "keyword `#break`", + Self::Continue => "keyword `#continue`", + Self::Return => "keyword `#return`", Self::Space(_) => "space", Self::Text(_) => "text", Self::Raw(_) => "raw block", @@ -245,7 +246,7 @@ impl<'s> Token<'s> { Self::Length(..) => "length", Self::Angle(..) => "angle", Self::Percent(_) => "percentage", - Self::Hex(_) => "hex value", + Self::Color(_) => "color", Self::Str(_) => "string", Self::LineComment(_) => "line comment", Self::BlockComment(_) => "block comment", |
