@@ -307,42 +307,51 @@ impl ConvWith<&WorldSnapshot> for &'static str {
307
307
type Output = ( SemanticTokenType , Vec < SemanticTokenModifier > ) ;
308
308
309
309
fn conv_with ( self , _world : & WorldSnapshot ) -> ( SemanticTokenType , Vec < SemanticTokenModifier > ) {
310
- match self {
311
- tags:: FIELD => ( SemanticTokenType :: MEMBER , vec ! [ ] ) ,
312
- tags:: FUNCTION => ( SemanticTokenType :: FUNCTION , vec ! [ ] ) ,
313
- tags:: MODULE => ( SemanticTokenType :: NAMESPACE , vec ! [ ] ) ,
314
- tags:: CONSTANT => (
315
- SemanticTokenType :: VARIABLE ,
316
- vec ! [ SemanticTokenModifier :: STATIC , SemanticTokenModifier :: READONLY ] ,
317
- ) ,
318
- tags:: MACRO => ( SemanticTokenType :: MACRO , vec ! [ ] ) ,
310
+ let token_type: SemanticTokenType = match self {
311
+ tags:: FIELD => SemanticTokenType :: MEMBER ,
312
+ tags:: FUNCTION => SemanticTokenType :: FUNCTION ,
313
+ tags:: MODULE => SemanticTokenType :: NAMESPACE ,
314
+ tags:: CONSTANT => {
315
+ return (
316
+ SemanticTokenType :: VARIABLE ,
317
+ vec ! [ SemanticTokenModifier :: STATIC , SemanticTokenModifier :: READONLY ] ,
318
+ )
319
+ }
320
+ tags:: MACRO => SemanticTokenType :: MACRO ,
319
321
320
- tags:: VARIABLE => ( SemanticTokenType :: VARIABLE , vec ! [ SemanticTokenModifier :: READONLY ] ) ,
321
- tags:: VARIABLE_MUT => ( SemanticTokenType :: VARIABLE , vec ! [ ] ) ,
322
+ tags:: VARIABLE => {
323
+ return ( SemanticTokenType :: VARIABLE , vec ! [ SemanticTokenModifier :: READONLY ] )
324
+ }
325
+ tags:: VARIABLE_MUT => SemanticTokenType :: VARIABLE ,
322
326
323
- tags:: TYPE => ( SemanticTokenType :: TYPE , vec ! [ ] ) ,
324
- tags:: TYPE_BUILTIN => ( SemanticTokenType :: TYPE , vec ! [ ] ) ,
325
- tags:: TYPE_SELF => ( SemanticTokenType :: TYPE , vec ! [ SemanticTokenModifier :: REFERENCE ] ) ,
326
- tags:: TYPE_PARAM => ( SemanticTokenType :: TYPE_PARAMETER , vec ! [ ] ) ,
327
+ tags:: TYPE => SemanticTokenType :: TYPE ,
328
+ tags:: TYPE_BUILTIN => SemanticTokenType :: TYPE ,
329
+ tags:: TYPE_SELF => {
330
+ return ( SemanticTokenType :: TYPE , vec ! [ SemanticTokenModifier :: REFERENCE ] )
331
+ }
332
+ tags:: TYPE_PARAM => SemanticTokenType :: TYPE_PARAMETER ,
327
333
tags:: TYPE_LIFETIME => {
328
- ( SemanticTokenType :: LABEL , vec ! [ SemanticTokenModifier :: REFERENCE ] )
334
+ return ( SemanticTokenType :: LABEL , vec ! [ SemanticTokenModifier :: REFERENCE ] )
329
335
}
330
336
331
- tags:: LITERAL_BYTE => ( SemanticTokenType :: NUMBER , vec ! [ ] ) ,
332
- tags:: LITERAL_NUMERIC => ( SemanticTokenType :: NUMBER , vec ! [ ] ) ,
333
- tags:: LITERAL_CHAR => ( SemanticTokenType :: NUMBER , vec ! [ ] ) ,
337
+ tags:: LITERAL_BYTE => SemanticTokenType :: NUMBER ,
338
+ tags:: LITERAL_NUMERIC => SemanticTokenType :: NUMBER ,
339
+ tags:: LITERAL_CHAR => SemanticTokenType :: NUMBER ,
334
340
335
341
tags:: LITERAL_COMMENT => {
336
- ( SemanticTokenType :: COMMENT , vec ! [ SemanticTokenModifier :: DOCUMENTATION ] )
342
+ return ( SemanticTokenType :: COMMENT , vec ! [ SemanticTokenModifier :: DOCUMENTATION ] )
337
343
}
338
- tags:: LITERAL_STRING => ( SemanticTokenType :: STRING , vec ! [ ] ) ,
339
- tags:: LITERAL_ATTRIBUTE => ( SemanticTokenType :: KEYWORD , vec ! [ ] ) ,
340
344
341
- tags:: KEYWORD => ( SemanticTokenType :: KEYWORD , vec ! [ ] ) ,
342
- tags:: KEYWORD_UNSAFE => ( SemanticTokenType :: KEYWORD , vec ! [ ] ) ,
343
- tags:: KEYWORD_CONTROL => ( SemanticTokenType :: KEYWORD , vec ! [ ] ) ,
345
+ tags:: LITERAL_STRING => SemanticTokenType :: STRING ,
346
+ tags:: LITERAL_ATTRIBUTE => SemanticTokenType :: KEYWORD ,
347
+
348
+ tags:: KEYWORD => SemanticTokenType :: KEYWORD ,
349
+ tags:: KEYWORD_UNSAFE => SemanticTokenType :: KEYWORD ,
350
+ tags:: KEYWORD_CONTROL => SemanticTokenType :: KEYWORD ,
344
351
unknown => panic ! ( "Unknown semantic token: {}" , unknown) ,
345
- }
352
+ } ;
353
+
354
+ ( token_type, vec ! [ ] )
346
355
}
347
356
}
348
357
0 commit comments