From aaa48403cdd3d8499584eeca4103865d6425ac1b Mon Sep 17 00:00:00 2001 From: Laurenz Date: Tue, 26 Jan 2021 21:11:44 +0100 Subject: =?UTF-8?q?Require=20hashtag=20for=20all=20keywords=20=F0=9F=92=82?= =?UTF-8?q?=E2=80=8D=E2=99=80=EF=B8=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/syntax/token.rs | 47 ++++++++++++++++++++++++----------------------- 1 file changed, 24 insertions(+), 23 deletions(-) (limited to 'src/syntax') 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", -- cgit v1.2.3