Revert "Generate semantic tokens legend programmatically + re-enable semantic tokens tests (#6423)" (#6489)

This reverts commit 3a8659bfdd.
This commit is contained in:
Allison Chou 2022-06-06 14:17:19 -07:00 коммит произвёл GitHub
Родитель 5a043689dd
Коммит 6fdb6e62c5
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
43 изменённых файлов: 663 добавлений и 568 удалений

Просмотреть файл

@ -76,8 +76,8 @@
<Tooling_MicrosoftCodeAnalysisTestingVersion>1.0.1-beta1.21103.2</Tooling_MicrosoftCodeAnalysisTestingVersion>
<MicrosoftVisualStudioShellPackagesVersion>17.2.32330.158</MicrosoftVisualStudioShellPackagesVersion>
<MicrosoftVisualStudioPackagesVersion>17.3.37-preview</MicrosoftVisualStudioPackagesVersion>
<RoslynPackageVersion>4.3.0-3.22303.4</RoslynPackageVersion>
<VisualStudioLanguageServerProtocolVersion>17.3.2017</VisualStudioLanguageServerProtocolVersion>
<RoslynPackageVersion>4.3.0-2.22267.5</RoslynPackageVersion>
<VisualStudioLanguageServerProtocolVersion>17.3.15</VisualStudioLanguageServerProtocolVersion>
<MicrosoftNetCompilersToolsetVersion>4.2.0-1.final</MicrosoftNetCompilersToolsetVersion>
</PropertyGroup>
<PropertyGroup Label="Manual">

Просмотреть файл

@ -2,70 +2,177 @@
// Licensed under the MIT license. See License.txt in the project root for license information.
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using Microsoft.CodeAnalysis.ExternalAccess.Razor;
using Microsoft.VisualStudio.LanguageServer.Protocol;
namespace Microsoft.AspNetCore.Razor.LanguageServer.Semantic.Models
{
internal class RazorSemanticTokensLegend
{
private static readonly string MarkupAttributeQuoteType = "markupAttributeQuote";
private static readonly string MarkupAttributeType = "markupAttribute";
private static readonly string MarkupAttributeValueType = "markupAttributeValue";
private static readonly string MarkupCommentPunctuationType = "markupCommentPunctuation";
private static readonly string MarkupCommentType = "markupComment";
private static readonly string MarkupElementType = "markupElement";
private static readonly string MarkupOperatorType = "markupOperator";
private static readonly string MarkupTagDelimiterType = "markupTagDelimiter";
private static readonly string MarkupTextLiteralType = "markupTextLiteral";
private static readonly string RazorCommentStarType = "razorCommentStar";
private static readonly string RazorCommentTransitionType = "razorCommentTransition";
private static readonly string RazorCommentType = "razorComment";
private static readonly string RazorComponentAttributeType = "RazorComponentAttribute";
private static readonly string RazorComponentElementType = "razorComponentElement";
private static readonly string RazorComponentAttributeType = "RazorComponentAttribute";
private static readonly string RazorTagHelperElementType = "razorTagHelperElement";
private static readonly string RazorTagHelperAttributeType = "razorTagHelperAttribute";
private static readonly string RazorTransitionType = "razorTransition";
private static readonly string RazorDirectiveAttributeType = "razorDirectiveAttribute";
private static readonly string RazorDirectiveColonType = "razorDirectiveColon";
private static readonly string RazorDirectiveType = "razorDirective";
private static readonly string RazorTagHelperAttributeType = "razorTagHelperAttribute";
private static readonly string RazorTagHelperElementType = "razorTagHelperElement";
private static readonly string RazorTransitionType = "razorTransition";
private static readonly string RazorCommentType = "razorComment";
private static readonly string RazorCommentTransitionType = "razorCommentTransition";
private static readonly string RazorCommentStarType = "razorCommentStar";
public static int MarkupAttribute => TokenTypesLegend[MarkupAttributeType];
public static int MarkupAttributeQuote => TokenTypesLegend[MarkupAttributeQuoteType];
public static int MarkupAttributeValue => TokenTypesLegend[MarkupAttributeValueType];
public static int MarkupComment => TokenTypesLegend[MarkupCommentType];
public static int MarkupCommentPunctuation => TokenTypesLegend[MarkupCommentPunctuationType];
public static int MarkupElement => TokenTypesLegend[MarkupElementType];
public static int MarkupOperator => TokenTypesLegend[MarkupOperatorType];
public static int MarkupTagDelimiter => TokenTypesLegend[MarkupTagDelimiterType];
public static int MarkupTextLiteral => TokenTypesLegend[MarkupTextLiteralType];
private static readonly string MarkupTagDelimiterType = "markupTagDelimiter";
private static readonly string MarkupOperatorType = "markupOperator";
private static readonly string MarkupElementType = "markupElement";
private static readonly string MarkupAttributeType = "markupAttribute";
private static readonly string MarkupAttributeValueType = "markupAttributeValue";
private static readonly string MarkupAttributeQuoteType = "markupAttributeQuote";
private static readonly string MarkupTextLiteralType = "markupTextLiteral";
private static readonly string MarkupCommentPunctuationType = "markupCommentPunctuation";
private static readonly string MarkupCommentType = "markupComment";
public static int RazorComment => TokenTypesLegend[RazorCommentType];
public static int RazorCommentStar => TokenTypesLegend[RazorCommentStarType];
public static int RazorCommentTransition => TokenTypesLegend[RazorCommentTransitionType];
public static int RazorComponentAttribute => TokenTypesLegend[RazorComponentAttributeType];
public static int RazorCommentStar => TokenTypesLegend[RazorCommentStarType];
public static int RazorComment => TokenTypesLegend[RazorCommentType];
public static int RazorTransition => TokenTypesLegend[RazorTransitionType];
public static int RazorComponentElement => TokenTypesLegend[RazorComponentElementType];
public static int RazorDirective => TokenTypesLegend[RazorDirectiveType];
public static int RazorComponentAttribute => TokenTypesLegend[RazorComponentAttributeType];
public static int RazorTagHelperElement => TokenTypesLegend[RazorTagHelperElementType];
public static int RazorTagHelperAttribute => TokenTypesLegend[RazorTagHelperAttributeType];
public static int MarkupTagDelimiter => TokenTypesLegend[MarkupTagDelimiterType];
public static int MarkupOperator => TokenTypesLegend[MarkupOperatorType];
public static int MarkupElement => TokenTypesLegend[MarkupElementType];
public static int MarkupAttribute => TokenTypesLegend[MarkupAttributeType];
public static int MarkupAttributeValue => TokenTypesLegend[MarkupAttributeValueType];
public static int MarkupAttributeQuote => TokenTypesLegend[MarkupAttributeQuoteType];
public static int RazorDirectiveAttribute => TokenTypesLegend[RazorDirectiveAttributeType];
public static int RazorDirectiveColon => TokenTypesLegend[RazorDirectiveColonType];
public static int RazorTagHelperAttribute => TokenTypesLegend[RazorTagHelperAttributeType];
public static int RazorTagHelperElement => TokenTypesLegend[RazorTagHelperElementType];
public static int RazorTransition => TokenTypesLegend[RazorTransitionType];
public static int RazorDirective => TokenTypesLegend[RazorDirectiveType];
public static int MarkupTextLiteral => TokenTypesLegend[MarkupTextLiteralType];
public static int MarkupCommentPunctuation => TokenTypesLegend[MarkupCommentPunctuationType];
public static int MarkupComment => TokenTypesLegend[MarkupCommentType];
public static int CSharpKeyword => TokenTypesLegend["keyword"];
public static int CSharpOperator => TokenTypesLegend["operator"];
public static int CSharpPunctuation => TokenTypesLegend["punctuation"];
public static int CSharpString => TokenTypesLegend["string"];
public static int CSharpVariable => TokenTypesLegend["variable"];
public static int CSharpOperator => TokenTypesLegend["operator"];
public static int CSharpString => TokenTypesLegend["string"];
public static int CSharpPunctuation => TokenTypesLegend["punctuation"];
// C# types + Razor types
public static readonly string[] TokenTypes = RazorSemanticTokensAccessor.RoslynTokenTypes.Concat(
typeof(RazorSemanticTokensLegend).GetFields(BindingFlags.NonPublic | BindingFlags.Static).Where(
field => field.GetValue(null) is string).Select(
field => (string)field.GetValue(null))).ToArray();
public static readonly string[] TokenTypes = new string[] {
// C# token types
"namespace", // 0
"type",
"class",
"enum",
"interface",
"struct",
"typeParameter",
"parameter",
"variable",
"property",
"enumMember", // 10
"event",
"function",
"member",
"macro",
"keyword",
"modifier",
"comment",
"string",
"number",
"regexp", // 20
"operator",
"class name",
"constant name",
"keyword - control",
"delegate name",
"enum member name",
"enum name",
"event name",
"excluded code",
"extension method name", // 30
"field name",
"interface name",
"json - array",
"json - comment",
"json - constructor name",
"json - keyword",
"json - number",
"json - object",
"json - operator",
"json - property name", // 40
"json - punctuation",
"json - string",
"json - text",
"label name",
"local name",
"method name",
"module name",
"namespace name",
"operator - overloaded",
"parameter name", // 50
"property name",
"preprocessor keyword",
"preprocessor text",
"punctuation",
"record class name",
"record struct name",
"regex - alternation",
"regex - anchor",
"regex - character class",
"regex - comment", // 60
"regex - grouping",
"regex - other escape",
"regex - quantifier",
"regex - self escaped character",
"regex - text",
"string - escape character",
"struct name",
"text",
"type parameter name",
"string - verbatim", // 70
"whitespace",
"xml doc comment - attribute name",
"xml doc comment - attribute quotes",
"xml doc comment - attribute value",
"xml doc comment - cdata section",
"xml doc comment - comment",
"xml doc comment - delimiter",
"xml doc comment - entity reference",
"xml doc comment - name",
"xml doc comment - processing instruction", // 80
"xml doc comment - text",
"xml literal - attribute name",
"xml literal - attribute quotes",
"xml literal - attribute value",
"xml literal - cdata section",
"xml literal - comment",
"xml literal - delimiter",
"xml literal - embedded expression",
"xml literal - entity reference",
"xml literal - name", // 90
"xml literal - processing instruction",
"xml literal - text",
RazorTagHelperElementType,
RazorTagHelperAttributeType,
RazorTransitionType,
RazorDirectiveColonType,
RazorDirectiveAttributeType,
RazorDirectiveType,
RazorCommentType, // 100
RazorCommentTransitionType,
RazorCommentStarType,
MarkupTagDelimiterType,
MarkupElementType,
MarkupOperatorType,
MarkupAttributeType,
MarkupAttributeQuoteType,
MarkupTextLiteralType,
MarkupCommentPunctuationType,
MarkupCommentType, // 110
MarkupAttributeValueType,
RazorComponentElementType,
RazorComponentAttributeType,
};
private static readonly string[] s_tokenModifiers = new string[] {
// Razor
@ -76,7 +183,7 @@ namespace Microsoft.AspNetCore.Razor.LanguageServer.Semantic.Models
public static readonly IReadOnlyDictionary<string, int> TokenTypesLegend = GetMap(TokenTypes);
public static readonly SemanticTokensLegend Instance = new()
public static readonly SemanticTokensLegend Instance = new SemanticTokensLegend
{
TokenModifiers = s_tokenModifiers,
TokenTypes = TokenTypes,

Просмотреть файл

@ -27,7 +27,7 @@ namespace Microsoft.AspNetCore.Razor.LanguageServer.Test.Semantic
public class DefaultRazorSemanticTokenInfoServiceTest : SemanticTokenTestBase
{
#region CSharp
[Fact]
[Fact(Skip = "https://github.com/dotnet/razor-tooling/issues/6395")]
public async Task GetSemanticTokens_CSharp_RazorIfNotReady()
{
var documentText = @"<p></p>@{
@ -45,7 +45,7 @@ namespace Microsoft.AspNetCore.Razor.LanguageServer.Test.Semantic
await AssertSemanticTokensAsync(documentText, isRazorFile: false, razorRange, csharpTokens: csharpTokens, documentVersion: 1);
}
[Fact]
[Fact(Skip = "https://github.com/dotnet/razor-tooling/issues/6395")]
public async Task GetSemanticTokens_CSharpBlock_HTML()
{
var documentText = @"@{
@ -64,7 +64,7 @@ namespace Microsoft.AspNetCore.Razor.LanguageServer.Test.Semantic
await AssertSemanticTokensAsync(documentText, isRazorFile: false, razorRange, csharpTokens: csharpTokens);
}
[Fact]
[Fact(Skip = "https://github.com/dotnet/razor-tooling/issues/6395")]
public async Task GetSemanticTokens_CSharp_Nested_HTML()
{
var documentText = @"@addTagHelper *, TestAssembly
@ -81,7 +81,7 @@ namespace Microsoft.AspNetCore.Razor.LanguageServer.Test.Semantic
await AssertSemanticTokensAsync(documentText, isRazorFile: false, razorRange, csharpTokens: csharpTokens);
}
[Fact]
[Fact(Skip = "https://github.com/dotnet/razor-tooling/issues/6395")]
public async Task GetSemanticTokens_CSharp_VSCodeWorks()
{
var documentText = @"@addTagHelper *, TestAssembly
@ -98,7 +98,7 @@ namespace Microsoft.AspNetCore.Razor.LanguageServer.Test.Semantic
await AssertSemanticTokensAsync(documentText, isRazorFile: false, razorRange, csharpTokens: csharpTokens, documentVersion: 1);
}
[Fact]
[Fact(Skip = "https://github.com/dotnet/razor-tooling/issues/6395")]
public async Task GetSemanticTokens_CSharp_Explicit()
{
var documentText = @$"@addTagHelper *, TestAssembly
@ -115,7 +115,7 @@ namespace Microsoft.AspNetCore.Razor.LanguageServer.Test.Semantic
await AssertSemanticTokensAsync(documentText, isRazorFile: false, razorRange, csharpTokens: csharpTokens);
}
[Fact]
[Fact(Skip = "https://github.com/dotnet/razor-tooling/issues/6395")]
public async Task GetSemanticTokens_CSharp_Implicit()
{
var documentText = @"@addTagHelper *, TestAssembly
@ -133,7 +133,7 @@ namespace Microsoft.AspNetCore.Razor.LanguageServer.Test.Semantic
await AssertSemanticTokensAsync(documentText, isRazorFile: false, razorRange, csharpTokens: csharpTokens);
}
[Fact]
[Fact(Skip = "https://github.com/dotnet/razor-tooling/issues/6395")]
public async Task GetSemanticTokens_CSharp_VersionMismatch()
{
var documentText = @"@addTagHelper *, TestAssembly
@ -150,7 +150,7 @@ namespace Microsoft.AspNetCore.Razor.LanguageServer.Test.Semantic
await AssertSemanticTokensAsync(documentText, isRazorFile: false, razorRange, csharpTokens: csharpTokens, documentVersion: 21);
}
[Fact]
[Fact(Skip = "https://github.com/dotnet/razor-tooling/issues/6395")]
public async Task GetSemanticTokens_CSharp_FunctionAsync()
{
var documentText = @"@addTagHelper *, TestAssembly
@ -167,7 +167,7 @@ namespace Microsoft.AspNetCore.Razor.LanguageServer.Test.Semantic
await AssertSemanticTokensAsync(documentText, isRazorFile: false, razorRange, csharpTokens: csharpTokens);
}
[Fact]
[Fact(Skip = "https://github.com/dotnet/razor-tooling/issues/6395")]
public async Task GetSemanticTokens_CSharp_StaticModifier()
{
var documentText = @"@code
@ -188,7 +188,7 @@ namespace Microsoft.AspNetCore.Razor.LanguageServer.Test.Semantic
#endregion
#region HTML
[Fact]
[Fact(Skip = "https://github.com/dotnet/razor-tooling/issues/6395")]
public async Task GetSemanticTokens_MultipleBlankLines()
{
var documentText = @"@addTagHelper *, TestAssembly
@ -207,7 +207,7 @@ second</p>
await AssertSemanticTokensAsync(documentText, isRazorFile: false, razorRange, csharpTokens: csharpTokens);
}
[Fact]
[Fact(Skip = "https://github.com/dotnet/razor-tooling/issues/6395")]
public async Task GetSemanticTokens_IncompleteTag()
{
var documentText = @"<str class='
@ -223,7 +223,7 @@ second</p>
await AssertSemanticTokensAsync(documentText, isRazorFile: false, razorRange, csharpTokens: csharpTokens);
}
[Fact]
[Fact(Skip = "https://github.com/dotnet/razor-tooling/issues/6395")]
public async Task GetSemanticTokens_MinimizedHTMLAttribute()
{
var documentText = @"<p attr />
@ -239,7 +239,7 @@ second</p>
await AssertSemanticTokensAsync(documentText, isRazorFile: false, razorRange, csharpTokens: csharpTokens);
}
[Fact]
[Fact(Skip = "https://github.com/dotnet/razor-tooling/issues/6395")]
public async Task GetSemanticTokens_MinimizedHTMLAsync()
{
var documentText = @"@addTagHelper *, TestAssembly
@ -256,7 +256,7 @@ second</p>
await AssertSemanticTokensAsync(documentText, isRazorFile: false, razorRange, csharpTokens: csharpTokens);
}
[Fact]
[Fact(Skip = "https://github.com/dotnet/razor-tooling/issues/6395")]
public async Task GetSemanticTokens_HTMLCommentAsync()
{
var documentText = @"@addTagHelper *, TestAssembly
@ -273,7 +273,7 @@ second</p>
await AssertSemanticTokensAsync(documentText, isRazorFile: false, razorRange, csharpTokens: csharpTokens);
}
[Fact]
[Fact(Skip = "https://github.com/dotnet/razor-tooling/issues/6395")]
public async Task GetSemanticTokens_PartialHTMLCommentAsync()
{
var documentText = @"@addTagHelper *, TestAssembly
@ -290,7 +290,7 @@ second</p>
await AssertSemanticTokensAsync(documentText, isRazorFile: true, razorRange, csharpTokens: csharpTokens);
}
[Fact]
[Fact(Skip = "https://github.com/dotnet/razor-tooling/issues/6395")]
public async Task GetSemanticTokens_HTMLIncludesBang()
{
var documentText = @"@addTagHelper *, TestAssembly
@ -309,7 +309,7 @@ second</p>
#endregion
#region TagHelpers
[Fact]
[Fact(Skip = "https://github.com/dotnet/razor-tooling/issues/6395")]
public async Task GetSemanticTokens_HalfOfCommentAsync()
{
var documentText = @"@addTagHelper *, TestAssembly
@ -326,7 +326,7 @@ second</p>
await AssertSemanticTokensAsync(documentText, isRazorFile: true, razorRange, csharpTokens: csharpTokens);
}
[Fact]
[Fact(Skip = "https://github.com/dotnet/razor-tooling/issues/6395")]
public async Task GetSemanticTokens_NoAttributesAsync()
{
var documentText = @"@addTagHelper *, TestAssembly
@ -343,7 +343,7 @@ second</p>
await AssertSemanticTokensAsync(documentText, isRazorFile: false, razorRange, csharpTokens: csharpTokens);
}
[Fact]
[Fact(Skip = "https://github.com/dotnet/razor-tooling/issues/6395")]
public async Task GetSemanticTokens_WithAttributeAsync()
{
var documentText = @"@addTagHelper *, TestAssembly
@ -360,7 +360,7 @@ second</p>
await AssertSemanticTokensAsync(documentText, isRazorFile: false, razorRange, csharpTokens: csharpTokens);
}
[Fact]
[Fact(Skip = "https://github.com/dotnet/razor-tooling/issues/6395")]
public async Task GetSemanticTokens_MinimizedAttribute_BoundAsync()
{
var documentText = @"@addTagHelper *, TestAssembly
@ -377,7 +377,7 @@ second</p>
await AssertSemanticTokensAsync(documentText, isRazorFile: false, razorRange, csharpTokens: csharpTokens);
}
[Fact]
[Fact(Skip = "https://github.com/dotnet/razor-tooling/issues/6395")]
public async Task GetSemanticTokens_MinimizedAttribute_NotBoundAsync()
{
var documentText = @"@addTagHelper *, TestAssembly
@ -394,7 +394,7 @@ second</p>
await AssertSemanticTokensAsync(documentText, isRazorFile: false, razorRange, csharpTokens: csharpTokens);
}
[Fact]
[Fact(Skip = "https://github.com/dotnet/razor-tooling/issues/6395")]
public async Task GetSemanticTokens_IgnoresNonTagHelperAttributesAsync()
{
var documentText = @"@addTagHelper *, TestAssembly
@ -411,7 +411,7 @@ second</p>
await AssertSemanticTokensAsync(documentText, isRazorFile: false, razorRange, csharpTokens: csharpTokens);
}
[Fact]
[Fact(Skip = "https://github.com/dotnet/razor-tooling/issues/6395")]
public async Task GetSemanticTokens_TagHelpersNotAvailableInRazorAsync()
{
var documentText = @"@addTagHelper *, TestAssembly
@ -428,7 +428,7 @@ second</p>
await AssertSemanticTokensAsync(documentText, isRazorFile: true, razorRange, csharpTokens: csharpTokens);
}
[Fact]
[Fact(Skip = "https://github.com/dotnet/razor-tooling/issues/6395")]
public async Task GetSemanticTokens_DoesNotApplyOnNonTagHelpersAsync()
{
var documentText = @"@addTagHelper *, TestAssembly
@ -447,7 +447,7 @@ second</p>
#endregion TagHelpers
#region DirectiveAttributes
[Fact]
[Fact(Skip = "https://github.com/dotnet/razor-tooling/issues/6395")]
public async Task GetSemanticTokens_Razor_MinimizedDirectiveAttributeParameters()
{
// Capitalized, non-well-known-HTML elements should not be marked as TagHelpers
@ -465,7 +465,7 @@ second</p>
await AssertSemanticTokensAsync(documentText, isRazorFile: true, razorRange, csharpTokens: csharpTokens);
}
[Fact]
[Fact(Skip = "https://github.com/dotnet/razor-tooling/issues/6395")]
public async Task GetSemanticTokens_Razor_ComponentAttributeAsync()
{
var documentText = @"@addTagHelper *, TestAssembly
@ -482,7 +482,7 @@ second</p>
await AssertSemanticTokensAsync(documentText, isRazorFile: true, razorRange, csharpTokens: csharpTokens);
}
[Fact]
[Fact(Skip = "https://github.com/dotnet/razor-tooling/issues/6395")]
public async Task GetSemanticTokens_Razor_DirectiveAttributesParametersAsync()
{
var documentText = @"@addTagHelper *, TestAssembly
@ -499,7 +499,7 @@ second</p>
await AssertSemanticTokensAsync(documentText, isRazorFile: true, razorRange, csharpTokens: csharpTokens);
}
[Fact]
[Fact(Skip = "https://github.com/dotnet/razor-tooling/issues/6395")]
public async Task GetSemanticTokens_Razor_NonComponentsDoNotShowInRazorAsync()
{
var documentText = @"@addTagHelper *, TestAssembly
@ -516,7 +516,7 @@ second</p>
await AssertSemanticTokensAsync(documentText, isRazorFile: true, razorRange, csharpTokens: csharpTokens);
}
[Fact]
[Fact(Skip = "https://github.com/dotnet/razor-tooling/issues/6395")]
public async Task GetSemanticTokens_Razor_DirectivesAsync()
{
var documentText = @"@addTagHelper *, TestAssembly
@ -533,7 +533,7 @@ second</p>
await AssertSemanticTokensAsync(documentText, isRazorFile: true, razorRange, csharpTokens: csharpTokens);
}
[Fact]
[Fact(Skip = "https://github.com/dotnet/razor-tooling/issues/6395")]
public async Task GetSemanticTokens_HandleTransitionEscape()
{
var documentText = @"@@text
@ -549,7 +549,7 @@ second</p>
await AssertSemanticTokensAsync(documentText, isRazorFile: true, razorRange, csharpTokens: csharpTokens);
}
[Fact]
[Fact(Skip = "https://github.com/dotnet/razor-tooling/issues/6395")]
public async Task GetSemanticTokens_Razor_DoNotColorNonTagHelpersAsync()
{
var documentText = @"
@ -566,7 +566,7 @@ second</p>
await AssertSemanticTokensAsync(documentText, isRazorFile: true, razorRange, csharpTokens: csharpTokens);
}
[Fact]
[Fact(Skip = "https://github.com/dotnet/razor-tooling/issues/6395")]
public async Task GetSemanticTokens_Razor_DoesNotApplyOnNonTagHelpersAsync()
{
var documentText = @"@addTagHelpers *, TestAssembly
@ -585,7 +585,7 @@ second</p>
#endregion DirectiveAttributes
#region Directive
[Fact]
[Fact(Skip = "https://github.com/dotnet/razor-tooling/issues/6395")]
public async Task GetSemanticTokens_Razor_CodeDirectiveAsync()
{
var documentText = @"@code {}
@ -601,7 +601,7 @@ second</p>
await AssertSemanticTokensAsync(documentText, isRazorFile: true, razorRange, csharpTokens: csharpTokens);
}
[Fact]
[Fact(Skip = "https://github.com/dotnet/razor-tooling/issues/6395")]
public async Task GetSemanticTokens_Razor_CodeDirectiveBodyAsync()
{
var documentText = @"@code {
@ -622,7 +622,7 @@ second</p>
await AssertSemanticTokensAsync(documentText, isRazorFile: true, razorRange, csharpTokens: csharpTokens);
}
[Fact]
[Fact(Skip = "https://github.com/dotnet/razor-tooling/issues/6395")]
public async Task GetSemanticTokens_Razor_UsingDirective()
{
var documentText = @"@using Microsoft.AspNetCore.Razor
@ -638,7 +638,7 @@ second</p>
await AssertSemanticTokensAsync(documentText, isRazorFile: true, razorRange, csharpTokens: csharpTokens);
}
[Fact]
[Fact(Skip = "https://github.com/dotnet/razor-tooling/issues/6395")]
public async Task GetSemanticTokens_Razor_FunctionsDirectiveAsync()
{
var documentText = @"@functions {}
@ -654,7 +654,7 @@ second</p>
await AssertSemanticTokensAsync(documentText, isRazorFile: true, razorRange, csharpTokens: csharpTokens);
}
[Fact]
[Fact(Skip = "https://github.com/dotnet/razor-tooling/issues/6395")]
public async Task GetSemanticTokens_Razor_NestedTextDirectives()
{
var documentText = @"@functions {
@ -683,7 +683,7 @@ second</p>
await AssertSemanticTokensAsync(documentText, isRazorFile: false, razorRange, csharpTokens: csharpTokens);
}
[Fact]
[Fact(Skip = "https://github.com/dotnet/razor-tooling/issues/6395")]
public async Task GetSemanticTokens_Razor_NestedTransitions()
{
var documentText = @"@functions {
@ -702,7 +702,7 @@ second</p>
}
#endregion
[Fact]
[Fact(Skip = "https://github.com/dotnet/razor-tooling/issues/6395")]
public async Task GetSemanticTokens_Razor_CommentAsync()
{
var documentText = @"@* A comment *@
@ -718,7 +718,7 @@ second</p>
await AssertSemanticTokensAsync(documentText, isRazorFile: true, razorRange, csharpTokens: csharpTokens);
}
[Fact]
[Fact(Skip = "https://github.com/dotnet/razor-tooling/issues/6395")]
public async Task GetSemanticTokens_Razor_MultiLineCommentMidlineAsync()
{
var documentText = @"<a />@* kdl
@ -736,7 +736,7 @@ slf*@
await AssertSemanticTokensAsync(documentText, isRazorFile: false, razorRange, csharpTokens: csharpTokens);
}
[Fact]
[Fact(Skip = "https://github.com/dotnet/razor-tooling/issues/6395")]
public async Task GetSemanticTokens_Razor_MultiLineCommentAsync()
{
var documentText = @$"@*stuff

Просмотреть файл

@ -169,8 +169,8 @@ namespace Microsoft.AspNetCore.Razor.LanguageServer.Semantic
builder.Append(actualArray[i]).Append(' ');
builder.Append(actualArray[i + 1]).Append(' ');
builder.Append(actualArray[i + 2]).Append(' ');
builder.Append(typeString).Append(' ');
builder.Append(actualArray[i + 4]);
builder.Append(actualArray[i + 3]).Append(' ');
builder.Append(actualArray[i + 4]).Append(" //").Append(typeString);
builder.AppendLine();
}
}
@ -186,30 +186,18 @@ namespace Microsoft.AspNetCore.Razor.LanguageServer.Semantic
return null;
}
var tokenTypesList = RazorSemanticTokensLegend.TokenTypes.ToList();
var strArr = semanticIntStr.Split(new string[] { " ", Environment.NewLine }, StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries);
var strArray = semanticIntStr.Split(new string[] { " ", Environment.NewLine }, StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries);
var results = new List<int>();
for (var i = 0; i < strArr.Length; i++)
foreach (var str in strArray)
{
if (int.TryParse(strArr[i], System.Globalization.NumberStyles.Integer, Thread.CurrentThread.CurrentCulture, out var intResult))
if (str.StartsWith("//", StringComparison.Ordinal))
{
continue;
}
if (int.TryParse(str, System.Globalization.NumberStyles.Integer, Thread.CurrentThread.CurrentCulture, out var intResult))
{
results.Add(intResult);
continue;
}
// Needed to handle token types with spaces in their names, e.g. C#'s 'local name' type
var tokenTypeStr = strArr[i];
while (i + 1 < strArr.Length && !int.TryParse(strArr[i + 1], System.Globalization.NumberStyles.Integer, Thread.CurrentThread.CurrentCulture, out _))
{
tokenTypeStr += $" {strArr[i + 1]}";
i++;
}
var tokenIndex = tokenTypesList.IndexOf(tokenTypeStr);
if (tokenIndex != -1)
{
results.Add(tokenIndex);
continue;
}
}

Просмотреть файл

@ -1,18 +1,18 @@
//line,characterPos,length,tokenType,modifier
0 0 1 razorTransition 0
0 1 1 razorTransition 0
1 4 3 keyword 0
0 4 1 local name 0
0 2 1 operator 0
0 2 3 string 0
0 3 1 punctuation 0
1 4 1 markupTagDelimiter 0
0 1 1 markupElement 0
0 1 1 markupTagDelimiter 0
0 6 1 razorTransition 0
0 1 1 local name 0
0 1 1 markupTagDelimiter 0
0 1 1 markupTagDelimiter 0
0 1 1 markupElement 0
0 1 1 markupTagDelimiter 0
1 0 1 razorTransition 0
0 0 1 84 0 //razorTransition
0 1 1 84 0 //razorTransition
1 4 3 15 0 //keyword
0 4 1 34 0 //local name
0 2 1 21 0 //operator
0 2 3 18 0 //string
0 3 1 43 0 //punctuation
1 4 1 91 0 //markupTagDelimiter
0 1 1 92 0 //markupElement
0 1 1 91 0 //markupTagDelimiter
0 6 1 84 0 //razorTransition
0 1 1 34 0 //local name
0 1 1 91 0 //markupTagDelimiter
0 1 1 91 0 //markupTagDelimiter
0 1 1 92 0 //markupElement
0 1 1 91 0 //markupTagDelimiter
1 0 1 84 0 //razorTransition

Просмотреть файл

@ -1,9 +1,9 @@
//line,characterPos,length,tokenType,modifier
0 0 1 razorTransition 0
0 1 12 razorDirective 0
1 0 1 razorTransition 0
0 1 1 razorTransition 0
0 1 8 variable 0
0 8 1 operator 0
0 1 3 variable 0
0 3 1 razorTransition 0
0 0 1 84 0 //razorTransition
0 1 12 87 0 //razorDirective
1 0 1 84 0 //razorTransition
0 1 1 84 0 //razorTransition
0 1 8 8 0 //variable
0 8 1 21 0 //operator
0 1 3 8 0 //variable
0 3 1 84 0 //razorTransition

Просмотреть файл

@ -1,9 +1,9 @@
//line,characterPos,length,tokenType,modifier
0 0 1 razorTransition 0
0 1 12 razorDirective 0
1 0 1 razorTransition 0
0 1 1 razorTransition 0
0 2 3 keyword 0
0 4 1 local name 0
0 2 1 operator 0
0 2 1 razorTransition 0
0 0 1 84 0 //razorTransition
0 1 12 87 0 //razorDirective
1 0 1 84 0 //razorTransition
0 1 1 84 0 //razorTransition
0 2 3 15 0 //keyword
0 4 1 34 0 //local name
0 2 1 21 0 //operator
0 2 1 84 0 //razorTransition

Просмотреть файл

@ -1,13 +1,13 @@
//line,characterPos,length,tokenType,modifier
0 0 1 razorTransition 0
0 1 12 razorDirective 0
1 0 1 razorTransition 0
0 1 1 razorTransition 0
0 2 3 keyword 0
0 4 1 local name 0
0 2 1 operator 0
0 2 5 string 0
0 5 1 punctuation 0
0 1 1 razorTransition 0
1 0 1 razorTransition 0
0 1 1 local name 0
0 0 1 84 0 //razorTransition
0 1 12 87 0 //razorDirective
1 0 1 84 0 //razorTransition
0 1 1 84 0 //razorTransition
0 2 3 15 0 //keyword
0 4 1 34 0 //local name
0 2 1 21 0 //operator
0 2 5 18 0 //string
0 5 1 43 0 //punctuation
0 1 1 84 0 //razorTransition
1 0 1 84 0 //razorTransition
0 1 1 34 0 //local name

Просмотреть файл

@ -1,21 +1,21 @@
//line,characterPos,length,tokenType,modifier
0 0 1 razorTransition 0
0 1 12 razorDirective 0
1 0 4 markupCommentPunctuation 0
0 4 1 razorTransition 0
0 1 1 razorTransition 0
0 1 3 keyword 0
0 4 1 local name 0
0 2 1 operator 0
0 2 8 string 0
0 8 1 punctuation 0
0 1 1 razorTransition 0
0 1 1 markupTagDelimiter 0
0 1 1 markupElement 0
0 1 1 markupTagDelimiter 0
0 1 1 markupTagDelimiter 0
0 1 1 markupTagDelimiter 0
0 1 1 markupElement 0
0 1 1 markupTagDelimiter 0
0 1 1 razorTransition 0
0 1 3 markupCommentPunctuation 0
0 0 1 84 0 //razorTransition
0 1 12 87 0 //razorDirective
1 0 4 97 0 //markupCommentPunctuation
0 4 1 84 0 //razorTransition
0 1 1 84 0 //razorTransition
0 1 3 15 0 //keyword
0 4 1 34 0 //local name
0 2 1 21 0 //operator
0 2 8 18 0 //string
0 8 1 43 0 //punctuation
0 1 1 84 0 //razorTransition
0 1 1 91 0 //markupTagDelimiter
0 1 1 92 0 //markupElement
0 1 1 91 0 //markupTagDelimiter
0 1 1 91 0 //markupTagDelimiter
0 1 1 91 0 //markupTagDelimiter
0 1 1 92 0 //markupElement
0 1 1 91 0 //markupTagDelimiter
0 1 1 84 0 //razorTransition
0 1 3 97 0 //markupCommentPunctuation

Просмотреть файл

@ -1,11 +1,11 @@
//line,characterPos,length,tokenType,modifier
0 0 1 markupTagDelimiter 0
0 1 1 markupElement 0
0 1 1 markupTagDelimiter 0
0 1 1 markupTagDelimiter 0
0 1 1 markupTagDelimiter 0
0 1 1 markupElement 0
0 1 1 markupTagDelimiter 0
0 1 1 razorTransition 0
0 1 1 razorTransition 0
2 0 1 razorTransition 0
0 0 1 91 0 //markupTagDelimiter
0 1 1 92 0 //markupElement
0 1 1 91 0 //markupTagDelimiter
0 1 1 91 0 //markupTagDelimiter
0 1 1 91 0 //markupTagDelimiter
0 1 1 92 0 //markupElement
0 1 1 91 0 //markupTagDelimiter
0 1 1 84 0 //razorTransition
0 1 1 84 0 //razorTransition
2 0 1 84 0 //razorTransition

Просмотреть файл

@ -1,11 +1,11 @@
//line,characterPos,length,tokenType,modifier
0 0 1 razorTransition 0
0 1 4 razorDirective 0
1 0 1 razorTransition 0
1 4 6 keyword 0
0 7 3 keyword 0
0 4 1 field name 1
0 2 1 operator 0
0 2 1 number 0
0 1 1 punctuation 0
1 0 1 razorTransition 0
0 0 1 84 0 //razorTransition
0 1 4 87 0 //razorDirective
1 0 1 84 0 //razorTransition
1 4 6 15 0 //keyword
0 7 3 15 0 //keyword
0 4 1 31 1 //field name
0 2 1 21 0 //operator
0 2 1 19 0 //number
0 1 1 43 0 //punctuation
1 0 1 84 0 //razorTransition

Просмотреть файл

@ -1,6 +1,6 @@
//line,characterPos,length,tokenType,modifier
0 0 1 razorTransition 0
0 1 12 razorDirective 0
1 0 1 razorTransition 0
0 1 1 razorTransition 0
0 10 1 razorTransition 0
0 0 1 84 0 //razorTransition
0 1 12 87 0 //razorDirective
1 0 1 84 0 //razorTransition
0 1 1 84 0 //razorTransition
0 10 1 84 0 //razorTransition

Просмотреть файл

@ -1,16 +1,16 @@
//line,characterPos,length,tokenType,modifier
0 0 1 razorTransition 0
0 1 12 razorDirective 0
0 13 15 string 0
1 0 1 markupTagDelimiter 0
0 1 1 markupElement 0
0 2 8 markupAttribute 0
0 8 1 markupOperator 0
0 1 1 markupAttributeQuote 0
0 1 4 markupAttributeQuote 0
0 4 1 markupAttributeQuote 0
0 1 1 markupTagDelimiter 0
0 1 1 markupTagDelimiter 0
0 1 1 markupTagDelimiter 0
0 1 1 markupElement 0
0 1 1 markupTagDelimiter 0
0 0 1 84 0 //razorTransition
0 1 12 87 0 //razorDirective
0 13 15 18 0 //string
1 0 1 91 0 //markupTagDelimiter
0 1 1 92 0 //markupElement
0 2 8 94 0 //markupAttribute
0 8 1 93 0 //markupOperator
0 1 1 95 0 //markupAttributeQuote
0 1 4 95 0 //markupAttributeQuote
0 4 1 95 0 //markupAttributeQuote
0 1 1 91 0 //markupTagDelimiter
0 1 1 91 0 //markupTagDelimiter
0 1 1 91 0 //markupTagDelimiter
0 1 1 92 0 //markupElement
0 1 1 91 0 //markupTagDelimiter

Просмотреть файл

@ -1,7 +1,7 @@
//line,characterPos,length,tokenType,modifier
0 0 1 razorTransition 0
0 1 12 razorDirective 0
0 13 15 string 0
1 0 4 markupCommentPunctuation 0
0 4 22 markupComment 0
0 22 3 markupCommentPunctuation 0
0 0 1 84 0 //razorTransition
0 1 12 87 0 //razorDirective
0 13 15 18 0 //string
1 0 4 97 0 //markupCommentPunctuation
0 4 22 98 0 //markupComment
0 22 3 97 0 //markupCommentPunctuation

Просмотреть файл

@ -1,9 +1,9 @@
//line,characterPos,length,tokenType,modifier
0 0 1 razorTransition 0
0 1 12 razorDirective 0
0 13 15 string 0
1 0 1 markupTagDelimiter 0
0 1 1 razorTransition 0
0 1 5 markupElement 0
0 5 1 markupTagDelimiter 0
0 1 1 markupTagDelimiter 0
0 0 1 84 0 //razorTransition
0 1 12 87 0 //razorDirective
0 13 15 18 0 //string
1 0 1 91 0 //markupTagDelimiter
0 1 1 84 0 //razorTransition
0 1 5 92 0 //markupElement
0 5 1 91 0 //markupTagDelimiter
0 1 1 91 0 //markupTagDelimiter

Просмотреть файл

@ -1,7 +1,7 @@
//line,characterPos,length,tokenType,modifier
0 0 1 razorTransition 0
0 1 12 razorDirective 0
0 13 15 string 0
1 0 1 razorCommentTransition 0
0 1 1 razorCommentStar 0
0 1 8 razorComment 0
0 0 1 84 0 //razorTransition
0 1 12 87 0 //razorDirective
0 13 15 18 0 //string
1 0 1 89 0 //razorCommentTransition
0 1 1 90 0 //razorCommentStar
0 1 8 88 0 //razorComment

Просмотреть файл

@ -1,20 +1,20 @@
//line,characterPos,length,tokenType,modifier
0 0 1 razorTransition 0
0 1 12 razorDirective 0
1 0 1 markupTagDelimiter 0
0 1 5 razorTagHelperElement 0
0 6 8 razorTagHelperAttribute 0
0 8 1 markupOperator 0
0 1 1 markupAttributeQuote 0
0 1 4 keyword 0
0 4 1 markupAttributeQuote 0
0 2 5 markupAttribute 0
0 5 1 markupOperator 0
0 1 1 markupAttributeQuote 0
0 1 12 markupAttributeQuote 0
0 12 1 markupAttributeQuote 0
0 1 1 markupTagDelimiter 0
0 1 1 markupTagDelimiter 0
0 1 1 markupTagDelimiter 0
0 1 5 razorTagHelperElement 0
0 5 1 markupTagDelimiter 0
0 0 1 84 0 //razorTransition
0 1 12 87 0 //razorDirective
1 0 1 91 0 //markupTagDelimiter
0 1 5 82 0 //razorTagHelperElement
0 6 8 83 0 //razorTagHelperAttribute
0 8 1 93 0 //markupOperator
0 1 1 95 0 //markupAttributeQuote
0 1 4 15 0 //keyword
0 4 1 95 0 //markupAttributeQuote
0 2 5 94 0 //markupAttribute
0 5 1 93 0 //markupOperator
0 1 1 95 0 //markupAttributeQuote
0 1 12 95 0 //markupAttributeQuote
0 12 1 95 0 //markupAttributeQuote
0 1 1 91 0 //markupTagDelimiter
0 1 1 91 0 //markupTagDelimiter
0 1 1 91 0 //markupTagDelimiter
0 1 5 82 0 //razorTagHelperElement
0 5 1 91 0 //markupTagDelimiter

Просмотреть файл

@ -1,6 +1,6 @@
//line,characterPos,length,tokenType,modifier
0 0 1 markupTagDelimiter 0
0 1 3 markupElement 0
0 4 5 markupAttribute 0
0 5 1 markupOperator 0
0 1 1 markupAttributeQuote 0
0 0 1 91 0 //markupTagDelimiter
0 1 3 92 0 //markupElement
0 4 5 94 0 //markupAttribute
0 5 1 93 0 //markupOperator
0 1 1 95 0 //markupAttributeQuote

Просмотреть файл

@ -1,12 +1,12 @@
//line,characterPos,length,tokenType,modifier
0 0 1 razorTransition 0
0 1 12 razorDirective 0
0 13 15 string 0
1 0 1 markupTagDelimiter 0
0 1 5 razorTagHelperElement 0
0 6 8 razorTagHelperAttribute 0
0 8 1 markupTagDelimiter 0
0 1 1 markupTagDelimiter 0
0 1 1 markupTagDelimiter 0
0 1 5 razorTagHelperElement 0
0 5 1 markupTagDelimiter 0
0 0 1 84 0 //razorTransition
0 1 12 87 0 //razorDirective
0 13 15 18 0 //string
1 0 1 91 0 //markupTagDelimiter
0 1 5 82 0 //razorTagHelperElement
0 6 8 83 0 //razorTagHelperAttribute
0 8 1 91 0 //markupTagDelimiter
0 1 1 91 0 //markupTagDelimiter
0 1 1 91 0 //markupTagDelimiter
0 1 5 82 0 //razorTagHelperElement
0 5 1 91 0 //markupTagDelimiter

Просмотреть файл

@ -1,12 +1,12 @@
//line,characterPos,length,tokenType,modifier
0 0 1 razorTransition 0
0 1 12 razorDirective 0
0 13 15 string 0
1 0 1 markupTagDelimiter 0
0 1 5 razorTagHelperElement 0
0 6 8 markupAttribute 0
0 8 1 markupTagDelimiter 0
0 1 1 markupTagDelimiter 0
0 1 1 markupTagDelimiter 0
0 1 5 razorTagHelperElement 0
0 5 1 markupTagDelimiter 0
0 0 1 84 0 //razorTransition
0 1 12 87 0 //razorDirective
0 13 15 18 0 //string
1 0 1 91 0 //markupTagDelimiter
0 1 5 82 0 //razorTagHelperElement
0 6 8 94 0 //markupAttribute
0 8 1 91 0 //markupTagDelimiter
0 1 1 91 0 //markupTagDelimiter
0 1 1 91 0 //markupTagDelimiter
0 1 5 82 0 //razorTagHelperElement
0 5 1 91 0 //markupTagDelimiter

Просмотреть файл

@ -1,8 +1,8 @@
//line,characterPos,length,tokenType,modifier
0 0 1 razorTransition 0
0 1 12 razorDirective 0
0 13 15 string 0
1 0 1 markupTagDelimiter 0
0 1 5 markupElement 0
0 5 1 markupTagDelimiter 0
0 1 1 markupTagDelimiter 0
0 0 1 84 0 //razorTransition
0 1 12 87 0 //razorDirective
0 13 15 18 0 //string
1 0 1 91 0 //markupTagDelimiter
0 1 5 92 0 //markupElement
0 5 1 91 0 //markupTagDelimiter
0 1 1 91 0 //markupTagDelimiter

Просмотреть файл

@ -1,6 +1,6 @@
//line,characterPos,length,tokenType,modifier
0 0 1 markupTagDelimiter 0
0 1 1 markupElement 0
0 2 4 markupAttribute 0
0 5 1 markupTagDelimiter 0
0 1 1 markupTagDelimiter 0
0 0 1 91 0 //markupTagDelimiter
0 1 1 92 0 //markupElement
0 2 4 94 0 //markupAttribute
0 5 1 91 0 //markupTagDelimiter
0 1 1 91 0 //markupTagDelimiter

Просмотреть файл

@ -1,11 +1,11 @@
//line,characterPos,length,tokenType,modifier
0 0 1 razorTransition 0
0 1 12 razorDirective 0
0 13 15 string 0
2 0 1 markupTagDelimiter 0
0 1 1 markupElement 0
0 1 1 markupTagDelimiter 0
1 6 1 markupTagDelimiter 0
0 1 1 markupTagDelimiter 0
0 1 1 markupElement 0
0 1 1 markupTagDelimiter 0
0 0 1 84 0 //razorTransition
0 1 12 87 0 //razorDirective
0 13 15 18 0 //string
2 0 1 91 0 //markupTagDelimiter
0 1 1 92 0 //markupElement
0 1 1 91 0 //markupTagDelimiter
1 6 1 91 0 //markupTagDelimiter
0 1 1 91 0 //markupTagDelimiter
0 1 1 92 0 //markupElement
0 1 1 91 0 //markupTagDelimiter

Просмотреть файл

@ -1,11 +1,11 @@
//line,characterPos,length,tokenType,modifier
0 0 1 razorTransition 0
0 1 12 razorDirective 0
0 13 15 string 0
1 0 1 markupTagDelimiter 0
0 1 5 razorTagHelperElement 0
0 5 1 markupTagDelimiter 0
0 1 1 markupTagDelimiter 0
0 1 1 markupTagDelimiter 0
0 1 5 razorTagHelperElement 0
0 5 1 markupTagDelimiter 0
0 0 1 84 0 //razorTransition
0 1 12 87 0 //razorDirective
0 13 15 18 0 //string
1 0 1 91 0 //markupTagDelimiter
0 1 5 82 0 //razorTagHelperElement
0 5 1 91 0 //markupTagDelimiter
0 1 1 91 0 //markupTagDelimiter
0 1 1 91 0 //markupTagDelimiter
0 1 5 82 0 //razorTagHelperElement
0 5 1 91 0 //markupTagDelimiter

Просмотреть файл

@ -1,4 +1,4 @@
//line,characterPos,length,tokenType,modifier
0 0 1 razorTransition 0
0 1 12 razorDirective 0
0 13 15 string 0
0 0 1 84 0 //razorTransition
0 1 12 87 0 //razorDirective
0 13 15 18 0 //string

Просмотреть файл

@ -1,5 +1,5 @@
//line,characterPos,length,tokenType,modifier
0 0 1 razorTransition 0
0 1 4 razorDirective 0
0 5 1 razorTransition 0
0 1 1 razorTransition 0
0 0 1 84 0 //razorTransition
0 1 4 87 0 //razorDirective
0 5 1 84 0 //razorTransition
0 1 1 84 0 //razorTransition

Просмотреть файл

@ -1,16 +1,16 @@
//line,characterPos,length,tokenType,modifier
0 0 1 razorTransition 0
0 1 4 razorDirective 0
0 5 1 razorTransition 0
1 4 6 keyword 0
0 7 4 keyword 0
0 5 10 method name 0
0 10 1 punctuation 0
0 1 1 punctuation 0
1 4 1 punctuation 0
1 0 1 razorTransition 0
0 1 8 variable 0
0 8 1 operator 0
0 1 3 variable 0
1 4 1 punctuation 0
1 0 1 razorTransition 0
0 0 1 84 0 //razorTransition
0 1 4 87 0 //razorDirective
0 5 1 84 0 //razorTransition
1 4 6 15 0 //keyword
0 7 4 15 0 //keyword
0 5 10 35 0 //method name
0 10 1 43 0 //punctuation
0 1 1 43 0 //punctuation
1 4 1 43 0 //punctuation
1 0 1 84 0 //razorTransition
0 1 8 8 0 //variable
0 8 1 21 0 //operator
0 1 3 8 0 //variable
1 4 1 43 0 //punctuation
1 0 1 84 0 //razorTransition

Просмотреть файл

@ -1,6 +1,6 @@
//line,characterPos,length,tokenType,modifier
0 0 1 razorCommentTransition 0
0 1 1 razorCommentStar 0
0 1 11 razorComment 0
0 11 1 razorCommentStar 0
0 1 1 razorCommentTransition 0
0 0 1 89 0 //razorCommentTransition
0 1 1 90 0 //razorCommentStar
0 1 11 88 0 //razorComment
0 11 1 90 0 //razorCommentStar
0 1 1 89 0 //razorCommentTransition

Просмотреть файл

@ -1,15 +1,15 @@
//line,characterPos,length,tokenType,modifier
0 0 1 razorTransition 0
0 1 12 razorDirective 0
1 0 1 markupTagDelimiter 0
0 1 10 razorComponentElement 0
0 11 8 RazorComponentAttribute 0
0 8 1 markupOperator 0
0 1 1 markupAttributeQuote 0
0 1 4 keyword 0
0 4 1 markupAttributeQuote 0
0 1 1 markupTagDelimiter 0
0 1 1 markupTagDelimiter 0
0 1 1 markupTagDelimiter 0
0 1 10 razorComponentElement 0
0 10 1 markupTagDelimiter 0
0 0 1 84 0 //razorTransition
0 1 12 87 0 //razorDirective
1 0 1 91 0 //markupTagDelimiter
0 1 10 100 0 //razorComponentElement
0 11 8 101 0 //RazorComponentAttribute
0 8 1 93 0 //markupOperator
0 1 1 95 0 //markupAttributeQuote
0 1 4 15 0 //keyword
0 4 1 95 0 //markupAttributeQuote
0 1 1 91 0 //markupTagDelimiter
0 1 1 91 0 //markupTagDelimiter
0 1 1 91 0 //markupTagDelimiter
0 1 10 100 0 //razorComponentElement
0 10 1 91 0 //markupTagDelimiter

Просмотреть файл

@ -1,19 +1,19 @@
//line,characterPos,length,tokenType,modifier
0 0 1 razorTransition 0
0 1 12 razorDirective 0
0 13 15 string 0
1 0 1 markupTagDelimiter 0
0 1 10 razorComponentElement 0
0 11 1 razorTransition 0
0 1 4 razorDirectiveAttribute 0
0 4 1 razorDirectiveColon 0
0 1 9 razorDirectiveAttribute 0
0 9 1 markupOperator 0
0 1 1 markupAttributeQuote 0
0 1 8 markupAttributeQuote 0
0 8 1 markupAttributeQuote 0
0 1 1 markupTagDelimiter 0
0 1 1 markupTagDelimiter 0
0 1 1 markupTagDelimiter 0
0 1 10 razorComponentElement 0
0 10 1 markupTagDelimiter 0
0 0 1 84 0 //razorTransition
0 1 12 87 0 //razorDirective
0 13 15 18 0 //string
1 0 1 91 0 //markupTagDelimiter
0 1 10 100 0 //razorComponentElement
0 11 1 84 0 //razorTransition
0 1 4 86 0 //razorDirectiveAttribute
0 4 1 85 0 //razorDirectiveColon
0 1 9 86 0 //razorDirectiveAttribute
0 9 1 93 0 //markupOperator
0 1 1 95 0 //markupAttributeQuote
0 1 8 95 0 //markupAttributeQuote
0 8 1 95 0 //markupAttributeQuote
0 1 1 91 0 //markupTagDelimiter
0 1 1 91 0 //markupTagDelimiter
0 1 1 91 0 //markupTagDelimiter
0 1 10 100 0 //razorComponentElement
0 10 1 91 0 //markupTagDelimiter

Просмотреть файл

@ -1,17 +1,17 @@
//line,characterPos,length,tokenType,modifier
0 0 1 razorTransition 0
0 1 12 razorDirective 0
0 13 15 string 0
1 0 1 markupTagDelimiter 0
0 1 10 razorComponentElement 0
0 11 1 razorTransition 0
0 1 4 razorDirectiveAttribute 0
0 4 1 markupOperator 0
0 1 1 markupAttributeQuote 0
0 1 8 markupAttributeQuote 0
0 8 1 markupAttributeQuote 0
0 1 1 markupTagDelimiter 0
0 1 1 markupTagDelimiter 0
0 1 1 markupTagDelimiter 0
0 1 10 razorComponentElement 0
0 10 1 markupTagDelimiter 0
0 0 1 84 0 //razorTransition
0 1 12 87 0 //razorDirective
0 13 15 18 0 //string
1 0 1 91 0 //markupTagDelimiter
0 1 10 100 0 //razorComponentElement
0 11 1 84 0 //razorTransition
0 1 4 86 0 //razorDirectiveAttribute
0 4 1 93 0 //markupOperator
0 1 1 95 0 //markupAttributeQuote
0 1 8 95 0 //markupAttributeQuote
0 8 1 95 0 //markupAttributeQuote
0 1 1 91 0 //markupTagDelimiter
0 1 1 91 0 //markupTagDelimiter
0 1 1 91 0 //markupTagDelimiter
0 1 10 100 0 //razorComponentElement
0 10 1 91 0 //markupTagDelimiter

Просмотреть файл

@ -1,14 +1,14 @@
//line,characterPos,length,tokenType,modifier
1 0 1 markupTagDelimiter 0
0 1 1 markupElement 0
0 2 1 razorTransition 0
0 1 4 razorDirectiveAttribute 0
0 4 1 markupOperator 0
0 1 1 markupAttributeQuote 0
0 1 8 markupAttributeQuote 0
0 8 1 markupAttributeQuote 0
0 1 1 markupTagDelimiter 0
0 1 1 markupTagDelimiter 0
0 1 1 markupTagDelimiter 0
0 1 1 markupElement 0
0 1 1 markupTagDelimiter 0
1 0 1 91 0 //markupTagDelimiter
0 1 1 92 0 //markupElement
0 2 1 84 0 //razorTransition
0 1 4 86 0 //razorDirectiveAttribute
0 4 1 93 0 //markupOperator
0 1 1 95 0 //markupAttributeQuote
0 1 8 95 0 //markupAttributeQuote
0 8 1 95 0 //markupAttributeQuote
0 1 1 91 0 //markupTagDelimiter
0 1 1 91 0 //markupTagDelimiter
0 1 1 91 0 //markupTagDelimiter
0 1 1 92 0 //markupElement
0 1 1 91 0 //markupTagDelimiter

Просмотреть файл

@ -1,10 +1,10 @@
//line,characterPos,length,tokenType,modifier
0 0 1 razorTransition 0
0 1 13 variable 0
1 0 1 markupTagDelimiter 0
0 1 1 markupElement 0
0 1 1 markupTagDelimiter 0
0 1 1 markupTagDelimiter 0
0 1 1 markupTagDelimiter 0
0 1 1 markupElement 0
0 1 1 markupTagDelimiter 0
0 0 1 84 0 //razorTransition
0 1 13 8 0 //variable
1 0 1 91 0 //markupTagDelimiter
0 1 1 92 0 //markupElement
0 1 1 91 0 //markupTagDelimiter
0 1 1 91 0 //markupTagDelimiter
0 1 1 91 0 //markupTagDelimiter
0 1 1 92 0 //markupElement
0 1 1 91 0 //markupTagDelimiter

Просмотреть файл

@ -1,5 +1,5 @@
//line,characterPos,length,tokenType,modifier
0 0 1 razorTransition 0
0 1 9 razorDirective 0
0 10 1 razorTransition 0
0 1 1 razorTransition 0
0 0 1 84 0 //razorTransition
0 1 9 87 0 //razorDirective
0 10 1 84 0 //razorTransition
0 1 1 84 0 //razorTransition

Просмотреть файл

@ -1,12 +1,12 @@
//line,characterPos,length,tokenType,modifier
0 0 1 razorTransition 0
0 1 12 razorDirective 0
0 13 15 string 0
1 1 1 markupTagDelimiter 0
0 1 11 markupElement 0
0 12 1 razorTransition 0
0 1 9 razorDirectiveAttribute 0
0 9 1 razorDirectiveColon 0
0 1 9 razorDirectiveAttribute 0
0 10 1 markupTagDelimiter 0
0 1 1 markupTagDelimiter 0
0 0 1 84 0 //razorTransition
0 1 12 87 0 //razorDirective
0 13 15 18 0 //string
1 1 1 91 0 //markupTagDelimiter
0 1 11 92 0 //markupElement
0 12 1 84 0 //razorTransition
0 1 9 86 0 //razorDirectiveAttribute
0 9 1 85 0 //razorDirectiveColon
0 1 9 86 0 //razorDirectiveAttribute
0 10 1 91 0 //markupTagDelimiter
0 1 1 91 0 //markupTagDelimiter

Просмотреть файл

@ -1,7 +1,7 @@
//line,characterPos,length,tokenType,modifier
0 0 1 razorCommentTransition 0
0 1 1 razorCommentStar 0
0 1 5 razorComment 0
1 0 7 razorComment 0
0 7 1 razorCommentStar 0
0 1 1 razorCommentTransition 0
0 0 1 89 0 //razorCommentTransition
0 1 1 90 0 //razorCommentStar
0 1 5 88 0 //razorComment
1 0 7 88 0 //razorComment
0 7 1 90 0 //razorCommentStar
0 1 1 89 0 //razorCommentTransition

Просмотреть файл

@ -1,12 +1,12 @@
//line,characterPos,length,tokenType,modifier
0 0 1 markupTagDelimiter 0
0 1 1 markupElement 0
0 2 1 markupTagDelimiter 0
0 1 1 markupTagDelimiter 0
0 1 1 razorCommentTransition 0
0 1 1 razorCommentStar 0
0 1 4 razorComment 0
1 0 6 razorComment 0
1 0 3 razorComment 0
0 3 1 razorCommentStar 0
0 1 1 razorCommentTransition 0
0 0 1 91 0 //markupTagDelimiter
0 1 1 92 0 //markupElement
0 2 1 91 0 //markupTagDelimiter
0 1 1 91 0 //markupTagDelimiter
0 1 1 89 0 //razorCommentTransition
0 1 1 90 0 //razorCommentStar
0 1 4 88 0 //razorComment
1 0 6 88 0 //razorComment
1 0 3 88 0 //razorComment
0 3 1 90 0 //razorCommentStar
0 1 1 89 0 //razorCommentTransition

Просмотреть файл

@ -1,52 +1,52 @@
//line,characterPos,length,tokenType,modifier
0 0 1 razorTransition 0
0 1 9 razorDirective 0
0 10 1 razorTransition 0
1 16 7 keyword 0
0 8 4 keyword 0
0 5 14 method name 0
0 14 1 punctuation 0
0 1 6 keyword 0
0 7 11 parameter name 0
0 11 1 punctuation 0
0 2 3 keyword 0
0 4 4 parameter name 0
0 4 1 punctuation 0
1 16 1 punctuation 0
1 20 2 keyword - control 0
0 3 1 punctuation 0
0 1 4 parameter name 0
0 5 1 operator 0
0 2 1 number 0
0 1 1 punctuation 0
1 20 1 punctuation 0
1 24 1 markupTagDelimiter 0
0 1 1 markupElement 0
0 2 5 markupAttribute 0
0 5 1 markupOperator 0
0 1 1 markupAttributeQuote 0
0 1 5 markupAttributeQuote 0
0 5 1 markupAttributeQuote 0
0 1 1 markupTagDelimiter 0
1 28 1 razorTransition 0
0 1 2 keyword - control 0
0 2 1 punctuation 0
0 1 4 parameter name 0
0 5 1 operator 0
0 2 1 number 0
0 1 1 punctuation 0
1 28 1 punctuation 0
1 32 6 razorDirective 0
0 6 1 razorTransition 0
0 1 8 variable 0
0 8 1 operator 0
0 1 3 variable 0
0 3 7 razorDirective 0
1 28 1 punctuation 0
1 24 1 markupTagDelimiter 0
0 1 1 markupTagDelimiter 0
0 1 1 markupElement 0
0 1 1 markupTagDelimiter 0
1 20 1 punctuation 0
1 16 1 punctuation 0
1 12 1 razorTransition 0
0 0 1 84 0 //razorTransition
0 1 9 87 0 //razorDirective
0 10 1 84 0 //razorTransition
1 16 7 15 0 //keyword
0 8 4 15 0 //keyword
0 5 14 35 0 //method name
0 14 1 43 0 //punctuation
0 1 6 15 0 //keyword
0 7 11 39 0 //parameter name
0 11 1 43 0 //punctuation
0 2 3 15 0 //keyword
0 4 4 39 0 //parameter name
0 4 1 43 0 //punctuation
1 16 1 43 0 //punctuation
1 20 2 24 0 //keyword - control
0 3 1 43 0 //punctuation
0 1 4 39 0 //parameter name
0 5 1 21 0 //operator
0 2 1 19 0 //number
0 1 1 43 0 //punctuation
1 20 1 43 0 //punctuation
1 24 1 91 0 //markupTagDelimiter
0 1 1 92 0 //markupElement
0 2 5 94 0 //markupAttribute
0 5 1 93 0 //markupOperator
0 1 1 95 0 //markupAttributeQuote
0 1 5 95 0 //markupAttributeQuote
0 5 1 95 0 //markupAttributeQuote
0 1 1 91 0 //markupTagDelimiter
1 28 1 84 0 //razorTransition
0 1 2 24 0 //keyword - control
0 2 1 43 0 //punctuation
0 1 4 39 0 //parameter name
0 5 1 21 0 //operator
0 2 1 19 0 //number
0 1 1 43 0 //punctuation
1 28 1 43 0 //punctuation
1 32 6 87 0 //razorDirective
0 6 1 84 0 //razorTransition
0 1 8 8 0 //variable
0 8 1 21 0 //operator
0 1 3 8 0 //variable
0 3 7 87 0 //razorDirective
1 28 1 43 0 //punctuation
1 24 1 91 0 //markupTagDelimiter
0 1 1 91 0 //markupTagDelimiter
0 1 1 92 0 //markupElement
0 1 1 91 0 //markupTagDelimiter
1 20 1 43 0 //punctuation
1 16 1 43 0 //punctuation
1 12 1 84 0 //razorTransition

Просмотреть файл

@ -1,20 +1,20 @@
//line,characterPos,length,tokenType,modifier
0 0 1 razorTransition 0
0 1 9 razorDirective 0
0 10 1 razorTransition 0
1 16 6 variable 0
0 6 1 punctuation 0
0 1 6 keyword 0
0 6 1 punctuation 0
0 2 3 field name 0
0 4 1 operator 0
0 2 1 razorTransition 0
0 1 1 markupTagDelimiter 0
0 1 4 markupElement 0
0 4 1 markupTagDelimiter 0
0 1 1 markupTagDelimiter 0
0 1 1 markupTagDelimiter 0
0 1 4 markupElement 0
0 4 1 markupTagDelimiter 0
0 1 1 punctuation 0
1 12 1 razorTransition 0
0 0 1 84 0 //razorTransition
0 1 9 87 0 //razorDirective
0 10 1 84 0 //razorTransition
1 16 6 8 0 //variable
0 6 1 43 0 //punctuation
0 1 6 15 0 //keyword
0 6 1 43 0 //punctuation
0 2 3 31 0 //field name
0 4 1 21 0 //operator
0 2 1 84 0 //razorTransition
0 1 1 91 0 //markupTagDelimiter
0 1 4 92 0 //markupElement
0 4 1 91 0 //markupTagDelimiter
0 1 1 91 0 //markupTagDelimiter
0 1 1 91 0 //markupTagDelimiter
0 1 4 92 0 //markupElement
0 4 1 91 0 //markupTagDelimiter
0 1 1 43 0 //punctuation
1 12 1 84 0 //razorTransition

Просмотреть файл

@ -1,16 +1,16 @@
//line,characterPos,length,tokenType,modifier
0 0 1 razorTransition 0
0 1 12 razorDirective 0
0 13 15 string 0
1 0 1 markupTagDelimiter 0
0 1 5 markupElement 0
0 6 8 markupAttribute 0
0 8 1 markupOperator 0
0 1 1 markupAttributeQuote 0
0 1 4 markupAttributeQuote 0
0 4 1 markupAttributeQuote 0
0 1 1 markupTagDelimiter 0
0 1 1 markupTagDelimiter 0
0 1 1 markupTagDelimiter 0
0 1 5 markupElement 0
0 5 1 markupTagDelimiter 0
0 0 1 84 0 //razorTransition
0 1 12 87 0 //razorDirective
0 13 15 18 0 //string
1 0 1 91 0 //markupTagDelimiter
0 1 5 92 0 //markupElement
0 6 8 94 0 //markupAttribute
0 8 1 93 0 //markupOperator
0 1 1 95 0 //markupAttributeQuote
0 1 4 95 0 //markupAttributeQuote
0 4 1 95 0 //markupAttributeQuote
0 1 1 91 0 //markupTagDelimiter
0 1 1 91 0 //markupTagDelimiter
0 1 1 91 0 //markupTagDelimiter
0 1 5 92 0 //markupElement
0 5 1 91 0 //markupTagDelimiter

Просмотреть файл

@ -1,8 +1,8 @@
//line,characterPos,length,tokenType,modifier
0 0 1 razorTransition 0
0 1 5 keyword 0
0 6 9 variable 0
0 9 1 operator 0
0 1 10 variable 0
0 10 1 operator 0
0 1 5 variable 0
0 0 1 84 0 //razorTransition
0 1 5 15 0 //keyword
0 6 9 8 0 //variable
0 9 1 21 0 //operator
0 1 10 8 0 //variable
0 10 1 21 0 //operator
0 1 5 8 0 //variable

Просмотреть файл

@ -1,21 +1,21 @@
//line,characterPos,length,tokenType,modifier
0 0 1 razorTransition 0
0 1 12 razorDirective 0
0 13 15 string 0
1 0 1 markupTagDelimiter 0
0 1 5 markupElement 0
0 6 8 markupAttribute 0
0 8 1 markupOperator 0
0 1 1 markupAttributeQuote 0
0 1 4 markupAttributeQuote 0
0 4 1 markupAttributeQuote 0
0 2 5 markupAttribute 0
0 5 1 markupOperator 0
0 1 1 markupAttributeQuote 0
0 1 12 markupAttributeQuote 0
0 12 1 markupAttributeQuote 0
0 1 1 markupTagDelimiter 0
0 1 1 markupTagDelimiter 0
0 1 1 markupTagDelimiter 0
0 1 5 markupElement 0
0 5 1 markupTagDelimiter 0
0 0 1 84 0 //razorTransition
0 1 12 87 0 //razorDirective
0 13 15 18 0 //string
1 0 1 91 0 //markupTagDelimiter
0 1 5 92 0 //markupElement
0 6 8 94 0 //markupAttribute
0 8 1 93 0 //markupOperator
0 1 1 95 0 //markupAttributeQuote
0 1 4 95 0 //markupAttributeQuote
0 4 1 95 0 //markupAttributeQuote
0 2 5 94 0 //markupAttribute
0 5 1 93 0 //markupOperator
0 1 1 95 0 //markupAttributeQuote
0 1 12 95 0 //markupAttributeQuote
0 12 1 95 0 //markupAttributeQuote
0 1 1 91 0 //markupTagDelimiter
0 1 1 91 0 //markupTagDelimiter
0 1 1 91 0 //markupTagDelimiter
0 1 5 92 0 //markupElement
0 5 1 91 0 //markupTagDelimiter

Просмотреть файл

@ -1,15 +1,15 @@
//line,characterPos,length,tokenType,modifier
0 0 1 razorTransition 0
0 1 12 razorDirective 0
1 0 1 markupTagDelimiter 0
0 1 5 razorTagHelperElement 0
0 6 8 razorTagHelperAttribute 0
0 8 1 markupOperator 0
0 1 1 markupAttributeQuote 0
0 1 4 keyword 0
0 4 1 markupAttributeQuote 0
0 1 1 markupTagDelimiter 0
0 1 1 markupTagDelimiter 0
0 1 1 markupTagDelimiter 0
0 1 5 razorTagHelperElement 0
0 5 1 markupTagDelimiter 0
0 0 1 84 0 //razorTransition
0 1 12 87 0 //razorDirective
1 0 1 91 0 //markupTagDelimiter
0 1 5 82 0 //razorTagHelperElement
0 6 8 83 0 //razorTagHelperAttribute
0 8 1 93 0 //markupOperator
0 1 1 95 0 //markupAttributeQuote
0 1 4 15 0 //keyword
0 4 1 95 0 //markupAttributeQuote
0 1 1 91 0 //markupTagDelimiter
0 1 1 91 0 //markupTagDelimiter
0 1 1 91 0 //markupTagDelimiter
0 1 5 82 0 //razorTagHelperElement
0 5 1 91 0 //markupTagDelimiter