Deal with multiline markdown literals (#2958)

Deal with multiline markdown literals
This commit is contained in:
Ryan Brandenburg 2021-01-19 16:39:07 -08:00 коммит произвёл GitHub
Родитель de75fa18bb
Коммит e54307bdba
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
51 изменённых файлов: 102 добавлений и 166 удалений

2
.gitignore поставляемый
Просмотреть файл

@ -150,3 +150,5 @@ src/Razor/benchmarks/Microsoft.AspNetCore.Razor.Performance/BenchmarkDotNet.Arti
# Yarn Logs
yarn-*.log
*.svclog

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

@ -46,7 +46,10 @@ namespace Microsoft.AspNetCore.Razor.LanguageServer.Semantic
#region HTML
public override void VisitMarkupTextLiteral(MarkupTextLiteralSyntax node)
{
AddSemanticRange(node, RazorSemanticTokensLegend.MarkupTextLiteral);
if (!node.ContainsOnlyWhitespace())
{
AddSemanticRange(node, RazorSemanticTokensLegend.MarkupTextLiteral);
}
}
public override void VisitMarkupLiteralAttributeValue(MarkupLiteralAttributeValueSyntax node)
@ -388,11 +391,37 @@ namespace Microsoft.AspNetCore.Razor.LanguageServer.Semantic
var source = _razorCodeDocument.Source;
var range = node.GetRange(source);
var semanticRange = new SemanticRange(semanticKind, range, modifier: 0);
if (_range is null || semanticRange.Range.OverlapsWith(_range))
// LSP spec forbids multi-line tokens, so we need to split this up.
// Thankfully all instances of this have multiple component tokens.
if (range.Start.Line != range.End.Line)
{
_semanticRanges.Add(semanticRange);
// We have to iterate over the individual nodes because this node might consist of multiple lines
// ie: "/r/ntext/r/n" would be parsed as one node containing three elements (newline, "text", newline).
foreach (var token in node.ChildNodes())
{
// We skip whitespace to avoid "multiline" ranges for "/r/n", where the /n is interpreted as being on a new line.
// This also stops us from returning data for " ", which seems like a nice side-effect as it's not likly to have any colorization anyway.
if (!token.ContainsOnlyWhitespace())
{
var tokenRange = token.GetRange(source);
var semantic = new SemanticRange(semanticKind, tokenRange, modifier: 0);
AddRange(semantic);
}
}
}
else
{
var semanticRange = new SemanticRange(semanticKind, range, modifier: 0);
AddRange(semanticRange);
}
void AddRange(SemanticRange semanticRange)
{
if (_range is null || semanticRange.Range.OverlapsWith(_range))
{
_semanticRanges.Add(semanticRange);
}
}
}
}

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

@ -306,6 +306,14 @@ namespace Microsoft.AspNetCore.Razor.LanguageServer.Test.Semantic
#endregion
#region HTML
[Fact]
public async Task GetSemanticTokens_MultipleBlankLines()
{
var txt = $"@addTagHelper *, TestAssembly{Environment.NewLine}{Environment.NewLine}{Environment.NewLine}<p>first{Environment.NewLine}second</p>";
await AssertSemanticTokens(txt, isRazor: false);
}
[Fact]
public async Task GetSemanticTokens_HTMLCommentWithCSharp()
{

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

@ -1,8 +1,6 @@
//line,characterPos,length,tokenType,modifier
0 0 1 73 0 //razorTransition
0 1 12 76 0 //razorDirective
0 12 1 85 0 //markupTextLiteral
0 16 2 85 0 //markupTextLiteral
1 0 1 73 0 //razorTransition
0 1 1 36 0 //punctuation
0 1 8 8 0 //variable

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

@ -1,8 +1,6 @@
//line,characterPos,length,tokenType,modifier
0 0 1 73 0 //razorTransition
0 1 12 76 0 //razorDirective
0 12 1 85 0 //markupTextLiteral
0 16 2 85 0 //markupTextLiteral
1 0 1 73 0 //razorTransition
0 1 1 73 0 //razorTransition
0 2 3 15 0 //keyword

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

@ -1,8 +1,6 @@
//line,characterPos,length,tokenType,modifier
0 0 1 73 0 //razorTransition
0 1 12 76 0 //razorDirective
0 12 1 85 0 //markupTextLiteral
0 16 2 85 0 //markupTextLiteral
1 0 1 73 0 //razorTransition
0 1 1 73 0 //razorTransition
0 2 3 15 0 //keyword

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

@ -1,8 +1,6 @@
//line,characterPos,length,tokenType,modifier
0 0 1 73 0 //razorTransition
0 1 12 76 0 //razorDirective
0 12 1 85 0 //markupTextLiteral
0 16 2 85 0 //markupTextLiteral
1 0 4 86 0 //markupCommentPunctuation
0 4 1 73 0 //razorTransition
0 1 1 73 0 //razorTransition

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

@ -1,8 +1,6 @@
//line,characterPos,length,tokenType,modifier
0 0 1 73 0 //razorTransition
0 1 12 76 0 //razorDirective
0 12 1 85 0 //markupTextLiteral
0 16 2 85 0 //markupTextLiteral
1 0 1 73 0 //razorTransition
0 1 1 73 0 //razorTransition
0 2 3 15 0 //keyword

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

@ -1,8 +1,6 @@
//line,characterPos,length,tokenType,modifier
0 0 1 73 0 //razorTransition
0 1 12 76 0 //razorDirective
0 12 1 85 0 //markupTextLiteral
0 16 2 85 0 //markupTextLiteral
1 0 1 73 0 //razorTransition
0 1 1 73 0 //razorTransition
0 2 3 15 0 //keyword

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

@ -1,8 +1,6 @@
//line,characterPos,length,tokenType,modifier
0 0 1 73 0 //razorTransition
0 1 12 76 0 //razorDirective
0 12 1 85 0 //markupTextLiteral
0 16 2 85 0 //markupTextLiteral
1 0 1 73 0 //razorTransition
0 1 1 73 0 //razorTransition
0 10 1 73 0 //razorTransition

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

@ -1,12 +1,9 @@
//line,characterPos,length,tokenType,modifier
0 0 1 73 0 //razorTransition
0 1 12 76 0 //razorDirective
0 12 1 85 0 //markupTextLiteral
0 16 2 85 0 //markupTextLiteral
1 0 1 80 0 //markupTagDelimiter
0 1 1 81 0 //markupElement
0 1 1 85 0 //markupTextLiteral
0 1 8 83 0 //markupAttribute
0 2 8 83 0 //markupAttribute
0 8 1 82 0 //markupOperator
0 1 1 84 0 //markupAttributeQuote
0 1 4 84 0 //markupAttributeQuote
@ -16,4 +13,3 @@
0 1 1 80 0 //markupTagDelimiter
0 1 1 81 0 //markupElement
0 1 1 80 0 //markupTagDelimiter
0 1 1 85 0 //markupTextLiteral

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

@ -1,9 +1,6 @@
//line,characterPos,length,tokenType,modifier
0 0 1 73 0 //razorTransition
0 1 12 76 0 //razorDirective
0 12 1 85 0 //markupTextLiteral
0 16 2 85 0 //markupTextLiteral
1 0 4 86 0 //markupCommentPunctuation
0 4 22 87 0 //markupComment
0 22 3 86 0 //markupCommentPunctuation
0 3 1 85 0 //markupTextLiteral

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

@ -1,8 +1,6 @@
//line,characterPos,length,tokenType,modifier
0 0 1 73 0 //razorTransition
0 1 12 76 0 //razorDirective
0 12 1 85 0 //markupTextLiteral
0 16 2 85 0 //markupTextLiteral
1 0 4 86 0 //markupCommentPunctuation
0 4 1 87 0 //markupComment
0 1 1 73 0 //razorTransition

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

@ -1,8 +1,6 @@
//line,characterPos,length,tokenType,modifier
0 0 1 73 0 //razorTransition
0 1 12 76 0 //razorDirective
0 12 1 85 0 //markupTextLiteral
0 16 2 85 0 //markupTextLiteral
1 0 1 80 0 //markupTagDelimiter
0 1 1 81 0 //markupElement
0 1 5 81 0 //markupElement

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

@ -1,8 +1,6 @@
//line,characterPos,length,tokenType,modifier
0 0 1 73 0 //razorTransition
0 1 12 76 0 //razorDirective
0 12 1 85 0 //markupTextLiteral
0 16 2 85 0 //markupTextLiteral
1 0 1 78 0 //razorCommentTransition
0 1 1 79 0 //razorCommentStar
0 1 8 77 0 //razorComment

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

@ -1,17 +1,13 @@
//line,characterPos,length,tokenType,modifier
0 0 1 73 0 //razorTransition
0 1 12 76 0 //razorDirective
0 12 1 85 0 //markupTextLiteral
0 16 2 85 0 //markupTextLiteral
1 0 1 80 0 //markupTagDelimiter
0 1 5 71 0 //razorTagHelperElement
0 5 1 85 0 //markupTextLiteral
0 1 8 72 0 //razorTagHelperAttribute
0 6 8 72 0 //razorTagHelperAttribute
0 8 1 82 0 //markupOperator
0 1 1 84 0 //markupAttributeQuote
0 5 1 84 0 //markupAttributeQuote
0 1 1 85 0 //markupTextLiteral
0 1 5 83 0 //markupAttribute
0 2 5 83 0 //markupAttribute
0 5 1 82 0 //markupOperator
0 1 1 84 0 //markupAttributeQuote
0 1 12 84 0 //markupAttributeQuote
@ -21,4 +17,3 @@
0 1 1 80 0 //markupTagDelimiter
0 1 5 71 0 //razorTagHelperElement
0 5 1 80 0 //markupTagDelimiter
0 1 1 85 0 //markupTextLiteral

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

@ -1,15 +1,11 @@
//line,characterPos,length,tokenType,modifier
0 0 1 73 0 //razorTransition
0 1 12 76 0 //razorDirective
0 12 1 85 0 //markupTextLiteral
0 16 2 85 0 //markupTextLiteral
1 0 1 80 0 //markupTagDelimiter
0 1 5 71 0 //razorTagHelperElement
0 5 1 85 0 //markupTextLiteral
0 1 8 72 0 //razorTagHelperAttribute
0 6 8 72 0 //razorTagHelperAttribute
0 8 1 80 0 //markupTagDelimiter
0 1 1 80 0 //markupTagDelimiter
0 1 1 80 0 //markupTagDelimiter
0 1 5 71 0 //razorTagHelperElement
0 5 1 80 0 //markupTagDelimiter
0 1 1 85 0 //markupTextLiteral

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

@ -1,10 +1,7 @@
//line,characterPos,length,tokenType,modifier
0 0 1 73 0 //razorTransition
0 1 12 76 0 //razorDirective
0 12 1 85 0 //markupTextLiteral
0 16 2 85 0 //markupTextLiteral
1 0 1 80 0 //markupTagDelimiter
0 1 5 81 0 //markupElement
0 5 1 80 0 //markupTagDelimiter
0 1 1 80 0 //markupTagDelimiter
0 1 1 85 0 //markupTextLiteral

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

@ -1,8 +1,6 @@
//line,characterPos,length,tokenType,modifier
0 0 1 80 0 //markupTagDelimiter
0 1 1 81 0 //markupElement
0 1 1 85 0 //markupTextLiteral
0 1 4 83 0 //markupAttribute
0 4 1 85 0 //markupTextLiteral
0 1 1 80 0 //markupTagDelimiter
0 2 4 83 0 //markupAttribute
0 5 1 80 0 //markupTagDelimiter
0 1 1 80 0 //markupTagDelimiter

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

@ -0,0 +1,12 @@
//line,characterPos,length,tokenType,modifier
0 0 1 73 0 //razorTransition
0 1 12 76 0 //razorDirective
3 0 1 80 0 //markupTagDelimiter
0 1 1 81 0 //markupElement
0 1 1 80 0 //markupTagDelimiter
0 1 5 85 0 //markupTextLiteral
1 0 6 85 0 //markupTextLiteral
0 6 1 80 0 //markupTagDelimiter
0 1 1 80 0 //markupTagDelimiter
0 1 1 81 0 //markupElement
0 1 1 80 0 //markupTagDelimiter

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

@ -1,8 +1,6 @@
//line,characterPos,length,tokenType,modifier
0 0 1 73 0 //razorTransition
0 1 12 76 0 //razorDirective
0 12 1 85 0 //markupTextLiteral
0 16 2 85 0 //markupTextLiteral
1 0 1 80 0 //markupTagDelimiter
0 1 5 71 0 //razorTagHelperElement
0 5 1 80 0 //markupTagDelimiter
@ -10,4 +8,3 @@
0 1 1 80 0 //markupTagDelimiter
0 1 5 71 0 //razorTagHelperElement
0 5 1 80 0 //markupTagDelimiter
0 1 1 85 0 //markupTextLiteral

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

@ -1,6 +1,4 @@
//line,characterPos,length,tokenType,modifier
0 0 1 73 0 //razorTransition
0 1 12 76 0 //razorDirective
0 12 1 85 0 //markupTextLiteral
0 16 2 85 0 //markupTextLiteral
1 0 12 85 0 //markupTextLiteral

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

@ -1,11 +1,7 @@
//line,characterPos,length,tokenType,modifier
0 0 1 73 0 //razorTransition
0 1 12 76 0 //razorDirective
0 12 1 85 0 //markupTextLiteral
0 16 2 85 0 //markupTextLiteral
1 0 1 80 0 //markupTagDelimiter
0 1 5 71 0 //razorTagHelperElement
0 5 1 85 0 //markupTextLiteral
0 6 1 80 0 //markupTagDelimiter
0 1 1 80 0 //markupTagDelimiter
0 1 1 80 0 //markupTagDelimiter
0 1 1 85 0 //markupTextLiteral

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

@ -1,8 +1,7 @@
Delta
17 0 [ 4 85 0 ]
18 0 [ 0 1 80 0 0 1 1 81 0 0 1 1 ]
19 0 [ 0 ]
21 1 [ ]
23 1 [ 73 ]
27 2 [ 9 75 ]
31 1 [ 9 ]
10 0 [ 2 0 ]
11 0 [ 80 ]
12 0 [ 0 1 ]
13 1 [ 81 0 0 2 1 73 ]
17 2 [ 9 75 ]
21 1 [ 10 ]

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

@ -1,12 +1,9 @@
//line,characterPos,length,tokenType,modifier
0 0 1 73 0 //razorTransition
0 1 12 76 0 //razorDirective
0 12 1 85 0 //markupTextLiteral
0 16 2 85 0 //markupTextLiteral
1 0 1 80 0 //markupTagDelimiter
0 1 10 71 0 //razorTagHelperElement
0 10 1 85 0 //markupTextLiteral
0 1 1 73 0 //razorTransition
0 11 1 73 0 //razorTransition
0 1 4 75 0 //razorDirectiveAttribute
0 4 1 74 0 //razorDirectiveColon
0 1 9 75 0 //razorDirectiveAttribute
@ -19,4 +16,3 @@
0 1 1 80 0 //markupTagDelimiter
0 1 10 71 0 //razorTagHelperElement
0 10 1 80 0 //markupTagDelimiter
0 1 1 85 0 //markupTextLiteral

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

@ -1,12 +1,9 @@
//line,characterPos,length,tokenType,modifier
0 0 1 73 0 //razorTransition
0 1 12 76 0 //razorDirective
0 12 1 85 0 //markupTextLiteral
0 16 2 85 0 //markupTextLiteral
1 0 1 80 0 //markupTagDelimiter
0 1 10 71 0 //razorTagHelperElement
0 10 1 85 0 //markupTextLiteral
0 1 1 73 0 //razorTransition
0 11 1 73 0 //razorTransition
0 1 4 75 0 //razorDirectiveAttribute
0 4 1 82 0 //markupOperator
0 1 1 84 0 //markupAttributeQuote
@ -17,4 +14,3 @@
0 1 1 80 0 //markupTagDelimiter
0 1 10 71 0 //razorTagHelperElement
0 10 1 80 0 //markupTagDelimiter
0 1 1 85 0 //markupTextLiteral

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

@ -1,9 +1,7 @@
//line,characterPos,length,tokenType,modifier
0 0 2 85 0 //markupTextLiteral
1 0 1 80 0 //markupTagDelimiter
0 1 1 81 0 //markupElement
0 1 1 85 0 //markupTextLiteral
0 1 1 73 0 //razorTransition
0 2 1 73 0 //razorTransition
0 1 4 75 0 //razorDirectiveAttribute
0 4 1 82 0 //markupOperator
0 1 1 84 0 //markupAttributeQuote
@ -14,4 +12,3 @@
0 1 1 80 0 //markupTagDelimiter
0 1 1 81 0 //markupElement
0 1 1 80 0 //markupTagDelimiter
0 1 1 85 0 //markupTextLiteral

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

@ -1,6 +1,7 @@
//line,characterPos,length,tokenType,modifier
0 0 1 73 0 //razorTransition
0 14 18 85 0 //markupTextLiteral
0 15 2 85 0 //markupTextLiteral
0 3 12 85 0 //markupTextLiteral
1 0 1 80 0 //markupTagDelimiter
0 1 1 81 0 //markupElement
0 1 1 80 0 //markupTagDelimiter
@ -8,4 +9,3 @@
0 1 1 80 0 //markupTagDelimiter
0 1 1 81 0 //markupElement
0 1 1 80 0 //markupTagDelimiter
0 1 1 85 0 //markupTextLiteral

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

@ -1,8 +1,6 @@
//line,characterPos,length,tokenType,modifier
0 0 1 73 0 //razorTransition
0 1 12 76 0 //razorDirective
0 12 1 85 0 //markupTextLiteral
0 16 2 85 0 //markupTextLiteral
1 0 1 80 0 //markupTagDelimiter
0 1 5 81 0 //markupElement
0 5 1 80 0 //markupTagDelimiter

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

@ -1,8 +1,6 @@
//line,characterPos,length,tokenType,modifier
0 0 1 73 0 //razorTransition
0 1 12 76 0 //razorDirective
0 12 1 85 0 //markupTextLiteral
0 16 2 85 0 //markupTextLiteral
1 0 1 80 0 //markupTagDelimiter
0 1 5 71 0 //razorTagHelperElement
0 5 1 80 0 //markupTagDelimiter
@ -10,4 +8,3 @@
0 1 1 80 0 //markupTagDelimiter
0 1 5 71 0 //razorTagHelperElement
0 5 1 80 0 //markupTagDelimiter
0 1 1 85 0 //markupTextLiteral

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

@ -1,16 +1,11 @@
//line,characterPos,length,tokenType,modifier
0 0 1 73 0 //razorTransition
0 1 12 76 0 //razorDirective
0 12 1 85 0 //markupTextLiteral
0 16 2 85 0 //markupTextLiteral
1 0 1 80 0 //markupTagDelimiter
0 1 11 71 0 //razorTagHelperElement
0 11 1 85 0 //markupTextLiteral
0 1 1 73 0 //razorTransition
0 12 1 73 0 //razorTransition
0 1 9 75 0 //razorDirectiveAttribute
0 9 1 74 0 //razorDirectiveColon
0 1 9 75 0 //razorDirectiveAttribute
0 9 1 85 0 //markupTextLiteral
0 10 1 80 0 //markupTagDelimiter
0 1 1 80 0 //markupTagDelimiter
0 1 1 80 0 //markupTagDelimiter
0 1 1 85 0 //markupTextLiteral

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

@ -1,38 +1,27 @@
//line,characterPos,length,tokenType,modifier
0 0 1 73 0 //razorTransition
0 1 12 76 0 //razorDirective
0 12 1 85 0 //markupTextLiteral
0 16 2 85 0 //markupTextLiteral
1 0 1 80 0 //markupTagDelimiter
0 1 5 71 0 //razorTagHelperElement
0 5 1 85 0 //markupTextLiteral
0 1 8 72 0 //razorTagHelperAttribute
0 6 8 72 0 //razorTagHelperAttribute
0 8 1 82 0 //markupOperator
0 1 1 84 0 //markupAttributeQuote
0 5 1 84 0 //markupAttributeQuote
0 1 1 85 0 //markupTextLiteral
0 2 1 80 0 //markupTagDelimiter
0 1 1 80 0 //markupTagDelimiter
0 1 1 80 0 //markupTagDelimiter
0 1 2 85 0 //markupTextLiteral
1 0 1 80 0 //markupTagDelimiter
0 1 5 71 0 //razorTagHelperElement
0 5 1 85 0 //markupTextLiteral
0 1 8 72 0 //razorTagHelperAttribute
0 6 8 72 0 //razorTagHelperAttribute
0 8 1 82 0 //markupOperator
0 1 1 84 0 //markupAttributeQuote
0 5 1 84 0 //markupAttributeQuote
0 1 1 85 0 //markupTextLiteral
0 2 1 80 0 //markupTagDelimiter
0 1 1 80 0 //markupTagDelimiter
0 1 1 80 0 //markupTagDelimiter
0 1 2 85 0 //markupTextLiteral
1 0 1 80 0 //markupTagDelimiter
0 1 5 71 0 //razorTagHelperElement
0 5 1 85 0 //markupTextLiteral
0 1 8 72 0 //razorTagHelperAttribute
0 6 8 72 0 //razorTagHelperAttribute
0 8 1 82 0 //markupOperator
0 1 1 84 0 //markupAttributeQuote
0 5 1 84 0 //markupAttributeQuote
0 1 1 85 0 //markupTextLiteral
0 2 1 80 0 //markupTagDelimiter
0 1 1 80 0 //markupTagDelimiter
0 1 1 80 0 //markupTagDelimiter
0 1 2 85 0 //markupTextLiteral

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

@ -1,4 +1,4 @@
Delta
37 2 [ 7 83 ]
41 1 [ 7 ]
51 1 [ 1 4 84 0 0 4 ]
22 2 [ 7 83 ]
26 1 [ 7 ]
36 1 [ 1 4 84 0 0 4 ]

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

@ -1,8 +1,6 @@
//line,characterPos,length,tokenType,modifier
0 0 1 73 0 //razorTransition
0 1 12 76 0 //razorDirective
0 12 1 85 0 //markupTextLiteral
0 16 2 85 0 //markupTextLiteral
1 0 1 80 0 //markupTagDelimiter
0 1 5 71 0 //razorTagHelperElement
0 5 1 80 0 //markupTagDelimiter
@ -10,4 +8,3 @@
0 1 1 80 0 //markupTagDelimiter
0 1 5 71 0 //razorTagHelperElement
0 5 1 80 0 //markupTagDelimiter
0 1 1 85 0 //markupTextLiteral

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

@ -1,12 +1,9 @@
//line,characterPos,length,tokenType,modifier
0 0 1 73 0 //razorTransition
0 1 12 76 0 //razorDirective
0 12 1 85 0 //markupTextLiteral
0 16 2 85 0 //markupTextLiteral
1 0 1 80 0 //markupTagDelimiter
0 1 5 81 0 //markupElement
0 5 1 85 0 //markupTextLiteral
0 1 8 83 0 //markupAttribute
0 6 8 83 0 //markupAttribute
0 8 1 82 0 //markupOperator
0 1 1 84 0 //markupAttributeQuote
0 1 4 84 0 //markupAttributeQuote
@ -16,4 +13,3 @@
0 1 1 80 0 //markupTagDelimiter
0 1 5 81 0 //markupElement
0 5 1 80 0 //markupTagDelimiter
0 1 1 85 0 //markupTextLiteral

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

@ -1,8 +1,6 @@
//line,characterPos,length,tokenType,modifier
0 0 1 73 0 //razorTransition
0 1 12 76 0 //razorDirective
0 12 1 85 0 //markupTextLiteral
0 16 2 85 0 //markupTextLiteral
1 0 1 80 0 //markupTagDelimiter
0 1 5 71 0 //razorTagHelperElement
0 5 1 80 0 //markupTagDelimiter
@ -10,4 +8,3 @@
0 1 1 80 0 //markupTagDelimiter
0 1 5 71 0 //razorTagHelperElement
0 5 1 80 0 //markupTagDelimiter
0 1 1 85 0 //markupTextLiteral

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

@ -1,2 +1,3 @@
Delta
33 0 [ 85 0 0 1 8 72 0 0 8 1 82 0 0 1 1 84 0 0 5 1 84 0 0 1 1 ]
21 0 [ 6 8 72 0 0 8 1 82 0 0 1 1 84 0 0 ]
22 0 [ 1 84 0 0 1 ]

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

@ -1,8 +1,6 @@
//line,characterPos,length,tokenType,modifier
0 0 1 73 0 //razorTransition
0 1 12 76 0 //razorDirective
0 12 1 85 0 //markupTextLiteral
0 16 2 85 0 //markupTextLiteral
1 0 1 80 0 //markupTagDelimiter
0 1 5 71 0 //razorTagHelperElement
0 5 1 80 0 //markupTagDelimiter
@ -10,4 +8,3 @@
0 1 1 80 0 //markupTagDelimiter
0 1 5 71 0 //razorTagHelperElement
0 5 1 80 0 //markupTagDelimiter
0 1 1 85 0 //markupTextLiteral

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

@ -1,2 +1,2 @@
Delta
58 0 [ 80 0 0 1 5 71 0 0 5 1 80 0 0 1 1 80 0 0 1 1 80 0 0 1 5 71 0 0 5 1 80 0 0 1 1 ]
45 0 [ 0 1 1 80 0 0 1 5 71 0 0 5 1 80 0 0 1 1 80 0 0 1 1 80 0 0 1 5 71 0 0 5 1 80 0 ]

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

@ -1,8 +1,6 @@
//line,characterPos,length,tokenType,modifier
0 0 1 73 0 //razorTransition
0 1 12 76 0 //razorDirective
0 12 1 85 0 //markupTextLiteral
0 16 2 85 0 //markupTextLiteral
1 0 1 80 0 //markupTagDelimiter
0 1 5 71 0 //razorTagHelperElement
0 5 1 80 0 //markupTagDelimiter
@ -10,4 +8,3 @@
0 1 1 80 0 //markupTagDelimiter
0 1 5 71 0 //razorTagHelperElement
0 5 1 80 0 //markupTagDelimiter
0 1 1 85 0 //markupTextLiteral

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

@ -1,2 +1,2 @@
Delta
57 0 [ 2 85 0 1 0 1 80 0 0 1 5 71 0 0 5 1 80 0 0 1 1 80 0 0 1 1 80 0 0 1 5 71 0 0 5 1 80 0 0 1 ]
45 0 [ 1 0 1 80 0 0 1 5 71 0 0 5 1 80 0 0 1 1 80 0 0 1 1 80 0 0 1 5 71 0 0 5 1 80 0 ]

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

@ -1,5 +1,3 @@
//line,characterPos,length,tokenType,modifier
0 0 1 73 0 //razorTransition
0 1 12 76 0 //razorDirective
0 12 1 85 0 //markupTextLiteral
0 16 2 85 0 //markupTextLiteral

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

@ -1,2 +1,2 @@
Delta
20 0 [ 1 0 1 80 0 0 1 5 71 0 0 5 1 80 0 0 1 1 80 0 0 1 1 80 0 0 1 5 71 0 0 5 1 80 0 0 1 1 85 0 ]
10 0 [ 1 0 1 80 0 0 1 5 71 0 0 5 1 80 0 0 1 1 80 0 0 1 1 80 0 0 1 5 71 0 0 5 1 80 0 ]

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

@ -1,8 +1,6 @@
//line,characterPos,length,tokenType,modifier
0 0 1 73 0 //razorTransition
0 1 12 76 0 //razorDirective
0 12 1 85 0 //markupTextLiteral
0 16 2 85 0 //markupTextLiteral
1 0 1 80 0 //markupTagDelimiter
0 1 5 71 0 //razorTagHelperElement
0 5 1 80 0 //markupTagDelimiter
@ -24,4 +22,3 @@
0 1 1 80 0 //markupTagDelimiter
0 1 5 71 0 //razorTagHelperElement
0 5 1 80 0 //markupTagDelimiter
0 1 1 85 0 //markupTextLiteral

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

@ -1,8 +1,6 @@
//line,characterPos,length,tokenType,modifier
0 0 1 73 0 //razorTransition
0 1 12 76 0 //razorDirective
0 12 1 85 0 //markupTextLiteral
0 16 2 85 0 //markupTextLiteral
1 0 1 80 0 //markupTagDelimiter
0 1 5 71 0 //razorTagHelperElement
0 5 1 80 0 //markupTagDelimiter
@ -10,4 +8,3 @@
0 1 1 80 0 //markupTagDelimiter
0 1 5 71 0 //razorTagHelperElement
0 5 1 80 0 //markupTagDelimiter
0 1 1 85 0 //markupTextLiteral

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

@ -1,5 +1,5 @@
Delta
27 2 [ 1 81 ]
31 1 [ 1 ]
47 2 [ 1 81 ]
51 1 [ 1 ]
17 2 [ 1 81 ]
21 1 [ 1 ]
37 2 [ 1 81 ]
41 1 [ 1 ]

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

@ -1,18 +1,14 @@
//line,characterPos,length,tokenType,modifier
0 0 1 73 0 //razorTransition
0 1 12 76 0 //razorDirective
0 12 1 85 0 //markupTextLiteral
0 16 2 85 0 //markupTextLiteral
1 0 1 80 0 //markupTagDelimiter
0 1 5 81 0 //markupElement
0 5 1 85 0 //markupTextLiteral
0 1 8 83 0 //markupAttribute
0 6 8 83 0 //markupAttribute
0 8 1 82 0 //markupOperator
0 1 1 84 0 //markupAttributeQuote
0 1 4 84 0 //markupAttributeQuote
0 4 1 84 0 //markupAttributeQuote
0 1 1 85 0 //markupTextLiteral
0 1 5 83 0 //markupAttribute
0 2 5 83 0 //markupAttribute
0 5 1 82 0 //markupOperator
0 1 1 84 0 //markupAttributeQuote
0 1 12 84 0 //markupAttributeQuote
@ -22,4 +18,3 @@
0 1 1 80 0 //markupTagDelimiter
0 1 5 81 0 //markupElement
0 5 1 80 0 //markupTagDelimiter
0 1 1 85 0 //markupTextLiteral

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

@ -1,12 +1,9 @@
//line,characterPos,length,tokenType,modifier
0 0 1 73 0 //razorTransition
0 1 12 76 0 //razorDirective
0 12 1 85 0 //markupTextLiteral
0 16 2 85 0 //markupTextLiteral
1 0 1 80 0 //markupTagDelimiter
0 1 5 71 0 //razorTagHelperElement
0 5 1 85 0 //markupTextLiteral
0 1 8 72 0 //razorTagHelperAttribute
0 6 8 72 0 //razorTagHelperAttribute
0 8 1 82 0 //markupOperator
0 1 1 84 0 //markupAttributeQuote
0 5 1 84 0 //markupAttributeQuote
@ -15,4 +12,3 @@
0 1 1 80 0 //markupTagDelimiter
0 1 5 71 0 //razorTagHelperElement
0 5 1 80 0 //markupTagDelimiter
0 1 1 85 0 //markupTextLiteral