130 references to SemanticTokensHelpers
Microsoft.CodeAnalysis.EditorFeatures (1)
LanguageServer\AlwaysActivateInProcLanguageClient.cs (1)
130
TokenTypes =
SemanticTokensHelpers
.AllTokenTypes.ToArray(),
Microsoft.CodeAnalysis.ExternalAccess.Razor (1)
RazorSemanticTokensAccessor.cs (1)
17
public static ImmutableArray<string> RoslynTokenTypes =>
SemanticTokensHelpers
.AllTokenTypes;
Microsoft.CodeAnalysis.LanguageServer.Protocol (3)
DefaultCapabilitiesProvider.cs (1)
96
TokenTypes = SemanticTokenTypes.AllTypes.Concat(
SemanticTokensHelpers
.RoslynCustomTokenTypes).ToArray(),
Handler\SemanticTokens\SemanticTokensRangeHandler.cs (2)
58
var tokensData = await
SemanticTokensHelpers
.ComputeSemanticTokensDataAsync(
60
SemanticTokensHelpers
.TokenTypeToIndex,
Microsoft.CodeAnalysis.LanguageServer.Protocol.UnitTests (122)
SemanticTokens\AbstractSemanticTokensTests.cs (2)
91
var kind =
SemanticTokensHelpers
.TokenTypeToIndex.Where(kvp => kvp.Value == tokens[i + 3]).Single().Key;
110
var kind =
SemanticTokensHelpers
.TokenTypeToIndex.Single(kvp => kvp.Value == data[i + 3]).Key;
SemanticTokens\SemanticTokensRangeTests.cs (120)
64
var results = await
SemanticTokensHelpers
.ComputeSemanticTokensDataAsync(
65
document,
SemanticTokensHelpers
.TokenTypeToIndex, range, options, includeSyntacticClassifications: true, CancellationToken.None);
72
0, 0, 10,
SemanticTokensHelpers
.TokenTypeToIndex[LSP.SemanticTokenTypes.Comment], 0, // '// Comment'
73
1, 0, 6,
SemanticTokensHelpers
.TokenTypeToIndex[LSP.SemanticTokenTypes.Keyword], 0, // 'static'
74
0, 7, 5,
SemanticTokensHelpers
.TokenTypeToIndex[LSP.SemanticTokenTypes.Keyword], 0, // 'class'
75
0, 6, 1,
SemanticTokensHelpers
.TokenTypeToIndex[ClassificationTypeNames.ClassName], (int)TokenModifiers.Static, // 'C'
76
0, 2, 1,
SemanticTokensHelpers
.TokenTypeToIndex[ClassificationTypeNames.Punctuation], 0, // '{'
77
0, 2, 1,
SemanticTokensHelpers
.TokenTypeToIndex[ClassificationTypeNames.Punctuation], 0, // '}'
98
var results = await
SemanticTokensHelpers
.ComputeSemanticTokensDataAsync(
99
document,
SemanticTokensHelpers
.TokenTypeToIndex, range, options, includeSyntacticClassifications: true, CancellationToken.None);
106
1, 0, 6,
SemanticTokensHelpers
.TokenTypeToIndex[LSP.SemanticTokenTypes.Keyword], 0, // 'static'
107
0, 7, 5,
SemanticTokensHelpers
.TokenTypeToIndex[LSP.SemanticTokenTypes.Keyword], 0, // 'class'
108
0, 6, 1,
SemanticTokensHelpers
.TokenTypeToIndex[ClassificationTypeNames.ClassName], (int)TokenModifiers.Static, // 'C'
109
0, 2, 1,
SemanticTokensHelpers
.TokenTypeToIndex[ClassificationTypeNames.Punctuation], 0, // '{'
110
0, 2, 1,
SemanticTokensHelpers
.TokenTypeToIndex[ClassificationTypeNames.Punctuation], 0, // '}'
133
var results = await
SemanticTokensHelpers
.ComputeSemanticTokensDataAsync(
134
document,
SemanticTokensHelpers
.TokenTypeToIndex, range, options, includeSyntacticClassifications: true, CancellationToken.None);
141
0, 0, 5,
SemanticTokensHelpers
.TokenTypeToIndex[LSP.SemanticTokenTypes.Keyword], 0, // 'class'
142
0, 6, 1,
SemanticTokensHelpers
.TokenTypeToIndex[ClassificationTypeNames.ClassName], 0, // 'C'
143
0, 2, 1,
SemanticTokensHelpers
.TokenTypeToIndex[ClassificationTypeNames.Punctuation], 0, // '{'
144
0, 2, 6,
SemanticTokensHelpers
.TokenTypeToIndex[LSP.SemanticTokenTypes.Comment], 0, // '/* one'
145
2, 0, 3,
SemanticTokensHelpers
.TokenTypeToIndex[LSP.SemanticTokenTypes.Comment], 0, // 'two'
146
1, 0, 8,
SemanticTokensHelpers
.TokenTypeToIndex[LSP.SemanticTokenTypes.Comment], 0, // 'three */'
147
0, 9, 1,
SemanticTokensHelpers
.TokenTypeToIndex[ClassificationTypeNames.Punctuation], 0, // '}'
179
4, 8, 3,
SemanticTokensHelpers
.TokenTypeToIndex[ClassificationTypeNames.Keyword], 0, // 'var'
180
1, 4, 2,
SemanticTokensHelpers
.TokenTypeToIndex[ClassificationTypeNames.StringEscapeCharacter], 0, // '""'
208
var results = await
SemanticTokensHelpers
.ComputeSemanticTokensDataAsync(
209
document,
SemanticTokensHelpers
.TokenTypeToIndex, range, options, includeSyntacticClassifications: true, CancellationToken.None);
216
0, 0, 5,
SemanticTokensHelpers
.TokenTypeToIndex[LSP.SemanticTokenTypes.Keyword], 0, // 'class'
217
0, 6, 1,
SemanticTokensHelpers
.TokenTypeToIndex[ClassificationTypeNames.ClassName], 0, // 'C'
218
1, 0, 1,
SemanticTokensHelpers
.TokenTypeToIndex[ClassificationTypeNames.Punctuation], 0, // '{'
219
1, 4, 4,
SemanticTokensHelpers
.TokenTypeToIndex[LSP.SemanticTokenTypes.Keyword], 0, // 'void'
220
0, 5, 1,
SemanticTokensHelpers
.TokenTypeToIndex[ClassificationTypeNames.MethodName], 0, // 'M'
221
0, 1, 1,
SemanticTokensHelpers
.TokenTypeToIndex[ClassificationTypeNames.Punctuation], 0, // '('
222
0, 1, 1,
SemanticTokensHelpers
.TokenTypeToIndex[ClassificationTypeNames.Punctuation], 0, // ')'
223
1, 4, 1,
SemanticTokensHelpers
.TokenTypeToIndex[ClassificationTypeNames.Punctuation], 0, // '{'
224
1, 8, 3,
SemanticTokensHelpers
.TokenTypeToIndex[ClassificationTypeNames.Keyword], 0, // 'var'
225
0, 4, 1,
SemanticTokensHelpers
.TokenTypeToIndex[ClassificationTypeNames.LocalName], 0, // 'x'
226
0, 2, 1,
SemanticTokensHelpers
.TokenTypeToIndex[LSP.SemanticTokenTypes.Operator], 0, // '='
227
0, 2, 5,
SemanticTokensHelpers
.TokenTypeToIndex[ClassificationTypeNames.VerbatimStringLiteral], 0, // '@"one'
228
1, 0, 4,
SemanticTokensHelpers
.TokenTypeToIndex[ClassificationTypeNames.VerbatimStringLiteral], 0, // 'two '
229
0, 4, 2,
SemanticTokensHelpers
.TokenTypeToIndex[ClassificationTypeNames.StringEscapeCharacter], 0, // '""'
230
1, 0, 6,
SemanticTokensHelpers
.TokenTypeToIndex[ClassificationTypeNames.VerbatimStringLiteral], 0, // 'three"'
231
0, 6, 1,
SemanticTokensHelpers
.TokenTypeToIndex[ClassificationTypeNames.Punctuation], 0, // ';'
232
1, 4, 1,
SemanticTokensHelpers
.TokenTypeToIndex[ClassificationTypeNames.Punctuation], 0, // '}'
233
1, 0, 1,
SemanticTokensHelpers
.TokenTypeToIndex[ClassificationTypeNames.Punctuation], 0, // '}'
261
var results = await
SemanticTokensHelpers
.ComputeSemanticTokensDataAsync(
262
document,
SemanticTokensHelpers
.TokenTypeToIndex, range, options, includeSyntacticClassifications: true, CancellationToken.None);
269
0, 0, 5,
SemanticTokensHelpers
.TokenTypeToIndex[LSP.SemanticTokenTypes.Keyword], 0, // 'using'
270
0, 6, 6,
SemanticTokensHelpers
.TokenTypeToIndex[ClassificationTypeNames.NamespaceName], 0, // 'System'
271
0, 6, 1,
SemanticTokensHelpers
.TokenTypeToIndex[LSP.SemanticTokenTypes.Operator], 0, // '.'
272
0, 1, 4,
SemanticTokensHelpers
.TokenTypeToIndex[ClassificationTypeNames.NamespaceName], 0, // 'Text'
273
0, 4, 1,
SemanticTokensHelpers
.TokenTypeToIndex[LSP.SemanticTokenTypes.Operator], 0, // '.'
274
0, 1, 18,
SemanticTokensHelpers
.TokenTypeToIndex[ClassificationTypeNames.NamespaceName], 0, // 'RegularExpressions'
275
0, 18, 1,
SemanticTokensHelpers
.TokenTypeToIndex[ClassificationTypeNames.Punctuation], 0, // ';'
276
2, 0, 5,
SemanticTokensHelpers
.TokenTypeToIndex[LSP.SemanticTokenTypes.Keyword], 0, // 'class'
277
0, 6, 1,
SemanticTokensHelpers
.TokenTypeToIndex[ClassificationTypeNames.ClassName], 0, // 'C'
278
1, 0, 1,
SemanticTokensHelpers
.TokenTypeToIndex[ClassificationTypeNames.Punctuation], 0, // '{'
279
1, 1, 4,
SemanticTokensHelpers
.TokenTypeToIndex[LSP.SemanticTokenTypes.Keyword], 0, // 'void'
280
0, 5, 1,
SemanticTokensHelpers
.TokenTypeToIndex[ClassificationTypeNames.MethodName], 0, // 'M'
281
0, 1, 1,
SemanticTokensHelpers
.TokenTypeToIndex[ClassificationTypeNames.Punctuation], 0, // '('
282
0, 1, 1,
SemanticTokensHelpers
.TokenTypeToIndex[ClassificationTypeNames.Punctuation], 0, // ')'
283
1, 1, 1,
SemanticTokensHelpers
.TokenTypeToIndex[ClassificationTypeNames.Punctuation], 0, // '{'
284
1, 2, 3,
SemanticTokensHelpers
.TokenTypeToIndex[ClassificationTypeNames.Keyword], 0, // 'var'
285
0, 4, 1,
SemanticTokensHelpers
.TokenTypeToIndex[ClassificationTypeNames.LocalName], 0, // 'x'
286
0, 2, 1,
SemanticTokensHelpers
.TokenTypeToIndex[LSP.SemanticTokenTypes.Operator], 0, // '='
287
0, 2, 3,
SemanticTokensHelpers
.TokenTypeToIndex[LSP.SemanticTokenTypes.Keyword], 0, // 'new'
288
0, 4, 5,
SemanticTokensHelpers
.TokenTypeToIndex[ClassificationTypeNames.ClassName], 0, // 'Regex'
289
0, 5, 1,
SemanticTokensHelpers
.TokenTypeToIndex[ClassificationTypeNames.Punctuation], 0, // '('
290
0, 1, 1,
SemanticTokensHelpers
.TokenTypeToIndex[LSP.SemanticTokenTypes.String], 0, // '"'
291
0, 1, 1,
SemanticTokensHelpers
.TokenTypeToIndex[ClassificationTypeNames.RegexGrouping], 0, // '('
292
0, 1, 3,
SemanticTokensHelpers
.TokenTypeToIndex[ClassificationTypeNames.RegexText], 0, // 'abc'
293
0, 3, 1,
SemanticTokensHelpers
.TokenTypeToIndex[ClassificationTypeNames.RegexGrouping], 0, // ')'
294
0, 1, 1,
SemanticTokensHelpers
.TokenTypeToIndex[ClassificationTypeNames.RegexQuantifier], 0, // '*'
295
0, 1, 1,
SemanticTokensHelpers
.TokenTypeToIndex[LSP.SemanticTokenTypes.String], 0, // '"'
296
0, 1, 1,
SemanticTokensHelpers
.TokenTypeToIndex[ClassificationTypeNames.Punctuation], 0, // ')'
297
0, 1, 1,
SemanticTokensHelpers
.TokenTypeToIndex[ClassificationTypeNames.Punctuation], 0, // ';'
298
1, 4, 1,
SemanticTokensHelpers
.TokenTypeToIndex[ClassificationTypeNames.Punctuation], 0, // }
299
1, 0, 1,
SemanticTokensHelpers
.TokenTypeToIndex[ClassificationTypeNames.Punctuation], 0, // }
328
var results = await
SemanticTokensHelpers
.ComputeSemanticTokensDataAsync(
329
document,
SemanticTokensHelpers
.TokenTypeToIndex, range: null, options, includeSyntacticClassifications: true, CancellationToken.None);
336
0, 0, 5,
SemanticTokensHelpers
.TokenTypeToIndex[LSP.SemanticTokenTypes.Keyword], 0, // 'using'
337
0, 6, 6,
SemanticTokensHelpers
.TokenTypeToIndex[ClassificationTypeNames.NamespaceName], 0, // 'System'
338
0, 6, 1,
SemanticTokensHelpers
.TokenTypeToIndex[LSP.SemanticTokenTypes.Operator], 0, // '.'
339
0, 1, 4,
SemanticTokensHelpers
.TokenTypeToIndex[ClassificationTypeNames.NamespaceName], 0, // 'Text'
340
0, 4, 1,
SemanticTokensHelpers
.TokenTypeToIndex[LSP.SemanticTokenTypes.Operator], 0, // '.'
341
0, 1, 18,
SemanticTokensHelpers
.TokenTypeToIndex[ClassificationTypeNames.NamespaceName], 0, // 'RegularExpressions'
342
0, 18, 1,
SemanticTokensHelpers
.TokenTypeToIndex[ClassificationTypeNames.Punctuation], 0, // ';'
343
2, 0, 5,
SemanticTokensHelpers
.TokenTypeToIndex[LSP.SemanticTokenTypes.Keyword], 0, // 'class'
344
0, 6, 1,
SemanticTokensHelpers
.TokenTypeToIndex[ClassificationTypeNames.ClassName], 0, // 'C'
345
1, 0, 1,
SemanticTokensHelpers
.TokenTypeToIndex[ClassificationTypeNames.Punctuation], 0, // '{'
346
1, 1, 4,
SemanticTokensHelpers
.TokenTypeToIndex[LSP.SemanticTokenTypes.Keyword], 0, // 'void'
347
0, 5, 1,
SemanticTokensHelpers
.TokenTypeToIndex[ClassificationTypeNames.MethodName], 0, // 'M'
348
0, 1, 1,
SemanticTokensHelpers
.TokenTypeToIndex[ClassificationTypeNames.Punctuation], 0, // '('
349
0, 1, 1,
SemanticTokensHelpers
.TokenTypeToIndex[ClassificationTypeNames.Punctuation], 0, // ')'
350
1, 1, 1,
SemanticTokensHelpers
.TokenTypeToIndex[ClassificationTypeNames.Punctuation], 0, // '{'
351
1, 2, 3,
SemanticTokensHelpers
.TokenTypeToIndex[ClassificationTypeNames.Keyword], 0, // 'var'
352
0, 4, 1,
SemanticTokensHelpers
.TokenTypeToIndex[ClassificationTypeNames.LocalName], 0, // 'x'
353
0, 2, 1,
SemanticTokensHelpers
.TokenTypeToIndex[LSP.SemanticTokenTypes.Operator], 0, // '='
354
0, 2, 3,
SemanticTokensHelpers
.TokenTypeToIndex[LSP.SemanticTokenTypes.Keyword], 0, // 'new'
355
0, 4, 5,
SemanticTokensHelpers
.TokenTypeToIndex[ClassificationTypeNames.ClassName], 0, // 'Regex'
356
0, 5, 1,
SemanticTokensHelpers
.TokenTypeToIndex[ClassificationTypeNames.Punctuation], 0, // '('
357
0, 1, 2,
SemanticTokensHelpers
.TokenTypeToIndex[ClassificationTypeNames.VerbatimStringLiteral], 0, // '@"'
358
0, 2, 1,
SemanticTokensHelpers
.TokenTypeToIndex[ClassificationTypeNames.RegexGrouping], 0, // '('
359
0, 1, 3,
SemanticTokensHelpers
.TokenTypeToIndex[ClassificationTypeNames.RegexText], 0, // 'abc'
360
0, 3, 1,
SemanticTokensHelpers
.TokenTypeToIndex[ClassificationTypeNames.RegexGrouping], 0, // ')'
361
0, 1, 1,
SemanticTokensHelpers
.TokenTypeToIndex[ClassificationTypeNames.RegexQuantifier], 0, // '*'
362
0, 1, 1,
SemanticTokensHelpers
.TokenTypeToIndex[ClassificationTypeNames.VerbatimStringLiteral], 0, // ' '
363
0, 1, 9,
SemanticTokensHelpers
.TokenTypeToIndex[ClassificationTypeNames.RegexComment], 0, // '#comment'
364
1, 0, 27,
SemanticTokensHelpers
.TokenTypeToIndex[ClassificationTypeNames.VerbatimStringLiteral], 0, // '"'
365
0, 27, 1,
SemanticTokensHelpers
.TokenTypeToIndex[ClassificationTypeNames.Punctuation], 0, // ','
366
0, 2, 12,
SemanticTokensHelpers
.TokenTypeToIndex[ClassificationTypeNames.EnumName], 0, // 'RegexOptions'
367
0, 12, 1,
SemanticTokensHelpers
.TokenTypeToIndex[LSP.SemanticTokenTypes.Operator], 0, // '.'
368
0, 1, 23,
SemanticTokensHelpers
.TokenTypeToIndex[ClassificationTypeNames.EnumMemberName], 0, // 'IgnorePatternWhitespace'
369
0, 23, 1,
SemanticTokensHelpers
.TokenTypeToIndex[ClassificationTypeNames.Punctuation], 0, // ')'
370
0, 1, 1,
SemanticTokensHelpers
.TokenTypeToIndex[ClassificationTypeNames.Punctuation], 0, // ';'
371
1, 4, 1,
SemanticTokensHelpers
.TokenTypeToIndex[ClassificationTypeNames.Punctuation], 0, // }
372
1, 0, 1,
SemanticTokensHelpers
.TokenTypeToIndex[ClassificationTypeNames.Punctuation], 0, // }
382
=> Assert.True(
SemanticTokensHelpers
.RoslynCustomTokenTypes.Contains(fieldName), $"Missing token type {fieldName}.");
385
type => !
SemanticTokensHelpers
.ClassificationTypeToSemanticTokenTypeMap.ContainsKey(type) &&
Microsoft.CodeAnalysis.LanguageServerIndexFormat.Generator (3)
Generator.cs (3)
94
new SemanticTokensCapabilities(
SemanticTokensHelpers
.AllTokenTypes, new[] { SemanticTokenModifiers.Static }));
444
var data = await
SemanticTokensHelpers
.ComputeSemanticTokensDataAsync(
446
SemanticTokensHelpers
.TokenTypeToIndex,