From 84cdc85ca7494368e7ce2039fcef06ac2d3bd2ed Mon Sep 17 00:00:00 2001 From: Laurenz Date: Wed, 17 Feb 2021 23:07:28 +0100 Subject: =?UTF-8?q?Refresh=20parser=20=F0=9F=8C=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/syntax/expr.rs | 11 +++++++++++ src/syntax/token.rs | 3 --- 2 files changed, 11 insertions(+), 3 deletions(-) (limited to 'src/syntax') diff --git a/src/syntax/expr.rs b/src/syntax/expr.rs index d18d3404..5b37bb56 100644 --- a/src/syntax/expr.rs +++ b/src/syntax/expr.rs @@ -54,6 +54,17 @@ impl Expr { Self::For(v) => v.span, } } + + /// Whether the expression can be shorten in markup with a hashtag. + pub fn has_short_form(&self) -> bool { + matches!(self, + Expr::Ident(_) + | Expr::Call(_) + | Expr::Let(_) + | Expr::If(_) + | Expr::For(_) + ) + } } /// A literal. diff --git a/src/syntax/token.rs b/src/syntax/token.rs index fe429e24..e57620af 100644 --- a/src/syntax/token.rs +++ b/src/syntax/token.rs @@ -6,8 +6,6 @@ use crate::geom::{AngularUnit, LengthUnit}; pub enum Token<'s> { /// A left square bracket: `[`. LeftBracket, - /// A hashtag followed by a left square bracket: `#[`. - HashBracket, /// A right square bracket: `]`. RightBracket, /// A left curly brace: `{`. @@ -191,7 +189,6 @@ impl<'s> Token<'s> { pub fn name(self) -> &'static str { match self { Self::LeftBracket => "opening bracket", - Self::HashBracket => "start of bracket function", Self::RightBracket => "closing bracket", Self::LeftBrace => "opening brace", Self::RightBrace => "closing brace", -- cgit v1.2.3