diff options
Diffstat (limited to 'crates/ra_mbe/src/subtree_source.rs')
-rw-r--r-- | crates/ra_mbe/src/subtree_source.rs | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/crates/ra_mbe/src/subtree_source.rs b/crates/ra_mbe/src/subtree_source.rs index 46791efaa..d7866452d 100644 --- a/crates/ra_mbe/src/subtree_source.rs +++ b/crates/ra_mbe/src/subtree_source.rs | |||
@@ -158,20 +158,17 @@ fn convert_literal(l: &tt::Literal) -> TtToken { | |||
158 | let kind = lex_single_syntax_kind(&l.text) | 158 | let kind = lex_single_syntax_kind(&l.text) |
159 | .map(|(kind, _error)| kind) | 159 | .map(|(kind, _error)| kind) |
160 | .filter(|kind| kind.is_literal()) | 160 | .filter(|kind| kind.is_literal()) |
161 | .unwrap_or_else(|| match l.text.as_ref() { | 161 | .unwrap_or_else(|| panic!("Fail to convert given literal {:#?}", &l)); |
162 | "true" => T![true], | ||
163 | "false" => T![false], | ||
164 | _ => panic!("Fail to convert given literal {:#?}", &l), | ||
165 | }); | ||
166 | 162 | ||
167 | TtToken { kind, is_joint_to_next: false, text: l.text.clone() } | 163 | TtToken { kind, is_joint_to_next: false, text: l.text.clone() } |
168 | } | 164 | } |
169 | 165 | ||
170 | fn convert_ident(ident: &tt::Ident) -> TtToken { | 166 | fn convert_ident(ident: &tt::Ident) -> TtToken { |
171 | let kind = if ident.text.starts_with('\'') { | 167 | let kind = match ident.text.as_ref() { |
172 | LIFETIME | 168 | "true" => T![true], |
173 | } else { | 169 | "false" => T![false], |
174 | SyntaxKind::from_keyword(ident.text.as_str()).unwrap_or(IDENT) | 170 | i if i.starts_with('\'') => LIFETIME, |
171 | _ => SyntaxKind::from_keyword(ident.text.as_str()).unwrap_or(IDENT), | ||
175 | }; | 172 | }; |
176 | 173 | ||
177 | TtToken { kind, is_joint_to_next: false, text: ident.text.clone() } | 174 | TtToken { kind, is_joint_to_next: false, text: ident.text.clone() } |