File tree 3 files changed +352
-215
lines changed
3 files changed +352
-215
lines changed Original file line number Diff line number Diff line change @@ -262,33 +262,117 @@ pub enum SyntaxKind {
262
262
use self :: SyntaxKind :: * ;
263
263
impl SyntaxKind {
264
264
pub fn is_keyword ( self ) -> bool {
265
- match self {
266
- AS_KW | ASYNC_KW | AWAIT_KW | BOX_KW | BREAK_KW | CONST_KW | CONTINUE_KW | CRATE_KW
267
- | DYN_KW | ELSE_KW | ENUM_KW | EXTERN_KW | FALSE_KW | FN_KW | FOR_KW | IF_KW
268
- | IMPL_KW | IN_KW | LET_KW | LOOP_KW | MACRO_KW | MATCH_KW | MOD_KW | MOVE_KW
269
- | MUT_KW | PUB_KW | REF_KW | RETURN_KW | SELF_KW | SELF_TYPE_KW | STATIC_KW
270
- | STRUCT_KW | SUPER_KW | TRAIT_KW | TRUE_KW | TRY_KW | TYPE_KW | UNSAFE_KW | USE_KW
271
- | WHERE_KW | WHILE_KW | YIELD_KW | AUTO_KW | DEFAULT_KW | EXISTENTIAL_KW | UNION_KW
272
- | RAW_KW | MACRO_RULES_KW => true ,
273
- _ => false ,
274
- }
265
+ matches ! (
266
+ self ,
267
+ AS_KW
268
+ | ASYNC_KW
269
+ | AWAIT_KW
270
+ | BOX_KW
271
+ | BREAK_KW
272
+ | CONST_KW
273
+ | CONTINUE_KW
274
+ | CRATE_KW
275
+ | DYN_KW
276
+ | ELSE_KW
277
+ | ENUM_KW
278
+ | EXTERN_KW
279
+ | FALSE_KW
280
+ | FN_KW
281
+ | FOR_KW
282
+ | IF_KW
283
+ | IMPL_KW
284
+ | IN_KW
285
+ | LET_KW
286
+ | LOOP_KW
287
+ | MACRO_KW
288
+ | MATCH_KW
289
+ | MOD_KW
290
+ | MOVE_KW
291
+ | MUT_KW
292
+ | PUB_KW
293
+ | REF_KW
294
+ | RETURN_KW
295
+ | SELF_KW
296
+ | SELF_TYPE_KW
297
+ | STATIC_KW
298
+ | STRUCT_KW
299
+ | SUPER_KW
300
+ | TRAIT_KW
301
+ | TRUE_KW
302
+ | TRY_KW
303
+ | TYPE_KW
304
+ | UNSAFE_KW
305
+ | USE_KW
306
+ | WHERE_KW
307
+ | WHILE_KW
308
+ | YIELD_KW
309
+ | AUTO_KW
310
+ | DEFAULT_KW
311
+ | EXISTENTIAL_KW
312
+ | UNION_KW
313
+ | RAW_KW
314
+ | MACRO_RULES_KW
315
+ )
275
316
}
276
317
pub fn is_punct ( self ) -> bool {
277
- match self {
278
- SEMICOLON | COMMA | L_PAREN | R_PAREN | L_CURLY | R_CURLY | L_BRACK | R_BRACK
279
- | L_ANGLE | R_ANGLE | AT | POUND | TILDE | QUESTION | DOLLAR | AMP | PIPE | PLUS
280
- | STAR | SLASH | CARET | PERCENT | UNDERSCORE | DOT | DOT2 | DOT3 | DOT2EQ | COLON
281
- | COLON2 | EQ | EQ2 | FAT_ARROW | BANG | NEQ | MINUS | THIN_ARROW | LTEQ | GTEQ
282
- | PLUSEQ | MINUSEQ | PIPEEQ | AMPEQ | CARETEQ | SLASHEQ | STAREQ | PERCENTEQ | AMP2
283
- | PIPE2 | SHL | SHR | SHLEQ | SHREQ => true ,
284
- _ => false ,
285
- }
318
+ matches ! (
319
+ self ,
320
+ SEMICOLON
321
+ | COMMA
322
+ | L_PAREN
323
+ | R_PAREN
324
+ | L_CURLY
325
+ | R_CURLY
326
+ | L_BRACK
327
+ | R_BRACK
328
+ | L_ANGLE
329
+ | R_ANGLE
330
+ | AT
331
+ | POUND
332
+ | TILDE
333
+ | QUESTION
334
+ | DOLLAR
335
+ | AMP
336
+ | PIPE
337
+ | PLUS
338
+ | STAR
339
+ | SLASH
340
+ | CARET
341
+ | PERCENT
342
+ | UNDERSCORE
343
+ | DOT
344
+ | DOT2
345
+ | DOT3
346
+ | DOT2EQ
347
+ | COLON
348
+ | COLON2
349
+ | EQ
350
+ | EQ2
351
+ | FAT_ARROW
352
+ | BANG
353
+ | NEQ
354
+ | MINUS
355
+ | THIN_ARROW
356
+ | LTEQ
357
+ | GTEQ
358
+ | PLUSEQ
359
+ | MINUSEQ
360
+ | PIPEEQ
361
+ | AMPEQ
362
+ | CARETEQ
363
+ | SLASHEQ
364
+ | STAREQ
365
+ | PERCENTEQ
366
+ | AMP2
367
+ | PIPE2
368
+ | SHL
369
+ | SHR
370
+ | SHLEQ
371
+ | SHREQ
372
+ )
286
373
}
287
374
pub fn is_literal ( self ) -> bool {
288
- match self {
289
- INT_NUMBER | FLOAT_NUMBER | CHAR | BYTE | STRING | BYTE_STRING => true ,
290
- _ => false ,
291
- }
375
+ matches ! ( self , INT_NUMBER | FLOAT_NUMBER | CHAR | BYTE | STRING | BYTE_STRING )
292
376
}
293
377
pub fn from_keyword ( ident : & str ) -> Option < SyntaxKind > {
294
378
let kw = match ident {
You can’t perform that action at this time.
0 commit comments