aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_syntax/src/parsing/lexer.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/ra_syntax/src/parsing/lexer.rs')
-rw-r--r--crates/ra_syntax/src/parsing/lexer.rs25
1 files changed, 13 insertions, 12 deletions
diff --git a/crates/ra_syntax/src/parsing/lexer.rs b/crates/ra_syntax/src/parsing/lexer.rs
index a3791b503..6eb96f03d 100644
--- a/crates/ra_syntax/src/parsing/lexer.rs
+++ b/crates/ra_syntax/src/parsing/lexer.rs
@@ -7,6 +7,7 @@ mod strings;
7use crate::{ 7use crate::{
8 SyntaxKind::{self, *}, 8 SyntaxKind::{self, *},
9 TextUnit, 9 TextUnit,
10 T,
10}; 11};
11 12
12use self::{ 13use self::{
@@ -90,16 +91,16 @@ fn next_token_inner(c: char, ptr: &mut Ptr) -> SyntaxKind {
90 match c { 91 match c {
91 // Possiblily multi-byte tokens, 92 // Possiblily multi-byte tokens,
92 // but we only produce single byte token now 93 // but we only produce single byte token now
93 // DOTDOTDOT, DOTDOT, DOTDOTEQ, DOT 94 // T![...], T![..], T![..=], T![.]
94 '.' => return DOT, 95 '.' => return T![.],
95 // COLONCOLON COLON 96 // T![::] T![:]
96 ':' => return COLON, 97 ':' => return T![:],
97 // EQEQ FATARROW EQ 98 // T![==] FATARROW T![=]
98 '=' => return EQ, 99 '=' => return T![=],
99 // NEQ EXCL 100 // T![!=] T![!]
100 '!' => return EXCL, 101 '!' => return T![!],
101 // THIN_ARROW MINUS 102 // T![->] T![-]
102 '-' => return MINUS, 103 '-' => return T![-],
103 104
104 // If the character is an ident start not followed by another single 105 // If the character is an ident start not followed by another single
105 // quote, then this is a lifetime name: 106 // quote, then this is a lifetime name:
@@ -148,8 +149,8 @@ fn scan_ident(c: char, ptr: &mut Ptr) -> SyntaxKind {
148 ptr.bump(); 149 ptr.bump();
149 true 150 true
150 } 151 }
151 ('_', None) => return UNDERSCORE, 152 ('_', None) => return T![_],
152 ('_', Some(c)) if !is_ident_continue(c) => return UNDERSCORE, 153 ('_', Some(c)) if !is_ident_continue(c) => return T![_],
153 _ => false, 154 _ => false,
154 }; 155 };
155 ptr.bump_while(is_ident_continue); 156 ptr.bump_while(is_ident_continue);