diff options
Diffstat (limited to 'src/syntax')
| -rw-r--r-- | src/syntax/ast.rs | 7 | ||||
| -rw-r--r-- | src/syntax/lexer.rs | 8 |
2 files changed, 10 insertions, 5 deletions
diff --git a/src/syntax/ast.rs b/src/syntax/ast.rs index 1cc29b04..e844f622 100644 --- a/src/syntax/ast.rs +++ b/src/syntax/ast.rs @@ -426,11 +426,14 @@ node! { impl Shorthand { /// A list of all shorthands. pub const LIST: &[(&'static str, char)] = &[ + // Text only. ("~", '\u{00A0}'), ("--", '\u{2013}'), ("---", '\u{2014}'), ("-?", '\u{00AD}'), - ("...", '…'), + // Math only. + ("-", '\u{2212}'), + ("'", '′'), ("*", '∗'), ("!=", '≠'), ("<<", '≪'), @@ -450,6 +453,8 @@ impl Shorthand { ("[|", '⟦'), ("|]", '⟧'), ("||", '‖'), + // Both. + ("...", '…'), ]; /// Get the shorthanded character. diff --git a/src/syntax/lexer.rs b/src/syntax/lexer.rs index 471e437a..0bf7966f 100644 --- a/src/syntax/lexer.rs +++ b/src/syntax/lexer.rs @@ -380,17 +380,16 @@ impl Lexer<'_> { '\\' => self.backslash(), '"' => self.string(), - '*' => SyntaxKind::Shorthand, '.' if self.s.eat_if("..") => SyntaxKind::Shorthand, '|' if self.s.eat_if("->") => SyntaxKind::Shorthand, '|' if self.s.eat_if("=>") => SyntaxKind::Shorthand, - '!' if self.s.eat_if('=') => SyntaxKind::Shorthand, '<' if self.s.eat_if("<<") => SyntaxKind::Shorthand, - '<' if self.s.eat_if('<') => SyntaxKind::Shorthand, '>' if self.s.eat_if(">>") => SyntaxKind::Shorthand, - '>' if self.s.eat_if('>') => SyntaxKind::Shorthand, '<' if self.s.eat_if("=>") => SyntaxKind::Shorthand, '<' if self.s.eat_if("->") => SyntaxKind::Shorthand, + '!' if self.s.eat_if('=') => SyntaxKind::Shorthand, + '<' if self.s.eat_if('<') => SyntaxKind::Shorthand, + '>' if self.s.eat_if('>') => SyntaxKind::Shorthand, '<' if self.s.eat_if('=') => SyntaxKind::Shorthand, '>' if self.s.eat_if('=') => SyntaxKind::Shorthand, '<' if self.s.eat_if('-') => SyntaxKind::Shorthand, @@ -400,6 +399,7 @@ impl Lexer<'_> { '[' if self.s.eat_if('|') => SyntaxKind::Shorthand, '|' if self.s.eat_if(']') => SyntaxKind::Shorthand, '|' if self.s.eat_if('|') => SyntaxKind::Shorthand, + '*' | '\'' | '-' => SyntaxKind::Shorthand, '#' => SyntaxKind::Hashtag, '_' => SyntaxKind::Underscore, |
