summaryrefslogtreecommitdiff
path: root/src/syntax/tokens.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/syntax/tokens.rs')
-rw-r--r--src/syntax/tokens.rs12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/syntax/tokens.rs b/src/syntax/tokens.rs
index 57188096..ff6a1a96 100644
--- a/src/syntax/tokens.rs
+++ b/src/syntax/tokens.rs
@@ -439,6 +439,18 @@ impl Tokens<'_> {
impl Tokens<'_> {
fn math(&mut self, start: usize, c: char) -> SyntaxKind {
match c {
+ // Symbol shorthands.
+ '|' if self.s.eat_if("->") => SyntaxKind::Shorthand('\u{21A6}'),
+ '<' if self.s.eat_if("->") => SyntaxKind::Shorthand('\u{2194}'),
+ '<' if self.s.eat_if("=>") => SyntaxKind::Shorthand('\u{21D4}'),
+ '!' if self.s.eat_if('=') => SyntaxKind::Shorthand('\u{2260}'),
+ '<' if self.s.eat_if('=') => SyntaxKind::Shorthand('\u{2264}'),
+ '>' if self.s.eat_if('=') => SyntaxKind::Shorthand('\u{2265}'),
+ '<' if self.s.eat_if('-') => SyntaxKind::Shorthand('\u{2190}'),
+ '-' if self.s.eat_if('>') => SyntaxKind::Shorthand('\u{2192}'),
+ '=' if self.s.eat_if('>') => SyntaxKind::Shorthand('\u{21D2}'),
+ ':' if self.s.eat_if('=') => SyntaxKind::Shorthand('\u{2254}'),
+
// Multi-char things.
'#' => self.hash(start),