Make invalid namespace tokens support IntelliSense.
- Added a `DirectiveTokenEditHandler` to enable IntelliSense for invalid namespace tokens. - Added tests to verify new `DirectiveTokenEditHandler`. - Updated test expectations for `DirectiveTokenEditHandler`. #1393
This commit is contained in:
parent
2e8c154fcb
commit
1f32a8322e
|
|
@ -0,0 +1,49 @@
|
||||||
|
// Copyright (c) .NET Foundation. All rights reserved.
|
||||||
|
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using Microsoft.AspNetCore.Razor.Language.Legacy;
|
||||||
|
|
||||||
|
namespace Microsoft.AspNetCore.Razor.Language
|
||||||
|
{
|
||||||
|
internal class DirectiveTokenEditHandler : SpanEditHandler
|
||||||
|
{
|
||||||
|
public DirectiveTokenEditHandler(Func<string, IEnumerable<ISymbol>> tokenizer) : base(tokenizer)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override PartialParseResult CanAcceptChange(Span target, SourceChange change)
|
||||||
|
{
|
||||||
|
if (AcceptedCharacters == AcceptedCharacters.NonWhiteSpace)
|
||||||
|
{
|
||||||
|
var originalText = change.GetOriginalText(target);
|
||||||
|
var editedContent = change.GetEditedContent(target);
|
||||||
|
|
||||||
|
if (!ContainsWhitespace(originalText) && !ContainsWhitespace(editedContent))
|
||||||
|
{
|
||||||
|
// Did not modify whitespace, directive format should be the same.
|
||||||
|
// Return provisional so extensible IR/code gen pieces can see the full directive text
|
||||||
|
// once the user stops editing the document.
|
||||||
|
return PartialParseResult.Accepted | PartialParseResult.Provisional;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return PartialParseResult.Rejected;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private static bool ContainsWhitespace(string content)
|
||||||
|
{
|
||||||
|
for (var i = 0; i < content.Length; i++)
|
||||||
|
{
|
||||||
|
if (char.IsWhiteSpace(content[i]))
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1649,6 +1649,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
}
|
}
|
||||||
|
|
||||||
Span.ChunkGenerator = new DirectiveTokenChunkGenerator(tokenDescriptor);
|
Span.ChunkGenerator = new DirectiveTokenChunkGenerator(tokenDescriptor);
|
||||||
|
Span.EditHandler = new DirectiveTokenEditHandler(Language.TokenizeString);
|
||||||
Output(SpanKind.Code, AcceptedCharacters.NonWhiteSpace);
|
Output(SpanKind.Code, AcceptedCharacters.NonWhiteSpace);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -249,11 +249,7 @@ public class DivTagHelper : {typeof(TagHelper).FullName}
|
||||||
public void InvalidNamespaceAtEOF_DesignTime()
|
public void InvalidNamespaceAtEOF_DesignTime()
|
||||||
{
|
{
|
||||||
var references = CreateCompilationReferences(CurrentMvcShim);
|
var references = CreateCompilationReferences(CurrentMvcShim);
|
||||||
RunDesignTimeTest(references,
|
RunDesignTimeTest(references, expectedErrors: new[] { "Identifier expected" });
|
||||||
expectedErrors: new[]
|
|
||||||
{
|
|
||||||
"Identifier expected"
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,66 @@
|
||||||
|
// Copyright (c) .NET Foundation. All rights reserved.
|
||||||
|
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Text;
|
||||||
|
using Microsoft.AspNetCore.Razor.Language.Legacy;
|
||||||
|
using Xunit;
|
||||||
|
|
||||||
|
namespace Microsoft.AspNetCore.Razor.Language.Test
|
||||||
|
{
|
||||||
|
public class DirectiveTokenEditHandlerTest
|
||||||
|
{
|
||||||
|
[Theory]
|
||||||
|
[InlineData(0, 4, "")] // "Namespace"
|
||||||
|
[InlineData(4, 0, "Other")] // "SomeOtherNamespace"
|
||||||
|
[InlineData(0, 4, "Other")] // "OtherNamespace"
|
||||||
|
public void CanAcceptChange_ProvisionallyAcceptsNonWhitespaceChanges(int index, int length, string newText)
|
||||||
|
{
|
||||||
|
// Arrange
|
||||||
|
var factory = new SpanFactory();
|
||||||
|
var directiveTokenHandler = new TestDirectiveTokenEditHandler();
|
||||||
|
var target = factory.Span(SpanKind.Code, "SomeNamespace", markup: false)
|
||||||
|
.With(directiveTokenHandler)
|
||||||
|
.Accepts(AcceptedCharacters.NonWhiteSpace);
|
||||||
|
var sourceChange = new SourceChange(index, length, newText);
|
||||||
|
|
||||||
|
// Act
|
||||||
|
var result = directiveTokenHandler.CanAcceptChange(target, sourceChange);
|
||||||
|
|
||||||
|
// Assert
|
||||||
|
Assert.Equal(PartialParseResult.Accepted | PartialParseResult.Provisional, result);
|
||||||
|
}
|
||||||
|
|
||||||
|
[Theory]
|
||||||
|
[InlineData(4, 1, "")] // "SomeNamespace"
|
||||||
|
[InlineData(9, 0, " ")] // "Some Name space"
|
||||||
|
[InlineData(9, 5, " Space")] // "Some Name Space"
|
||||||
|
public void CanAcceptChange_RejectsWhitespaceChanges(int index, int length, string newText)
|
||||||
|
{
|
||||||
|
// Arrange
|
||||||
|
var factory = new SpanFactory();
|
||||||
|
var directiveTokenHandler = new TestDirectiveTokenEditHandler();
|
||||||
|
var target = factory.Span(SpanKind.Code, "Some Namespace", markup: false)
|
||||||
|
.With(directiveTokenHandler)
|
||||||
|
.Accepts(AcceptedCharacters.NonWhiteSpace);
|
||||||
|
var sourceChange = new SourceChange(index, length, newText);
|
||||||
|
|
||||||
|
// Act
|
||||||
|
var result = directiveTokenHandler.CanAcceptChange(target, sourceChange);
|
||||||
|
|
||||||
|
// Assert
|
||||||
|
Assert.Equal(PartialParseResult.Rejected, result);
|
||||||
|
}
|
||||||
|
|
||||||
|
private class TestDirectiveTokenEditHandler : DirectiveTokenEditHandler
|
||||||
|
{
|
||||||
|
public TestDirectiveTokenEditHandler() : base(content => SpanConstructor.TestTokenizer(content))
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public new PartialParseResult CanAcceptChange(Span target, SourceChange change)
|
||||||
|
=> base.CanAcceptChange(target, change);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -33,8 +33,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
Factory.MetaCode("section").Accepts(AcceptedCharacters.None),
|
Factory.MetaCode("section").Accepts(AcceptedCharacters.None),
|
||||||
Factory.Span(SpanKind.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.WhiteSpace),
|
Factory.Span(SpanKind.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.WhiteSpace),
|
||||||
Factory.Span(SpanKind.Code, "Header", CSharpSymbolType.Identifier)
|
Factory.Span(SpanKind.Code, "Header", CSharpSymbolType.Identifier)
|
||||||
.Accepts(AcceptedCharacters.NonWhiteSpace)
|
.AsDirectiveToken(CSharpCodeParser.SectionDirectiveDescriptor.Tokens.First()),
|
||||||
.With(new DirectiveTokenChunkGenerator(CSharpCodeParser.SectionDirectiveDescriptor.Tokens.First())),
|
|
||||||
Factory.Span(SpanKind.Markup, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.AllWhiteSpace),
|
Factory.Span(SpanKind.Markup, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.AllWhiteSpace),
|
||||||
Factory.MetaCode("{").AutoCompleteWith("}", atEndOfSpan: true).Accepts(AcceptedCharacters.None),
|
Factory.MetaCode("{").AutoCompleteWith("}", atEndOfSpan: true).Accepts(AcceptedCharacters.None),
|
||||||
new MarkupBlock(
|
new MarkupBlock(
|
||||||
|
|
@ -87,9 +86,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
Factory.CodeTransition(),
|
Factory.CodeTransition(),
|
||||||
Factory.MetaCode("section").Accepts(AcceptedCharacters.None),
|
Factory.MetaCode("section").Accepts(AcceptedCharacters.None),
|
||||||
Factory.Span(SpanKind.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.WhiteSpace),
|
Factory.Span(SpanKind.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.WhiteSpace),
|
||||||
Factory.Span(SpanKind.Code, "Header", CSharpSymbolType.Identifier)
|
Factory.Span(SpanKind.Code, "Header", CSharpSymbolType.Identifier).AsDirectiveToken(CSharpCodeParser.SectionDirectiveDescriptor.Tokens.First()),
|
||||||
.Accepts(AcceptedCharacters.NonWhiteSpace)
|
|
||||||
.With(new DirectiveTokenChunkGenerator(CSharpCodeParser.SectionDirectiveDescriptor.Tokens.First())),
|
|
||||||
Factory.Span(SpanKind.Markup, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.AllWhiteSpace),
|
Factory.Span(SpanKind.Markup, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.AllWhiteSpace),
|
||||||
Factory.MetaCode("{").AutoCompleteWith("}", atEndOfSpan: true).Accepts(AcceptedCharacters.None),
|
Factory.MetaCode("{").AutoCompleteWith("}", atEndOfSpan: true).Accepts(AcceptedCharacters.None),
|
||||||
new MarkupBlock(
|
new MarkupBlock(
|
||||||
|
|
|
||||||
|
|
@ -119,9 +119,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
Factory.CodeTransition(),
|
Factory.CodeTransition(),
|
||||||
Factory.MetaCode("custom").Accepts(AcceptedCharacters.None),
|
Factory.MetaCode("custom").Accepts(AcceptedCharacters.None),
|
||||||
Factory.Span(SpanKind.Code, " ", markup: false).Accepts(AcceptedCharacters.WhiteSpace),
|
Factory.Span(SpanKind.Code, " ", markup: false).Accepts(AcceptedCharacters.WhiteSpace),
|
||||||
Factory.Span(SpanKind.Code, "System.Text.Encoding.ASCIIEncoding", markup: false)
|
Factory.Span(SpanKind.Code, "System.Text.Encoding.ASCIIEncoding", markup: false).AsDirectiveToken(descriptor.Tokens[0])));
|
||||||
.With(new DirectiveTokenChunkGenerator(descriptor.Tokens[0]))
|
|
||||||
.Accepts(AcceptedCharacters.NonWhiteSpace)));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
|
|
@ -142,9 +140,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
Factory.CodeTransition(),
|
Factory.CodeTransition(),
|
||||||
Factory.MetaCode("custom").Accepts(AcceptedCharacters.None),
|
Factory.MetaCode("custom").Accepts(AcceptedCharacters.None),
|
||||||
Factory.Span(SpanKind.Code, " ", markup: false).Accepts(AcceptedCharacters.WhiteSpace),
|
Factory.Span(SpanKind.Code, " ", markup: false).Accepts(AcceptedCharacters.WhiteSpace),
|
||||||
Factory.Span(SpanKind.Code, "Some_Member", markup: false)
|
Factory.Span(SpanKind.Code, "Some_Member", markup: false).AsDirectiveToken(descriptor.Tokens[0])));
|
||||||
.With(new DirectiveTokenChunkGenerator(descriptor.Tokens[0]))
|
|
||||||
.Accepts(AcceptedCharacters.NonWhiteSpace)));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
|
|
@ -165,9 +161,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
Factory.CodeTransition(),
|
Factory.CodeTransition(),
|
||||||
Factory.MetaCode("custom").Accepts(AcceptedCharacters.None),
|
Factory.MetaCode("custom").Accepts(AcceptedCharacters.None),
|
||||||
Factory.Span(SpanKind.Code, " ", markup: false).Accepts(AcceptedCharacters.WhiteSpace),
|
Factory.Span(SpanKind.Code, " ", markup: false).Accepts(AcceptedCharacters.WhiteSpace),
|
||||||
Factory.Span(SpanKind.Code, "BaseNamespace", markup: false)
|
Factory.Span(SpanKind.Code, "BaseNamespace", markup: false).AsDirectiveToken(descriptor.Tokens[0])));
|
||||||
.With(new DirectiveTokenChunkGenerator(descriptor.Tokens[0]))
|
|
||||||
.Accepts(AcceptedCharacters.NonWhiteSpace)));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
|
|
@ -188,9 +182,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
Factory.CodeTransition(),
|
Factory.CodeTransition(),
|
||||||
Factory.MetaCode("custom").Accepts(AcceptedCharacters.None),
|
Factory.MetaCode("custom").Accepts(AcceptedCharacters.None),
|
||||||
Factory.Span(SpanKind.Code, " ", markup: false).Accepts(AcceptedCharacters.WhiteSpace),
|
Factory.Span(SpanKind.Code, " ", markup: false).Accepts(AcceptedCharacters.WhiteSpace),
|
||||||
Factory.Span(SpanKind.Code, "BaseNamespace.Foo.Bar", markup: false)
|
Factory.Span(SpanKind.Code, "BaseNamespace.Foo.Bar", markup: false).AsDirectiveToken(descriptor.Tokens[0])));
|
||||||
.With(new DirectiveTokenChunkGenerator(descriptor.Tokens[0]))
|
|
||||||
.Accepts(AcceptedCharacters.NonWhiteSpace)));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
|
|
@ -211,9 +203,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
Factory.CodeTransition(),
|
Factory.CodeTransition(),
|
||||||
Factory.MetaCode("custom").Accepts(AcceptedCharacters.None),
|
Factory.MetaCode("custom").Accepts(AcceptedCharacters.None),
|
||||||
Factory.Span(SpanKind.Markup, " ", markup: false).Accepts(AcceptedCharacters.WhiteSpace),
|
Factory.Span(SpanKind.Markup, " ", markup: false).Accepts(AcceptedCharacters.WhiteSpace),
|
||||||
Factory.Span(SpanKind.Code, "\"AString\"", markup: false)
|
Factory.Span(SpanKind.Code, "\"AString\"", markup: false).AsDirectiveToken(descriptor.Tokens[0])));
|
||||||
.With(new DirectiveTokenChunkGenerator(descriptor.Tokens[0]))
|
|
||||||
.Accepts(AcceptedCharacters.NonWhiteSpace)));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
|
|
@ -336,19 +326,13 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
Factory.MetaCode("custom").Accepts(AcceptedCharacters.None),
|
Factory.MetaCode("custom").Accepts(AcceptedCharacters.None),
|
||||||
|
|
||||||
Factory.Span(SpanKind.Code, " ", markup: false).Accepts(AcceptedCharacters.WhiteSpace),
|
Factory.Span(SpanKind.Code, " ", markup: false).Accepts(AcceptedCharacters.WhiteSpace),
|
||||||
Factory.Span(SpanKind.Code, "System.Text.Encoding.ASCIIEncoding", markup: false)
|
Factory.Span(SpanKind.Code, "System.Text.Encoding.ASCIIEncoding", markup: false).AsDirectiveToken(descriptor.Tokens[0]),
|
||||||
.With(new DirectiveTokenChunkGenerator(descriptor.Tokens[0]))
|
|
||||||
.Accepts(AcceptedCharacters.NonWhiteSpace),
|
|
||||||
|
|
||||||
Factory.Span(SpanKind.Code, " ", markup: false).Accepts(AcceptedCharacters.WhiteSpace),
|
Factory.Span(SpanKind.Code, " ", markup: false).Accepts(AcceptedCharacters.WhiteSpace),
|
||||||
Factory.Span(SpanKind.Code, "Some_Member", markup: false)
|
Factory.Span(SpanKind.Code, "Some_Member", markup: false).AsDirectiveToken(descriptor.Tokens[1]),
|
||||||
.With(new DirectiveTokenChunkGenerator(descriptor.Tokens[1]))
|
|
||||||
.Accepts(AcceptedCharacters.NonWhiteSpace),
|
|
||||||
|
|
||||||
Factory.Span(SpanKind.Markup, " ", markup: false).Accepts(AcceptedCharacters.WhiteSpace),
|
Factory.Span(SpanKind.Markup, " ", markup: false).Accepts(AcceptedCharacters.WhiteSpace),
|
||||||
Factory.Span(SpanKind.Code, "\"AString\"", markup: false)
|
Factory.Span(SpanKind.Code, "\"AString\"", markup: false).AsDirectiveToken(descriptor.Tokens[2])));
|
||||||
.With(new DirectiveTokenChunkGenerator(descriptor.Tokens[2]))
|
|
||||||
.Accepts(AcceptedCharacters.NonWhiteSpace)));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
|
|
@ -369,9 +353,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
Factory.CodeTransition(),
|
Factory.CodeTransition(),
|
||||||
Factory.MetaCode("custom").Accepts(AcceptedCharacters.None),
|
Factory.MetaCode("custom").Accepts(AcceptedCharacters.None),
|
||||||
Factory.Span(SpanKind.Markup, " ", markup: false).Accepts(AcceptedCharacters.WhiteSpace),
|
Factory.Span(SpanKind.Markup, " ", markup: false).Accepts(AcceptedCharacters.WhiteSpace),
|
||||||
Factory.Span(SpanKind.Code, "\"Header\"", markup: false)
|
Factory.Span(SpanKind.Code, "\"Header\"", markup: false).AsDirectiveToken(descriptor.Tokens[0]),
|
||||||
.With(new DirectiveTokenChunkGenerator(descriptor.Tokens[0]))
|
|
||||||
.Accepts(AcceptedCharacters.NonWhiteSpace),
|
|
||||||
Factory.Span(SpanKind.Markup, " ", markup: false).Accepts(AcceptedCharacters.AllWhiteSpace),
|
Factory.Span(SpanKind.Markup, " ", markup: false).Accepts(AcceptedCharacters.AllWhiteSpace),
|
||||||
Factory.MetaCode("{")
|
Factory.MetaCode("{")
|
||||||
.AutoCompleteWith(null, atEndOfSpan: true)
|
.AutoCompleteWith(null, atEndOfSpan: true)
|
||||||
|
|
@ -405,9 +387,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
Factory.CodeTransition(),
|
Factory.CodeTransition(),
|
||||||
Factory.MetaCode("custom").Accepts(AcceptedCharacters.None),
|
Factory.MetaCode("custom").Accepts(AcceptedCharacters.None),
|
||||||
Factory.Span(SpanKind.Markup, " ", markup: false).Accepts(AcceptedCharacters.WhiteSpace),
|
Factory.Span(SpanKind.Markup, " ", markup: false).Accepts(AcceptedCharacters.WhiteSpace),
|
||||||
Factory.Span(SpanKind.Code, "\"Name\"", markup: false)
|
Factory.Span(SpanKind.Code, "\"Name\"", markup: false).AsDirectiveToken(descriptor.Tokens[0]),
|
||||||
.With(new DirectiveTokenChunkGenerator(descriptor.Tokens[0]))
|
|
||||||
.Accepts(AcceptedCharacters.NonWhiteSpace),
|
|
||||||
Factory.Span(SpanKind.Markup, " ", markup: false).Accepts(AcceptedCharacters.AllWhiteSpace),
|
Factory.Span(SpanKind.Markup, " ", markup: false).Accepts(AcceptedCharacters.AllWhiteSpace),
|
||||||
Factory.MetaCode("{")
|
Factory.MetaCode("{")
|
||||||
.AutoCompleteWith(null, atEndOfSpan: true)
|
.AutoCompleteWith(null, atEndOfSpan: true)
|
||||||
|
|
@ -435,14 +415,10 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
Factory.MetaCode("custom").Accepts(AcceptedCharacters.None),
|
Factory.MetaCode("custom").Accepts(AcceptedCharacters.None),
|
||||||
|
|
||||||
Factory.Span(SpanKind.Code, " ", markup: false).Accepts(AcceptedCharacters.WhiteSpace),
|
Factory.Span(SpanKind.Code, " ", markup: false).Accepts(AcceptedCharacters.WhiteSpace),
|
||||||
Factory.Span(SpanKind.Code, "System.Text.Encoding.ASCIIEncoding", markup: false)
|
Factory.Span(SpanKind.Code, "System.Text.Encoding.ASCIIEncoding", markup: false).AsDirectiveToken(descriptor.Tokens[0]),
|
||||||
.With(new DirectiveTokenChunkGenerator(descriptor.Tokens[0]))
|
|
||||||
.Accepts(AcceptedCharacters.NonWhiteSpace),
|
|
||||||
|
|
||||||
Factory.Span(SpanKind.Code, " ", markup: false).Accepts(AcceptedCharacters.WhiteSpace),
|
Factory.Span(SpanKind.Code, " ", markup: false).Accepts(AcceptedCharacters.WhiteSpace),
|
||||||
Factory.Span(SpanKind.Code, "Some_Member", markup: false)
|
Factory.Span(SpanKind.Code, "Some_Member", markup: false).AsDirectiveToken(descriptor.Tokens[1]),
|
||||||
.With(new DirectiveTokenChunkGenerator(descriptor.Tokens[1]))
|
|
||||||
.Accepts(AcceptedCharacters.NonWhiteSpace),
|
|
||||||
|
|
||||||
Factory.Span(SpanKind.Markup, " ", markup: false)
|
Factory.Span(SpanKind.Markup, " ", markup: false)
|
||||||
.Accepts(AcceptedCharacters.WhiteSpace)));
|
.Accepts(AcceptedCharacters.WhiteSpace)));
|
||||||
|
|
@ -492,9 +468,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
Factory.CodeTransition(),
|
Factory.CodeTransition(),
|
||||||
Factory.MetaCode("custom").Accepts(AcceptedCharacters.None),
|
Factory.MetaCode("custom").Accepts(AcceptedCharacters.None),
|
||||||
Factory.Span(SpanKind.Markup, " ", markup: false).Accepts(AcceptedCharacters.WhiteSpace),
|
Factory.Span(SpanKind.Markup, " ", markup: false).Accepts(AcceptedCharacters.WhiteSpace),
|
||||||
Factory.Span(SpanKind.Code, "\"hello\"", markup: false)
|
Factory.Span(SpanKind.Code, "\"hello\"", markup: false).AsDirectiveToken(descriptor.Tokens[0]),
|
||||||
.With(new DirectiveTokenChunkGenerator(descriptor.Tokens[0]))
|
|
||||||
.Accepts(AcceptedCharacters.NonWhiteSpace),
|
|
||||||
Factory.Span(SpanKind.Markup, " ; ", markup: false).Accepts(AcceptedCharacters.WhiteSpace)));
|
Factory.Span(SpanKind.Markup, " ; ", markup: false).Accepts(AcceptedCharacters.WhiteSpace)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -521,9 +495,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
Factory.CodeTransition(),
|
Factory.CodeTransition(),
|
||||||
Factory.MetaCode("custom").Accepts(AcceptedCharacters.None),
|
Factory.MetaCode("custom").Accepts(AcceptedCharacters.None),
|
||||||
Factory.Span(SpanKind.Markup, " ", markup: false).Accepts(AcceptedCharacters.WhiteSpace),
|
Factory.Span(SpanKind.Markup, " ", markup: false).Accepts(AcceptedCharacters.WhiteSpace),
|
||||||
Factory.Span(SpanKind.Code, "\"hello\"", markup: false)
|
Factory.Span(SpanKind.Code, "\"hello\"", markup: false).AsDirectiveToken(descriptor.Tokens[0]),
|
||||||
.With(new DirectiveTokenChunkGenerator(descriptor.Tokens[0]))
|
|
||||||
.Accepts(AcceptedCharacters.NonWhiteSpace),
|
|
||||||
|
|
||||||
Factory.Span(SpanKind.Markup, " ", markup: false).Accepts(AcceptedCharacters.WhiteSpace)),
|
Factory.Span(SpanKind.Markup, " ", markup: false).Accepts(AcceptedCharacters.WhiteSpace)),
|
||||||
expectedErorr);
|
expectedErorr);
|
||||||
|
|
@ -552,9 +524,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
Factory.CodeTransition(),
|
Factory.CodeTransition(),
|
||||||
Factory.MetaCode("custom").Accepts(AcceptedCharacters.None),
|
Factory.MetaCode("custom").Accepts(AcceptedCharacters.None),
|
||||||
Factory.Span(SpanKind.Markup, " ", markup: false).Accepts(AcceptedCharacters.WhiteSpace),
|
Factory.Span(SpanKind.Markup, " ", markup: false).Accepts(AcceptedCharacters.WhiteSpace),
|
||||||
Factory.Span(SpanKind.Code, "\"Hello\"", markup: false)
|
Factory.Span(SpanKind.Code, "\"Hello\"", markup: false).AsDirectiveToken(descriptor.Tokens[0]),
|
||||||
.With(new DirectiveTokenChunkGenerator(descriptor.Tokens[0]))
|
|
||||||
.Accepts(AcceptedCharacters.NonWhiteSpace),
|
|
||||||
|
|
||||||
Factory.Span(SpanKind.Markup, " ", markup: false).Accepts(AcceptedCharacters.AllWhiteSpace)),
|
Factory.Span(SpanKind.Markup, " ", markup: false).Accepts(AcceptedCharacters.AllWhiteSpace)),
|
||||||
expectedErorr);
|
expectedErorr);
|
||||||
|
|
@ -583,9 +553,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
Factory.CodeTransition(),
|
Factory.CodeTransition(),
|
||||||
Factory.MetaCode("custom").Accepts(AcceptedCharacters.None),
|
Factory.MetaCode("custom").Accepts(AcceptedCharacters.None),
|
||||||
Factory.Span(SpanKind.Markup, " ", markup: false).Accepts(AcceptedCharacters.WhiteSpace),
|
Factory.Span(SpanKind.Markup, " ", markup: false).Accepts(AcceptedCharacters.WhiteSpace),
|
||||||
Factory.Span(SpanKind.Code, "\"Hello\"", markup: false)
|
Factory.Span(SpanKind.Code, "\"Hello\"", markup: false).AsDirectiveToken(descriptor.Tokens[0])),
|
||||||
.With(new DirectiveTokenChunkGenerator(descriptor.Tokens[0]))
|
|
||||||
.Accepts(AcceptedCharacters.NonWhiteSpace)),
|
|
||||||
expectedErorr);
|
expectedErorr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -612,9 +580,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
Factory.CodeTransition(),
|
Factory.CodeTransition(),
|
||||||
Factory.MetaCode("custom").Accepts(AcceptedCharacters.None),
|
Factory.MetaCode("custom").Accepts(AcceptedCharacters.None),
|
||||||
Factory.Span(SpanKind.Markup, " ", markup: false).Accepts(AcceptedCharacters.WhiteSpace),
|
Factory.Span(SpanKind.Markup, " ", markup: false).Accepts(AcceptedCharacters.WhiteSpace),
|
||||||
Factory.Span(SpanKind.Code, "\"Hello\"", markup: false)
|
Factory.Span(SpanKind.Code, "\"Hello\"", markup: false).AsDirectiveToken(descriptor.Tokens[0]),
|
||||||
.With(new DirectiveTokenChunkGenerator(descriptor.Tokens[0]))
|
|
||||||
.Accepts(AcceptedCharacters.NonWhiteSpace),
|
|
||||||
Factory.Span(SpanKind.Markup, " ", markup: false).Accepts(AcceptedCharacters.AllWhiteSpace),
|
Factory.Span(SpanKind.Markup, " ", markup: false).Accepts(AcceptedCharacters.AllWhiteSpace),
|
||||||
Factory.MetaCode("{")
|
Factory.MetaCode("{")
|
||||||
.AutoCompleteWith("}", atEndOfSpan: true)
|
.AutoCompleteWith("}", atEndOfSpan: true)
|
||||||
|
|
@ -935,9 +901,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
Factory.CodeTransition(),
|
Factory.CodeTransition(),
|
||||||
Factory.MetaCode("inherits").Accepts(AcceptedCharacters.None),
|
Factory.MetaCode("inherits").Accepts(AcceptedCharacters.None),
|
||||||
Factory.Span(SpanKind.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.WhiteSpace),
|
Factory.Span(SpanKind.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.WhiteSpace),
|
||||||
Factory.Span(SpanKind.Code, "System.Web.WebPages.WebPage", markup: false)
|
Factory.Span(SpanKind.Code, "System.Web.WebPages.WebPage", markup: false).AsDirectiveToken(CSharpCodeParser.InheritsDirectiveDescriptor.Tokens.First())));
|
||||||
.Accepts(AcceptedCharacters.NonWhiteSpace)
|
|
||||||
.With(new DirectiveTokenChunkGenerator(CSharpCodeParser.InheritsDirectiveDescriptor.Tokens.First()))));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
|
|
@ -948,9 +912,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
Factory.CodeTransition(),
|
Factory.CodeTransition(),
|
||||||
Factory.MetaCode("inherits").Accepts(AcceptedCharacters.None),
|
Factory.MetaCode("inherits").Accepts(AcceptedCharacters.None),
|
||||||
Factory.Span(SpanKind.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.WhiteSpace),
|
Factory.Span(SpanKind.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.WhiteSpace),
|
||||||
Factory.Span(SpanKind.Code, "string[[]][]", markup: false)
|
Factory.Span(SpanKind.Code, "string[[]][]", markup: false).AsDirectiveToken(CSharpCodeParser.InheritsDirectiveDescriptor.Tokens.First())));
|
||||||
.Accepts(AcceptedCharacters.NonWhiteSpace)
|
|
||||||
.With(new DirectiveTokenChunkGenerator(CSharpCodeParser.InheritsDirectiveDescriptor.Tokens.First()))));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
|
|
@ -962,8 +924,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
Factory.MetaCode("inherits").Accepts(AcceptedCharacters.None),
|
Factory.MetaCode("inherits").Accepts(AcceptedCharacters.None),
|
||||||
Factory.Span(SpanKind.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.WhiteSpace),
|
Factory.Span(SpanKind.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.WhiteSpace),
|
||||||
Factory.Span(SpanKind.Code, "System.Web.Mvc.WebViewPage<IEnumerable<MvcApplication2.Models.RegisterModel>>", markup: false)
|
Factory.Span(SpanKind.Code, "System.Web.Mvc.WebViewPage<IEnumerable<MvcApplication2.Models.RegisterModel>>", markup: false)
|
||||||
.Accepts(AcceptedCharacters.NonWhiteSpace)
|
.AsDirectiveToken(CSharpCodeParser.InheritsDirectiveDescriptor.Tokens.First())));
|
||||||
.With(new DirectiveTokenChunkGenerator(CSharpCodeParser.InheritsDirectiveDescriptor.Tokens.First()))));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
|
|
@ -975,8 +936,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
Factory.MetaCode("inherits").Accepts(AcceptedCharacters.None),
|
Factory.MetaCode("inherits").Accepts(AcceptedCharacters.None),
|
||||||
Factory.Span(SpanKind.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.WhiteSpace),
|
Factory.Span(SpanKind.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.WhiteSpace),
|
||||||
Factory.Span(SpanKind.Code, "string", markup: false)
|
Factory.Span(SpanKind.Code, "string", markup: false)
|
||||||
.Accepts(AcceptedCharacters.NonWhiteSpace)
|
.AsDirectiveToken(CSharpCodeParser.InheritsDirectiveDescriptor.Tokens.First())));
|
||||||
.With(new DirectiveTokenChunkGenerator(CSharpCodeParser.InheritsDirectiveDescriptor.Tokens.First()))));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
|
|
@ -1014,8 +974,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
Factory.MetaCode("section").Accepts(AcceptedCharacters.None),
|
Factory.MetaCode("section").Accepts(AcceptedCharacters.None),
|
||||||
Factory.Span(SpanKind.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.WhiteSpace),
|
Factory.Span(SpanKind.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.WhiteSpace),
|
||||||
Factory.Span(SpanKind.Code, "Header", CSharpSymbolType.Identifier)
|
Factory.Span(SpanKind.Code, "Header", CSharpSymbolType.Identifier)
|
||||||
.Accepts(AcceptedCharacters.NonWhiteSpace)
|
.AsDirectiveToken(CSharpCodeParser.SectionDirectiveDescriptor.Tokens.First()),
|
||||||
.With(new DirectiveTokenChunkGenerator(CSharpCodeParser.SectionDirectiveDescriptor.Tokens.First())),
|
|
||||||
Factory.Span(SpanKind.Markup, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.AllWhiteSpace),
|
Factory.Span(SpanKind.Markup, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.AllWhiteSpace),
|
||||||
Factory.MetaCode("{").AutoCompleteWith(null, atEndOfSpan: true).Accepts(AcceptedCharacters.None),
|
Factory.MetaCode("{").AutoCompleteWith(null, atEndOfSpan: true).Accepts(AcceptedCharacters.None),
|
||||||
new MarkupBlock(
|
new MarkupBlock(
|
||||||
|
|
@ -1059,8 +1018,6 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
DirectiveKind.SingleLine,
|
DirectiveKind.SingleLine,
|
||||||
b => b.AddOptionalStringToken());
|
b => b.AddOptionalStringToken());
|
||||||
|
|
||||||
var chunkGenerator = new DirectiveTokenChunkGenerator(descriptor.Tokens.First());
|
|
||||||
|
|
||||||
// Act & Assert
|
// Act & Assert
|
||||||
ParseCodeBlockTest(
|
ParseCodeBlockTest(
|
||||||
"@custom \"simple-value\"",
|
"@custom \"simple-value\"",
|
||||||
|
|
@ -1071,8 +1028,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
Factory.MetaCode("custom").Accepts(AcceptedCharacters.None),
|
Factory.MetaCode("custom").Accepts(AcceptedCharacters.None),
|
||||||
Factory.Span(SpanKind.Markup, " ", markup: false).Accepts(AcceptedCharacters.WhiteSpace),
|
Factory.Span(SpanKind.Markup, " ", markup: false).Accepts(AcceptedCharacters.WhiteSpace),
|
||||||
Factory.Span(SpanKind.Code, "\"simple-value\"", markup: false)
|
Factory.Span(SpanKind.Code, "\"simple-value\"", markup: false)
|
||||||
.Accepts(AcceptedCharacters.NonWhiteSpace)
|
.AsDirectiveToken(descriptor.Tokens[0])));
|
||||||
.With(chunkGenerator)));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
|
|
@ -1084,8 +1040,6 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
DirectiveKind.SingleLine,
|
DirectiveKind.SingleLine,
|
||||||
b => b.AddOptionalStringToken());
|
b => b.AddOptionalStringToken());
|
||||||
|
|
||||||
var chunkGenerator = new DirectiveTokenChunkGenerator(descriptor.Tokens.First());
|
|
||||||
|
|
||||||
// Act & Assert
|
// Act & Assert
|
||||||
ParseCodeBlockTest(
|
ParseCodeBlockTest(
|
||||||
"@custom \"{formaction}?/{id}?\"",
|
"@custom \"{formaction}?/{id}?\"",
|
||||||
|
|
@ -1096,8 +1050,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
Factory.MetaCode("custom").Accepts(AcceptedCharacters.None),
|
Factory.MetaCode("custom").Accepts(AcceptedCharacters.None),
|
||||||
Factory.Span(SpanKind.Markup, " ", markup: false).Accepts(AcceptedCharacters.WhiteSpace),
|
Factory.Span(SpanKind.Markup, " ", markup: false).Accepts(AcceptedCharacters.WhiteSpace),
|
||||||
Factory.Span(SpanKind.Code, "\"{formaction}?/{id}?\"", markup: false)
|
Factory.Span(SpanKind.Code, "\"{formaction}?/{id}?\"", markup: false)
|
||||||
.Accepts(AcceptedCharacters.NonWhiteSpace)
|
.AsDirectiveToken(descriptor.Tokens[0])));
|
||||||
.With(chunkGenerator)));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
|
|
@ -1118,13 +1071,9 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
Factory.CodeTransition(),
|
Factory.CodeTransition(),
|
||||||
Factory.MetaCode("custom").Accepts(AcceptedCharacters.None),
|
Factory.MetaCode("custom").Accepts(AcceptedCharacters.None),
|
||||||
Factory.Span(SpanKind.Markup, " ", markup: false).Accepts(AcceptedCharacters.WhiteSpace),
|
Factory.Span(SpanKind.Markup, " ", markup: false).Accepts(AcceptedCharacters.WhiteSpace),
|
||||||
Factory.Span(SpanKind.Code, "\"{formaction}?/{id}?\"", markup: false)
|
Factory.Span(SpanKind.Code, "\"{formaction}?/{id}?\"", markup: false).AsDirectiveToken(descriptor.Tokens[0]),
|
||||||
.Accepts(AcceptedCharacters.NonWhiteSpace)
|
|
||||||
.With(new DirectiveTokenChunkGenerator(descriptor.Tokens.First())),
|
|
||||||
Factory.Span(SpanKind.Code, " ", markup: false).Accepts(AcceptedCharacters.WhiteSpace),
|
Factory.Span(SpanKind.Code, " ", markup: false).Accepts(AcceptedCharacters.WhiteSpace),
|
||||||
Factory.Span(SpanKind.Code, "System.String", markup: false)
|
Factory.Span(SpanKind.Code, "System.String", markup: false).AsDirectiveToken(descriptor.Tokens.Last())));
|
||||||
.Accepts(AcceptedCharacters.NonWhiteSpace)
|
|
||||||
.With(new DirectiveTokenChunkGenerator(descriptor.Tokens.Last()))));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
|
|
@ -1165,9 +1114,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
Factory.CodeTransition(),
|
Factory.CodeTransition(),
|
||||||
Factory.MetaCode("TestDirective").Accepts(AcceptedCharacters.None),
|
Factory.MetaCode("TestDirective").Accepts(AcceptedCharacters.None),
|
||||||
Factory.Span(SpanKind.Code, " ", markup: false).Accepts(AcceptedCharacters.WhiteSpace),
|
Factory.Span(SpanKind.Code, " ", markup: false).Accepts(AcceptedCharacters.WhiteSpace),
|
||||||
Factory.Span(SpanKind.Code, "PropertyName", markup: false)
|
Factory.Span(SpanKind.Code, "PropertyName", markup: false).AsDirectiveToken(descriptor.Tokens[0])));
|
||||||
.Accepts(AcceptedCharacters.NonWhiteSpace)
|
|
||||||
.With(new DirectiveTokenChunkGenerator(descriptor.Tokens.First()))));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
|
|
|
||||||
|
|
@ -35,9 +35,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
Factory.CodeTransition(),
|
Factory.CodeTransition(),
|
||||||
Factory.MetaCode("section").Accepts(AcceptedCharacters.None),
|
Factory.MetaCode("section").Accepts(AcceptedCharacters.None),
|
||||||
Factory.Span(SpanKind.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.WhiteSpace),
|
Factory.Span(SpanKind.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.WhiteSpace),
|
||||||
Factory.Span(SpanKind.Code, "Foo", CSharpSymbolType.Identifier)
|
Factory.Span(SpanKind.Code, "Foo", CSharpSymbolType.Identifier).AsDirectiveToken(CSharpCodeParser.SectionDirectiveDescriptor.Tokens[0]),
|
||||||
.Accepts(AcceptedCharacters.NonWhiteSpace)
|
|
||||||
.With(new DirectiveTokenChunkGenerator(CSharpCodeParser.SectionDirectiveDescriptor.Tokens.First())),
|
|
||||||
Factory.Span(SpanKind.Markup, " " + Environment.NewLine + " ", markup: false).Accepts(AcceptedCharacters.AllWhiteSpace)),
|
Factory.Span(SpanKind.Markup, " " + Environment.NewLine + " ", markup: false).Accepts(AcceptedCharacters.AllWhiteSpace)),
|
||||||
Factory.EmptyHtml()),
|
Factory.EmptyHtml()),
|
||||||
new RazorError(
|
new RazorError(
|
||||||
|
|
@ -110,9 +108,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
Factory.CodeTransition(),
|
Factory.CodeTransition(),
|
||||||
Factory.MetaCode("section").Accepts(AcceptedCharacters.None),
|
Factory.MetaCode("section").Accepts(AcceptedCharacters.None),
|
||||||
Factory.Span(SpanKind.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.WhiteSpace),
|
Factory.Span(SpanKind.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.WhiteSpace),
|
||||||
Factory.Span(SpanKind.Code, "foo", CSharpSymbolType.Identifier)
|
Factory.Span(SpanKind.Code, "foo", CSharpSymbolType.Identifier).AsDirectiveToken(CSharpCodeParser.SectionDirectiveDescriptor.Tokens[0])),
|
||||||
.Accepts(AcceptedCharacters.NonWhiteSpace)
|
|
||||||
.With(new DirectiveTokenChunkGenerator(CSharpCodeParser.SectionDirectiveDescriptor.Tokens.First()))),
|
|
||||||
Factory.Markup("-bar { "),
|
Factory.Markup("-bar { "),
|
||||||
new MarkupTagBlock(
|
new MarkupTagBlock(
|
||||||
Factory.Markup("<p>")),
|
Factory.Markup("<p>")),
|
||||||
|
|
@ -136,9 +132,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
Factory.CodeTransition(),
|
Factory.CodeTransition(),
|
||||||
Factory.MetaCode("section").Accepts(AcceptedCharacters.None),
|
Factory.MetaCode("section").Accepts(AcceptedCharacters.None),
|
||||||
Factory.Span(SpanKind.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.WhiteSpace),
|
Factory.Span(SpanKind.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.WhiteSpace),
|
||||||
Factory.Span(SpanKind.Code, "foo", CSharpSymbolType.Identifier)
|
Factory.Span(SpanKind.Code, "foo", CSharpSymbolType.Identifier).AsDirectiveToken(CSharpCodeParser.SectionDirectiveDescriptor.Tokens[0]),
|
||||||
.Accepts(AcceptedCharacters.NonWhiteSpace)
|
|
||||||
.With(new DirectiveTokenChunkGenerator(CSharpCodeParser.SectionDirectiveDescriptor.Tokens.First())),
|
|
||||||
Factory.Span(SpanKind.Markup, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.AllWhiteSpace),
|
Factory.Span(SpanKind.Markup, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.AllWhiteSpace),
|
||||||
Factory.MetaCode("{").AutoCompleteWith(null, atEndOfSpan: true).Accepts(AcceptedCharacters.None),
|
Factory.MetaCode("{").AutoCompleteWith(null, atEndOfSpan: true).Accepts(AcceptedCharacters.None),
|
||||||
new MarkupBlock(
|
new MarkupBlock(
|
||||||
|
|
@ -147,9 +141,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
Factory.CodeTransition(),
|
Factory.CodeTransition(),
|
||||||
Factory.MetaCode("section").Accepts(AcceptedCharacters.None),
|
Factory.MetaCode("section").Accepts(AcceptedCharacters.None),
|
||||||
Factory.Span(SpanKind.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.WhiteSpace),
|
Factory.Span(SpanKind.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.WhiteSpace),
|
||||||
Factory.Span(SpanKind.Code, "bar", CSharpSymbolType.Identifier)
|
Factory.Span(SpanKind.Code, "bar", CSharpSymbolType.Identifier).AsDirectiveToken(CSharpCodeParser.SectionDirectiveDescriptor.Tokens[0]),
|
||||||
.Accepts(AcceptedCharacters.NonWhiteSpace)
|
|
||||||
.With(new DirectiveTokenChunkGenerator(CSharpCodeParser.SectionDirectiveDescriptor.Tokens.First())),
|
|
||||||
Factory.Span(SpanKind.Markup, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.AllWhiteSpace),
|
Factory.Span(SpanKind.Markup, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.AllWhiteSpace),
|
||||||
Factory.MetaCode("{").AutoCompleteWith(null, atEndOfSpan: true).Accepts(AcceptedCharacters.None),
|
Factory.MetaCode("{").AutoCompleteWith(null, atEndOfSpan: true).Accepts(AcceptedCharacters.None),
|
||||||
new MarkupBlock(
|
new MarkupBlock(
|
||||||
|
|
@ -180,9 +172,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
Factory.CodeTransition(),
|
Factory.CodeTransition(),
|
||||||
Factory.MetaCode("section").Accepts(AcceptedCharacters.None),
|
Factory.MetaCode("section").Accepts(AcceptedCharacters.None),
|
||||||
Factory.Span(SpanKind.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.WhiteSpace),
|
Factory.Span(SpanKind.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.WhiteSpace),
|
||||||
Factory.Span(SpanKind.Code, "foo", CSharpSymbolType.Identifier)
|
Factory.Span(SpanKind.Code, "foo", CSharpSymbolType.Identifier).AsDirectiveToken(CSharpCodeParser.SectionDirectiveDescriptor.Tokens[0]),
|
||||||
.Accepts(AcceptedCharacters.NonWhiteSpace)
|
|
||||||
.With(new DirectiveTokenChunkGenerator(CSharpCodeParser.SectionDirectiveDescriptor.Tokens.First())),
|
|
||||||
Factory.Span(SpanKind.Markup, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.AllWhiteSpace),
|
Factory.Span(SpanKind.Markup, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.AllWhiteSpace),
|
||||||
Factory.MetaCode("{").AutoCompleteWith("}", atEndOfSpan: true).Accepts(AcceptedCharacters.None),
|
Factory.MetaCode("{").AutoCompleteWith("}", atEndOfSpan: true).Accepts(AcceptedCharacters.None),
|
||||||
new MarkupBlock(
|
new MarkupBlock(
|
||||||
|
|
@ -207,9 +197,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
Factory.CodeTransition(),
|
Factory.CodeTransition(),
|
||||||
Factory.MetaCode("section").Accepts(AcceptedCharacters.None),
|
Factory.MetaCode("section").Accepts(AcceptedCharacters.None),
|
||||||
Factory.Span(SpanKind.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.WhiteSpace),
|
Factory.Span(SpanKind.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.WhiteSpace),
|
||||||
Factory.Span(SpanKind.Code, "foo", CSharpSymbolType.Identifier)
|
Factory.Span(SpanKind.Code, "foo", CSharpSymbolType.Identifier).AsDirectiveToken(CSharpCodeParser.SectionDirectiveDescriptor.Tokens[0]),
|
||||||
.Accepts(AcceptedCharacters.NonWhiteSpace)
|
|
||||||
.With(new DirectiveTokenChunkGenerator(CSharpCodeParser.SectionDirectiveDescriptor.Tokens.First())),
|
|
||||||
Factory.Span(SpanKind.Markup, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.AllWhiteSpace),
|
Factory.Span(SpanKind.Markup, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.AllWhiteSpace),
|
||||||
Factory.MetaCode("{").AutoCompleteWith("}", atEndOfSpan: true).Accepts(AcceptedCharacters.None),
|
Factory.MetaCode("{").AutoCompleteWith("}", atEndOfSpan: true).Accepts(AcceptedCharacters.None),
|
||||||
new MarkupBlock(
|
new MarkupBlock(
|
||||||
|
|
@ -230,9 +218,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
Factory.CodeTransition(),
|
Factory.CodeTransition(),
|
||||||
Factory.MetaCode("section").Accepts(AcceptedCharacters.None),
|
Factory.MetaCode("section").Accepts(AcceptedCharacters.None),
|
||||||
Factory.Span(SpanKind.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.WhiteSpace),
|
Factory.Span(SpanKind.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.WhiteSpace),
|
||||||
Factory.Span(SpanKind.Code, "foo", CSharpSymbolType.Identifier)
|
Factory.Span(SpanKind.Code, "foo", CSharpSymbolType.Identifier).AsDirectiveToken(CSharpCodeParser.SectionDirectiveDescriptor.Tokens[0]),
|
||||||
.Accepts(AcceptedCharacters.NonWhiteSpace)
|
|
||||||
.With(new DirectiveTokenChunkGenerator(CSharpCodeParser.SectionDirectiveDescriptor.Tokens.First())),
|
|
||||||
Factory.Span(SpanKind.Markup, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.AllWhiteSpace),
|
Factory.Span(SpanKind.Markup, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.AllWhiteSpace),
|
||||||
Factory.MetaCode("{").AutoCompleteWith("}", atEndOfSpan: true).Accepts(AcceptedCharacters.None),
|
Factory.MetaCode("{").AutoCompleteWith("}", atEndOfSpan: true).Accepts(AcceptedCharacters.None),
|
||||||
new MarkupBlock(
|
new MarkupBlock(
|
||||||
|
|
@ -265,9 +251,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
Factory.CodeTransition(),
|
Factory.CodeTransition(),
|
||||||
Factory.MetaCode("section").Accepts(AcceptedCharacters.None),
|
Factory.MetaCode("section").Accepts(AcceptedCharacters.None),
|
||||||
Factory.Span(SpanKind.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.WhiteSpace),
|
Factory.Span(SpanKind.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.WhiteSpace),
|
||||||
Factory.Span(SpanKind.Code, "Test", CSharpSymbolType.Identifier)
|
Factory.Span(SpanKind.Code, "Test", CSharpSymbolType.Identifier).AsDirectiveToken(CSharpCodeParser.SectionDirectiveDescriptor.Tokens[0]),
|
||||||
.Accepts(AcceptedCharacters.NonWhiteSpace)
|
|
||||||
.With(new DirectiveTokenChunkGenerator(CSharpCodeParser.SectionDirectiveDescriptor.Tokens.First())),
|
|
||||||
Factory.Span(SpanKind.Markup, Environment.NewLine, CSharpSymbolType.NewLine).Accepts(AcceptedCharacters.AllWhiteSpace),
|
Factory.Span(SpanKind.Markup, Environment.NewLine, CSharpSymbolType.NewLine).Accepts(AcceptedCharacters.AllWhiteSpace),
|
||||||
Factory.MetaCode("{").AutoCompleteWith("}", atEndOfSpan: true).Accepts(AcceptedCharacters.None),
|
Factory.MetaCode("{").AutoCompleteWith("}", atEndOfSpan: true).Accepts(AcceptedCharacters.None),
|
||||||
new MarkupBlock(
|
new MarkupBlock(
|
||||||
|
|
@ -299,9 +283,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
Factory.CodeTransition(),
|
Factory.CodeTransition(),
|
||||||
Factory.MetaCode("section").Accepts(AcceptedCharacters.None),
|
Factory.MetaCode("section").Accepts(AcceptedCharacters.None),
|
||||||
Factory.Span(SpanKind.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.WhiteSpace),
|
Factory.Span(SpanKind.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.WhiteSpace),
|
||||||
Factory.Span(SpanKind.Code, "foo", CSharpSymbolType.Identifier)
|
Factory.Span(SpanKind.Code, "foo", CSharpSymbolType.Identifier).AsDirectiveToken(CSharpCodeParser.SectionDirectiveDescriptor.Tokens[0]),
|
||||||
.Accepts(AcceptedCharacters.NonWhiteSpace)
|
|
||||||
.With(new DirectiveTokenChunkGenerator(CSharpCodeParser.SectionDirectiveDescriptor.Tokens.First())),
|
|
||||||
Factory.Span(SpanKind.Markup, " " + Environment.NewLine, markup: false).Accepts(AcceptedCharacters.AllWhiteSpace)),
|
Factory.Span(SpanKind.Markup, " " + Environment.NewLine, markup: false).Accepts(AcceptedCharacters.AllWhiteSpace)),
|
||||||
Factory.EmptyHtml()),
|
Factory.EmptyHtml()),
|
||||||
new RazorError(
|
new RazorError(
|
||||||
|
|
@ -328,9 +310,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
Factory.CodeTransition(),
|
Factory.CodeTransition(),
|
||||||
Factory.MetaCode("section").Accepts(AcceptedCharacters.None),
|
Factory.MetaCode("section").Accepts(AcceptedCharacters.None),
|
||||||
Factory.Span(SpanKind.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.WhiteSpace),
|
Factory.Span(SpanKind.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.WhiteSpace),
|
||||||
Factory.Span(SpanKind.Code, "foo", CSharpSymbolType.Identifier)
|
Factory.Span(SpanKind.Code, "foo", CSharpSymbolType.Identifier).AsDirectiveToken(CSharpCodeParser.SectionDirectiveDescriptor.Tokens[0]),
|
||||||
.Accepts(AcceptedCharacters.NonWhiteSpace)
|
|
||||||
.With(new DirectiveTokenChunkGenerator(CSharpCodeParser.SectionDirectiveDescriptor.Tokens.First())),
|
|
||||||
Factory.Span(SpanKind.Markup, " " + string.Format("{0}{0}{0}{0}{0}{0}", Environment.NewLine), markup: false).Accepts(AcceptedCharacters.AllWhiteSpace),
|
Factory.Span(SpanKind.Markup, " " + string.Format("{0}{0}{0}{0}{0}{0}", Environment.NewLine), markup: false).Accepts(AcceptedCharacters.AllWhiteSpace),
|
||||||
Factory.MetaCode("{").AutoCompleteWith(null, atEndOfSpan: true).Accepts(AcceptedCharacters.None),
|
Factory.MetaCode("{").AutoCompleteWith(null, atEndOfSpan: true).Accepts(AcceptedCharacters.None),
|
||||||
new MarkupBlock(
|
new MarkupBlock(
|
||||||
|
|
@ -355,9 +335,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
Factory.CodeTransition(),
|
Factory.CodeTransition(),
|
||||||
Factory.MetaCode("section").Accepts(AcceptedCharacters.None),
|
Factory.MetaCode("section").Accepts(AcceptedCharacters.None),
|
||||||
Factory.Span(SpanKind.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.WhiteSpace),
|
Factory.Span(SpanKind.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.WhiteSpace),
|
||||||
Factory.Span(SpanKind.Code, "foo", CSharpSymbolType.Identifier)
|
Factory.Span(SpanKind.Code, "foo", CSharpSymbolType.Identifier).AsDirectiveToken(CSharpCodeParser.SectionDirectiveDescriptor.Tokens[0]),
|
||||||
.Accepts(AcceptedCharacters.NonWhiteSpace)
|
|
||||||
.With(new DirectiveTokenChunkGenerator(CSharpCodeParser.SectionDirectiveDescriptor.Tokens.First())),
|
|
||||||
Factory.Span(SpanKind.Markup, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.AllWhiteSpace),
|
Factory.Span(SpanKind.Markup, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.AllWhiteSpace),
|
||||||
Factory.MetaCode("{").AutoCompleteWith(null, atEndOfSpan: true).Accepts(AcceptedCharacters.None),
|
Factory.MetaCode("{").AutoCompleteWith(null, atEndOfSpan: true).Accepts(AcceptedCharacters.None),
|
||||||
new MarkupBlock(
|
new MarkupBlock(
|
||||||
|
|
@ -382,9 +360,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
Factory.CodeTransition(),
|
Factory.CodeTransition(),
|
||||||
Factory.MetaCode("section").Accepts(AcceptedCharacters.None),
|
Factory.MetaCode("section").Accepts(AcceptedCharacters.None),
|
||||||
Factory.Span(SpanKind.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.WhiteSpace),
|
Factory.Span(SpanKind.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.WhiteSpace),
|
||||||
Factory.Span(SpanKind.Code, "foo", CSharpSymbolType.Identifier)
|
Factory.Span(SpanKind.Code, "foo", CSharpSymbolType.Identifier).AsDirectiveToken(CSharpCodeParser.SectionDirectiveDescriptor.Tokens[0]),
|
||||||
.Accepts(AcceptedCharacters.NonWhiteSpace)
|
|
||||||
.With(new DirectiveTokenChunkGenerator(CSharpCodeParser.SectionDirectiveDescriptor.Tokens.First())),
|
|
||||||
Factory.MetaCode("{").AutoCompleteWith(null, atEndOfSpan: true).Accepts(AcceptedCharacters.None),
|
Factory.MetaCode("{").AutoCompleteWith(null, atEndOfSpan: true).Accepts(AcceptedCharacters.None),
|
||||||
new MarkupBlock(
|
new MarkupBlock(
|
||||||
Factory.Markup(" "),
|
Factory.Markup(" "),
|
||||||
|
|
@ -408,9 +384,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
Factory.CodeTransition(),
|
Factory.CodeTransition(),
|
||||||
Factory.MetaCode("section").Accepts(AcceptedCharacters.None),
|
Factory.MetaCode("section").Accepts(AcceptedCharacters.None),
|
||||||
Factory.Span(SpanKind.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.WhiteSpace),
|
Factory.Span(SpanKind.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.WhiteSpace),
|
||||||
Factory.Span(SpanKind.Code, "foo", CSharpSymbolType.Identifier)
|
Factory.Span(SpanKind.Code, "foo", CSharpSymbolType.Identifier).AsDirectiveToken(CSharpCodeParser.SectionDirectiveDescriptor.Tokens[0]),
|
||||||
.Accepts(AcceptedCharacters.NonWhiteSpace)
|
|
||||||
.With(new DirectiveTokenChunkGenerator(CSharpCodeParser.SectionDirectiveDescriptor.Tokens.First())),
|
|
||||||
Factory.Span(SpanKind.Markup, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.AllWhiteSpace),
|
Factory.Span(SpanKind.Markup, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.AllWhiteSpace),
|
||||||
Factory.MetaCode("{").AutoCompleteWith(null, atEndOfSpan: true).Accepts(AcceptedCharacters.None),
|
Factory.MetaCode("{").AutoCompleteWith(null, atEndOfSpan: true).Accepts(AcceptedCharacters.None),
|
||||||
new MarkupBlock(
|
new MarkupBlock(
|
||||||
|
|
@ -435,9 +409,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
Factory.CodeTransition(),
|
Factory.CodeTransition(),
|
||||||
Factory.MetaCode("section").Accepts(AcceptedCharacters.None),
|
Factory.MetaCode("section").Accepts(AcceptedCharacters.None),
|
||||||
Factory.Span(SpanKind.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.WhiteSpace),
|
Factory.Span(SpanKind.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.WhiteSpace),
|
||||||
Factory.Span(SpanKind.Code, "foo", CSharpSymbolType.Identifier)
|
Factory.Span(SpanKind.Code, "foo", CSharpSymbolType.Identifier).AsDirectiveToken(CSharpCodeParser.SectionDirectiveDescriptor.Tokens[0]),
|
||||||
.Accepts(AcceptedCharacters.NonWhiteSpace)
|
|
||||||
.With(new DirectiveTokenChunkGenerator(CSharpCodeParser.SectionDirectiveDescriptor.Tokens.First())),
|
|
||||||
Factory.Span(SpanKind.Markup, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.AllWhiteSpace),
|
Factory.Span(SpanKind.Markup, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.AllWhiteSpace),
|
||||||
Factory.MetaCode("{").AutoCompleteWith(null, atEndOfSpan: true).Accepts(AcceptedCharacters.None),
|
Factory.MetaCode("{").AutoCompleteWith(null, atEndOfSpan: true).Accepts(AcceptedCharacters.None),
|
||||||
new MarkupBlock(
|
new MarkupBlock(
|
||||||
|
|
@ -465,9 +437,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
Factory.CodeTransition(),
|
Factory.CodeTransition(),
|
||||||
Factory.MetaCode("section").Accepts(AcceptedCharacters.None),
|
Factory.MetaCode("section").Accepts(AcceptedCharacters.None),
|
||||||
Factory.Span(SpanKind.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.WhiteSpace),
|
Factory.Span(SpanKind.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.WhiteSpace),
|
||||||
Factory.Span(SpanKind.Code, "Foo", CSharpSymbolType.Identifier)
|
Factory.Span(SpanKind.Code, "Foo", CSharpSymbolType.Identifier).AsDirectiveToken(CSharpCodeParser.SectionDirectiveDescriptor.Tokens[0]),
|
||||||
.Accepts(AcceptedCharacters.NonWhiteSpace)
|
|
||||||
.With(new DirectiveTokenChunkGenerator(CSharpCodeParser.SectionDirectiveDescriptor.Tokens.First())),
|
|
||||||
Factory.Span(SpanKind.Markup, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.AllWhiteSpace),
|
Factory.Span(SpanKind.Markup, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.AllWhiteSpace),
|
||||||
Factory.MetaCode("{").AutoCompleteWith(null, atEndOfSpan: true).Accepts(AcceptedCharacters.None),
|
Factory.MetaCode("{").AutoCompleteWith(null, atEndOfSpan: true).Accepts(AcceptedCharacters.None),
|
||||||
new MarkupBlock(
|
new MarkupBlock(
|
||||||
|
|
@ -492,9 +462,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
Factory.CodeTransition(),
|
Factory.CodeTransition(),
|
||||||
Factory.MetaCode("section").Accepts(AcceptedCharacters.None),
|
Factory.MetaCode("section").Accepts(AcceptedCharacters.None),
|
||||||
Factory.Span(SpanKind.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.WhiteSpace),
|
Factory.Span(SpanKind.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.WhiteSpace),
|
||||||
Factory.Span(SpanKind.Code, "Foo", CSharpSymbolType.Identifier)
|
Factory.Span(SpanKind.Code, "Foo", CSharpSymbolType.Identifier).AsDirectiveToken(CSharpCodeParser.SectionDirectiveDescriptor.Tokens[0]),
|
||||||
.Accepts(AcceptedCharacters.NonWhiteSpace)
|
|
||||||
.With(new DirectiveTokenChunkGenerator(CSharpCodeParser.SectionDirectiveDescriptor.Tokens.First())),
|
|
||||||
Factory.Span(SpanKind.Markup, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.AllWhiteSpace),
|
Factory.Span(SpanKind.Markup, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.AllWhiteSpace),
|
||||||
Factory.MetaCode("{").AutoCompleteWith(null, atEndOfSpan: true).Accepts(AcceptedCharacters.None),
|
Factory.MetaCode("{").AutoCompleteWith(null, atEndOfSpan: true).Accepts(AcceptedCharacters.None),
|
||||||
new MarkupBlock(
|
new MarkupBlock(
|
||||||
|
|
@ -517,9 +485,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
Factory.CodeTransition(),
|
Factory.CodeTransition(),
|
||||||
Factory.MetaCode("section").Accepts(AcceptedCharacters.None),
|
Factory.MetaCode("section").Accepts(AcceptedCharacters.None),
|
||||||
Factory.Span(SpanKind.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.WhiteSpace),
|
Factory.Span(SpanKind.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.WhiteSpace),
|
||||||
Factory.Span(SpanKind.Code, "foo", CSharpSymbolType.Identifier)
|
Factory.Span(SpanKind.Code, "foo", CSharpSymbolType.Identifier).AsDirectiveToken(CSharpCodeParser.SectionDirectiveDescriptor.Tokens[0]),
|
||||||
.Accepts(AcceptedCharacters.NonWhiteSpace)
|
|
||||||
.With(new DirectiveTokenChunkGenerator(CSharpCodeParser.SectionDirectiveDescriptor.Tokens.First())),
|
|
||||||
Factory.Span(SpanKind.Markup, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.AllWhiteSpace),
|
Factory.Span(SpanKind.Markup, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.AllWhiteSpace),
|
||||||
Factory.MetaCode("{").AutoCompleteWith(null, atEndOfSpan: true).Accepts(AcceptedCharacters.None),
|
Factory.MetaCode("{").AutoCompleteWith(null, atEndOfSpan: true).Accepts(AcceptedCharacters.None),
|
||||||
new MarkupBlock(
|
new MarkupBlock(
|
||||||
|
|
@ -538,9 +504,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
Factory.CodeTransition(),
|
Factory.CodeTransition(),
|
||||||
Factory.MetaCode("section").Accepts(AcceptedCharacters.None),
|
Factory.MetaCode("section").Accepts(AcceptedCharacters.None),
|
||||||
Factory.Span(SpanKind.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.WhiteSpace),
|
Factory.Span(SpanKind.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.WhiteSpace),
|
||||||
Factory.Span(SpanKind.Code, "s", CSharpSymbolType.Identifier)
|
Factory.Span(SpanKind.Code, "s", CSharpSymbolType.Identifier).AsDirectiveToken(CSharpCodeParser.SectionDirectiveDescriptor.Tokens[0]),
|
||||||
.Accepts(AcceptedCharacters.NonWhiteSpace)
|
|
||||||
.With(new DirectiveTokenChunkGenerator(CSharpCodeParser.SectionDirectiveDescriptor.Tokens.First())),
|
|
||||||
Factory.Span(SpanKind.Markup, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.AllWhiteSpace),
|
Factory.Span(SpanKind.Markup, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.AllWhiteSpace),
|
||||||
Factory.MetaCode("{").AutoCompleteWith(null, atEndOfSpan: true).Accepts(AcceptedCharacters.None),
|
Factory.MetaCode("{").AutoCompleteWith(null, atEndOfSpan: true).Accepts(AcceptedCharacters.None),
|
||||||
new MarkupBlock(
|
new MarkupBlock(
|
||||||
|
|
@ -561,9 +525,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
Factory.CodeTransition(),
|
Factory.CodeTransition(),
|
||||||
Factory.MetaCode("section").Accepts(AcceptedCharacters.None),
|
Factory.MetaCode("section").Accepts(AcceptedCharacters.None),
|
||||||
Factory.Span(SpanKind.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.WhiteSpace),
|
Factory.Span(SpanKind.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.WhiteSpace),
|
||||||
Factory.Span(SpanKind.Code, "s", CSharpSymbolType.Identifier)
|
Factory.Span(SpanKind.Code, "s", CSharpSymbolType.Identifier).AsDirectiveToken(CSharpCodeParser.SectionDirectiveDescriptor.Tokens[0]),
|
||||||
.Accepts(AcceptedCharacters.NonWhiteSpace)
|
|
||||||
.With(new DirectiveTokenChunkGenerator(CSharpCodeParser.SectionDirectiveDescriptor.Tokens.First())),
|
|
||||||
Factory.Span(SpanKind.Markup, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.AllWhiteSpace),
|
Factory.Span(SpanKind.Markup, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.AllWhiteSpace),
|
||||||
Factory.MetaCode("{").AutoCompleteWith(null, atEndOfSpan: true).Accepts(AcceptedCharacters.None),
|
Factory.MetaCode("{").AutoCompleteWith(null, atEndOfSpan: true).Accepts(AcceptedCharacters.None),
|
||||||
new MarkupBlock(
|
new MarkupBlock(
|
||||||
|
|
@ -583,9 +545,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
Factory.CodeTransition(),
|
Factory.CodeTransition(),
|
||||||
Factory.MetaCode("section").Accepts(AcceptedCharacters.None),
|
Factory.MetaCode("section").Accepts(AcceptedCharacters.None),
|
||||||
Factory.Span(SpanKind.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.WhiteSpace),
|
Factory.Span(SpanKind.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.WhiteSpace),
|
||||||
Factory.Span(SpanKind.Code, "s", CSharpSymbolType.Identifier)
|
Factory.Span(SpanKind.Code, "s", CSharpSymbolType.Identifier).AsDirectiveToken(CSharpCodeParser.SectionDirectiveDescriptor.Tokens[0]),
|
||||||
.Accepts(AcceptedCharacters.NonWhiteSpace)
|
|
||||||
.With(new DirectiveTokenChunkGenerator(CSharpCodeParser.SectionDirectiveDescriptor.Tokens.First())),
|
|
||||||
Factory.Span(SpanKind.Markup, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.AllWhiteSpace),
|
Factory.Span(SpanKind.Markup, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.AllWhiteSpace),
|
||||||
Factory.MetaCode("{").AutoCompleteWith(null, atEndOfSpan: true).Accepts(AcceptedCharacters.None),
|
Factory.MetaCode("{").AutoCompleteWith(null, atEndOfSpan: true).Accepts(AcceptedCharacters.None),
|
||||||
new MarkupBlock(
|
new MarkupBlock(
|
||||||
|
|
@ -608,9 +568,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
Factory.CodeTransition(),
|
Factory.CodeTransition(),
|
||||||
Factory.MetaCode("section").Accepts(AcceptedCharacters.None),
|
Factory.MetaCode("section").Accepts(AcceptedCharacters.None),
|
||||||
Factory.Span(SpanKind.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.WhiteSpace),
|
Factory.Span(SpanKind.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.WhiteSpace),
|
||||||
Factory.Span(SpanKind.Code, "s", CSharpSymbolType.Identifier)
|
Factory.Span(SpanKind.Code, "s", CSharpSymbolType.Identifier).AsDirectiveToken(CSharpCodeParser.SectionDirectiveDescriptor.Tokens[0]),
|
||||||
.Accepts(AcceptedCharacters.NonWhiteSpace)
|
|
||||||
.With(new DirectiveTokenChunkGenerator(CSharpCodeParser.SectionDirectiveDescriptor.Tokens.First())),
|
|
||||||
Factory.Span(SpanKind.Markup, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.AllWhiteSpace),
|
Factory.Span(SpanKind.Markup, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.AllWhiteSpace),
|
||||||
Factory.MetaCode("{").AutoCompleteWith(null, atEndOfSpan: true).Accepts(AcceptedCharacters.None),
|
Factory.MetaCode("{").AutoCompleteWith(null, atEndOfSpan: true).Accepts(AcceptedCharacters.None),
|
||||||
new MarkupBlock(
|
new MarkupBlock(
|
||||||
|
|
@ -635,9 +593,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
factory.CodeTransition(),
|
factory.CodeTransition(),
|
||||||
factory.MetaCode("section").Accepts(AcceptedCharacters.None),
|
factory.MetaCode("section").Accepts(AcceptedCharacters.None),
|
||||||
factory.Span(SpanKind.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.WhiteSpace),
|
factory.Span(SpanKind.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.WhiteSpace),
|
||||||
factory.Span(SpanKind.Code, "s", CSharpSymbolType.Identifier)
|
factory.Span(SpanKind.Code, "s", CSharpSymbolType.Identifier).AsDirectiveToken(CSharpCodeParser.SectionDirectiveDescriptor.Tokens[0]),
|
||||||
.Accepts(AcceptedCharacters.NonWhiteSpace)
|
|
||||||
.With(new DirectiveTokenChunkGenerator(CSharpCodeParser.SectionDirectiveDescriptor.Tokens.First())),
|
|
||||||
factory.Span(SpanKind.Markup, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.AllWhiteSpace),
|
factory.Span(SpanKind.Markup, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.AllWhiteSpace),
|
||||||
factory.MetaCode("{").AutoCompleteWith(null, atEndOfSpan: true).Accepts(AcceptedCharacters.None),
|
factory.MetaCode("{").AutoCompleteWith(null, atEndOfSpan: true).Accepts(AcceptedCharacters.None),
|
||||||
new MarkupBlock(
|
new MarkupBlock(
|
||||||
|
|
@ -662,9 +618,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
factory.CodeTransition(),
|
factory.CodeTransition(),
|
||||||
factory.MetaCode("section").Accepts(AcceptedCharacters.None),
|
factory.MetaCode("section").Accepts(AcceptedCharacters.None),
|
||||||
factory.Span(SpanKind.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.WhiteSpace),
|
factory.Span(SpanKind.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.WhiteSpace),
|
||||||
factory.Span(SpanKind.Code, "s", CSharpSymbolType.Identifier)
|
factory.Span(SpanKind.Code, "s", CSharpSymbolType.Identifier).AsDirectiveToken(CSharpCodeParser.SectionDirectiveDescriptor.Tokens[0]),
|
||||||
.Accepts(AcceptedCharacters.NonWhiteSpace)
|
|
||||||
.With(new DirectiveTokenChunkGenerator(CSharpCodeParser.SectionDirectiveDescriptor.Tokens.First())),
|
|
||||||
factory.Span(SpanKind.Markup, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.AllWhiteSpace),
|
factory.Span(SpanKind.Markup, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.AllWhiteSpace),
|
||||||
factory.MetaCode("{").AutoCompleteWith(null, atEndOfSpan: true).Accepts(AcceptedCharacters.None),
|
factory.MetaCode("{").AutoCompleteWith(null, atEndOfSpan: true).Accepts(AcceptedCharacters.None),
|
||||||
new MarkupBlock(
|
new MarkupBlock(
|
||||||
|
|
|
||||||
|
|
@ -27,9 +27,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
new DirectiveBlock(new DirectiveChunkGenerator(CSharpCodeParser.InheritsDirectiveDescriptor),
|
new DirectiveBlock(new DirectiveChunkGenerator(CSharpCodeParser.InheritsDirectiveDescriptor),
|
||||||
Factory.MetaCode("inherits").Accepts(AcceptedCharacters.None),
|
Factory.MetaCode("inherits").Accepts(AcceptedCharacters.None),
|
||||||
Factory.Span(SpanKind.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.WhiteSpace),
|
Factory.Span(SpanKind.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.WhiteSpace),
|
||||||
Factory.Span(SpanKind.Code, "Foo.Bar<Biz<Qux>, string, int>.Baz", markup: false)
|
Factory.Span(SpanKind.Code, "Foo.Bar<Biz<Qux>, string, int>.Baz", markup: false).AsDirectiveToken(CSharpCodeParser.InheritsDirectiveDescriptor.Tokens[0])));
|
||||||
.Accepts(AcceptedCharacters.NonWhiteSpace)
|
|
||||||
.With(new DirectiveTokenChunkGenerator(CSharpCodeParser.InheritsDirectiveDescriptor.Tokens.First()))));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
|
|
|
||||||
|
|
@ -113,9 +113,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
Factory.CodeTransition(),
|
Factory.CodeTransition(),
|
||||||
Factory.MetaCode("section").Accepts(AcceptedCharacters.None),
|
Factory.MetaCode("section").Accepts(AcceptedCharacters.None),
|
||||||
Factory.Span(SpanKind.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.WhiteSpace),
|
Factory.Span(SpanKind.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.WhiteSpace),
|
||||||
Factory.Span(SpanKind.Code, "Foo", CSharpSymbolType.Identifier)
|
Factory.Span(SpanKind.Code, "Foo", CSharpSymbolType.Identifier).AsDirectiveToken(CSharpCodeParser.SectionDirectiveDescriptor.Tokens[0]),
|
||||||
.Accepts(AcceptedCharacters.NonWhiteSpace)
|
|
||||||
.With(new DirectiveTokenChunkGenerator(CSharpCodeParser.SectionDirectiveDescriptor.Tokens.First())),
|
|
||||||
Factory.Span(SpanKind.Markup, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.AllWhiteSpace),
|
Factory.Span(SpanKind.Markup, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.AllWhiteSpace),
|
||||||
Factory.MetaCode("{").AutoCompleteWith(null, atEndOfSpan: true).Accepts(AcceptedCharacters.None),
|
Factory.MetaCode("{").AutoCompleteWith(null, atEndOfSpan: true).Accepts(AcceptedCharacters.None),
|
||||||
new MarkupBlock(
|
new MarkupBlock(
|
||||||
|
|
@ -478,9 +476,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
Factory.CodeTransition(),
|
Factory.CodeTransition(),
|
||||||
Factory.MetaCode("section").Accepts(AcceptedCharacters.None),
|
Factory.MetaCode("section").Accepts(AcceptedCharacters.None),
|
||||||
Factory.Span(SpanKind.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.WhiteSpace),
|
Factory.Span(SpanKind.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.WhiteSpace),
|
||||||
Factory.Span(SpanKind.Code, "Foo", CSharpSymbolType.Identifier)
|
Factory.Span(SpanKind.Code, "Foo", CSharpSymbolType.Identifier).AsDirectiveToken(CSharpCodeParser.SectionDirectiveDescriptor.Tokens[0]),
|
||||||
.Accepts(AcceptedCharacters.NonWhiteSpace)
|
|
||||||
.With(new DirectiveTokenChunkGenerator(CSharpCodeParser.SectionDirectiveDescriptor.Tokens.First())),
|
|
||||||
Factory.Span(SpanKind.Markup, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.AllWhiteSpace),
|
Factory.Span(SpanKind.Markup, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.AllWhiteSpace),
|
||||||
Factory.MetaCode("{").AutoCompleteWith(null, atEndOfSpan: true).Accepts(AcceptedCharacters.None),
|
Factory.MetaCode("{").AutoCompleteWith(null, atEndOfSpan: true).Accepts(AcceptedCharacters.None),
|
||||||
new MarkupBlock(
|
new MarkupBlock(
|
||||||
|
|
|
||||||
|
|
@ -295,9 +295,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
Factory.CodeTransition(),
|
Factory.CodeTransition(),
|
||||||
Factory.MetaCode("section").Accepts(AcceptedCharacters.None),
|
Factory.MetaCode("section").Accepts(AcceptedCharacters.None),
|
||||||
Factory.Span(SpanKind.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.WhiteSpace),
|
Factory.Span(SpanKind.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.WhiteSpace),
|
||||||
Factory.Span(SpanKind.Code, "foo", CSharpSymbolType.Identifier)
|
Factory.Span(SpanKind.Code, "foo", CSharpSymbolType.Identifier).AsDirectiveToken(CSharpCodeParser.SectionDirectiveDescriptor.Tokens[0]),
|
||||||
.Accepts(AcceptedCharacters.NonWhiteSpace)
|
|
||||||
.With(new DirectiveTokenChunkGenerator(CSharpCodeParser.SectionDirectiveDescriptor.Tokens.First())),
|
|
||||||
Factory.Span(SpanKind.Markup, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.AllWhiteSpace),
|
Factory.Span(SpanKind.Markup, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.AllWhiteSpace),
|
||||||
Factory.MetaCode("{").AutoCompleteWith(null, atEndOfSpan: true).Accepts(AcceptedCharacters.None),
|
Factory.MetaCode("{").AutoCompleteWith(null, atEndOfSpan: true).Accepts(AcceptedCharacters.None),
|
||||||
new MarkupBlock(
|
new MarkupBlock(
|
||||||
|
|
@ -398,9 +396,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
Factory.CodeTransition(),
|
Factory.CodeTransition(),
|
||||||
Factory.MetaCode("section").Accepts(AcceptedCharacters.None),
|
Factory.MetaCode("section").Accepts(AcceptedCharacters.None),
|
||||||
Factory.Span(SpanKind.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.WhiteSpace),
|
Factory.Span(SpanKind.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.WhiteSpace),
|
||||||
Factory.Span(SpanKind.Code, "Foo", CSharpSymbolType.Identifier)
|
Factory.Span(SpanKind.Code, "Foo", CSharpSymbolType.Identifier).AsDirectiveToken(CSharpCodeParser.SectionDirectiveDescriptor.Tokens[0]),
|
||||||
.Accepts(AcceptedCharacters.NonWhiteSpace)
|
|
||||||
.With(new DirectiveTokenChunkGenerator(CSharpCodeParser.SectionDirectiveDescriptor.Tokens.First())),
|
|
||||||
Factory.Span(SpanKind.Markup, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.AllWhiteSpace),
|
Factory.Span(SpanKind.Markup, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.AllWhiteSpace),
|
||||||
Factory.MetaCode("{").AutoCompleteWith(null, atEndOfSpan: true).Accepts(AcceptedCharacters.None),
|
Factory.MetaCode("{").AutoCompleteWith(null, atEndOfSpan: true).Accepts(AcceptedCharacters.None),
|
||||||
new MarkupBlock(
|
new MarkupBlock(
|
||||||
|
|
@ -426,9 +422,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
Factory.CodeTransition(),
|
Factory.CodeTransition(),
|
||||||
Factory.MetaCode("section").Accepts(AcceptedCharacters.None),
|
Factory.MetaCode("section").Accepts(AcceptedCharacters.None),
|
||||||
Factory.Span(SpanKind.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.WhiteSpace),
|
Factory.Span(SpanKind.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.WhiteSpace),
|
||||||
Factory.Span(SpanKind.Code, "Foo", CSharpSymbolType.Identifier)
|
Factory.Span(SpanKind.Code, "Foo", CSharpSymbolType.Identifier).AsDirectiveToken(CSharpCodeParser.SectionDirectiveDescriptor.Tokens[0]),
|
||||||
.Accepts(AcceptedCharacters.NonWhiteSpace)
|
|
||||||
.With(new DirectiveTokenChunkGenerator(CSharpCodeParser.SectionDirectiveDescriptor.Tokens.First())),
|
|
||||||
Factory.Span(SpanKind.Markup, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.AllWhiteSpace),
|
Factory.Span(SpanKind.Markup, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharacters.AllWhiteSpace),
|
||||||
Factory.MetaCode("{").AutoCompleteWith(null, atEndOfSpan: true).Accepts(AcceptedCharacters.None),
|
Factory.MetaCode("{").AutoCompleteWith(null, atEndOfSpan: true).Accepts(AcceptedCharacters.None),
|
||||||
new MarkupBlock(
|
new MarkupBlock(
|
||||||
|
|
|
||||||
|
|
@ -153,6 +153,14 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
.Accepts(AcceptedCharacters.AnyExceptNewline);
|
.Accepts(AcceptedCharacters.AnyExceptNewline);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static SpanConstructor AsDirectiveToken(this SpanConstructor self, DirectiveTokenDescriptor descriptor)
|
||||||
|
{
|
||||||
|
return self
|
||||||
|
.With(new DirectiveTokenChunkGenerator(descriptor))
|
||||||
|
.With(new DirectiveTokenEditHandler((content) => SpanConstructor.TestTokenizer(content)))
|
||||||
|
.Accepts(AcceptedCharacters.NonWhiteSpace);
|
||||||
|
}
|
||||||
|
|
||||||
public static SourceLocation GetLocationAndAdvance(this SourceLocationTracker self, string content)
|
public static SourceLocation GetLocationAndAdvance(this SourceLocationTracker self, string content)
|
||||||
{
|
{
|
||||||
var ret = self.CurrentLocation;
|
var ret = self.CurrentLocation;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue