Convert HtmlToCodeSwitchTest
This commit is contained in:
parent
42e8f4abc8
commit
942d4d194c
|
|
@ -1,43 +0,0 @@
|
|||
// 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;
|
||||
|
||||
namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||
{
|
||||
internal class HtmlParserTestUtils
|
||||
{
|
||||
public static void RunSingleAtEscapeTest(Action<string, Block> testMethod, AcceptedCharactersInternal lastSpanAcceptedCharacters = AcceptedCharactersInternal.None)
|
||||
{
|
||||
var factory = new SpanFactory();
|
||||
testMethod("<foo>@@bar</foo>",
|
||||
new MarkupBlock(
|
||||
new MarkupTagBlock(
|
||||
factory.Markup("<foo>").Accepts(lastSpanAcceptedCharacters)),
|
||||
factory.Markup("@").Hidden(),
|
||||
factory.Markup("@bar"),
|
||||
new MarkupTagBlock(
|
||||
factory.Markup("</foo>").Accepts(lastSpanAcceptedCharacters))));
|
||||
}
|
||||
|
||||
public static void RunMultiAtEscapeTest(Action<string, Block> testMethod, AcceptedCharactersInternal lastSpanAcceptedCharacters = AcceptedCharactersInternal.None)
|
||||
{
|
||||
var factory = new SpanFactory();
|
||||
testMethod("<foo>@@@@@bar</foo>",
|
||||
new MarkupBlock(
|
||||
new MarkupTagBlock(
|
||||
factory.Markup("<foo>").Accepts(lastSpanAcceptedCharacters)),
|
||||
factory.Markup("@").Hidden(),
|
||||
factory.Markup("@"),
|
||||
factory.Markup("@").Hidden(),
|
||||
factory.Markup("@"),
|
||||
new ExpressionBlock(
|
||||
factory.CodeTransition(),
|
||||
factory.Code("bar")
|
||||
.AsImplicitExpression(CSharpCodeParser.DefaultKeywords)
|
||||
.Accepts(AcceptedCharactersInternal.NonWhiteSpace)),
|
||||
new MarkupTagBlock(
|
||||
factory.Markup("</foo>").Accepts(lastSpanAcceptedCharacters))));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -10,80 +10,33 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
|||
{
|
||||
public class HtmlToCodeSwitchTest : CsHtmlMarkupParserTestBase
|
||||
{
|
||||
public HtmlToCodeSwitchTest()
|
||||
{
|
||||
UseBaselineTests = true;
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ParseBlockSwitchesWhenCharacterBeforeSwapIsNonAlphanumeric()
|
||||
{
|
||||
ParseBlockTest("<p>foo#@i</p>",
|
||||
new MarkupBlock(
|
||||
new MarkupTagBlock(
|
||||
Factory.Markup("<p>").Accepts(AcceptedCharactersInternal.None)),
|
||||
Factory.Markup("foo#"),
|
||||
new ExpressionBlock(
|
||||
Factory.CodeTransition(),
|
||||
Factory.Code("i").AsImplicitExpression(CSharpCodeParser.DefaultKeywords).Accepts(AcceptedCharactersInternal.NonWhiteSpace)),
|
||||
new MarkupTagBlock(
|
||||
Factory.Markup("</p>").Accepts(AcceptedCharactersInternal.None))));
|
||||
ParseBlockTest("<p>foo#@i</p>");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ParseBlockSwitchesToCodeWhenSwapCharacterEncounteredMidTag()
|
||||
{
|
||||
ParseBlockTest("<foo @bar />",
|
||||
new MarkupBlock(
|
||||
new MarkupTagBlock(
|
||||
Factory.Markup("<foo "),
|
||||
new ExpressionBlock(
|
||||
Factory.CodeTransition(),
|
||||
Factory.Code("bar")
|
||||
.AsImplicitExpression(CSharpCodeParser.DefaultKeywords)
|
||||
.Accepts(AcceptedCharactersInternal.NonWhiteSpace)),
|
||||
Factory.Markup(" />").Accepts(AcceptedCharactersInternal.None))));
|
||||
ParseBlockTest("<foo @bar />");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ParseBlockSwitchesToCodeWhenSwapCharacterEncounteredInAttributeValue()
|
||||
{
|
||||
ParseBlockTest("<foo bar=\"@baz\" />",
|
||||
new MarkupBlock(
|
||||
new MarkupTagBlock(
|
||||
Factory.Markup("<foo"),
|
||||
new MarkupBlock(new AttributeBlockChunkGenerator("bar", new LocationTagged<string>(" bar=\"", 4, 0, 4), new LocationTagged<string>("\"", 14, 0, 14)),
|
||||
Factory.Markup(" bar=\"").With(SpanChunkGenerator.Null),
|
||||
new MarkupBlock(new DynamicAttributeBlockChunkGenerator(new LocationTagged<string>(string.Empty, 10, 0, 10), 10, 0, 10),
|
||||
new ExpressionBlock(
|
||||
Factory.CodeTransition(),
|
||||
Factory.Code("baz")
|
||||
.AsImplicitExpression(CSharpCodeParser.DefaultKeywords)
|
||||
.Accepts(AcceptedCharactersInternal.NonWhiteSpace))),
|
||||
Factory.Markup("\"").With(SpanChunkGenerator.Null)),
|
||||
Factory.Markup(" />").Accepts(AcceptedCharactersInternal.None))));
|
||||
ParseBlockTest("<foo bar=\"@baz\" />");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ParseBlockSwitchesToCodeWhenSwapCharacterEncounteredInTagContent()
|
||||
{
|
||||
ParseBlockTest("<foo>@bar<baz>@boz</baz></foo>",
|
||||
new MarkupBlock(
|
||||
new MarkupTagBlock(
|
||||
Factory.Markup("<foo>").Accepts(AcceptedCharactersInternal.None)),
|
||||
Factory.EmptyHtml(),
|
||||
new ExpressionBlock(
|
||||
Factory.CodeTransition(),
|
||||
Factory.Code("bar")
|
||||
.AsImplicitExpression(CSharpCodeParser.DefaultKeywords)
|
||||
.Accepts(AcceptedCharactersInternal.NonWhiteSpace)),
|
||||
new MarkupTagBlock(
|
||||
Factory.Markup("<baz>").Accepts(AcceptedCharactersInternal.None)),
|
||||
Factory.EmptyHtml(),
|
||||
new ExpressionBlock(
|
||||
Factory.CodeTransition(),
|
||||
Factory.Code("boz")
|
||||
.AsImplicitExpression(CSharpCodeParser.DefaultKeywords)
|
||||
.Accepts(AcceptedCharactersInternal.NonWhiteSpace)),
|
||||
new MarkupTagBlock(
|
||||
Factory.Markup("</baz>").Accepts(AcceptedCharactersInternal.None)),
|
||||
new MarkupTagBlock(
|
||||
Factory.Markup("</foo>").Accepts(AcceptedCharactersInternal.None))));
|
||||
ParseBlockTest("<foo>@bar<baz>@boz</baz></foo>");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
|
@ -91,121 +44,43 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
|||
{
|
||||
// TODO: Fix at a later date, HTML should be a tag block: https://github.com/aspnet/Razor/issues/101
|
||||
ParseBlockTest("@:<li>Foo @Bar Baz" + Environment.NewLine
|
||||
+ "bork",
|
||||
new MarkupBlock(
|
||||
Factory.MarkupTransition(),
|
||||
Factory.MetaMarkup(":", HtmlSymbolType.Colon),
|
||||
Factory.Markup("<li>Foo ").With(new SpanEditHandler(CSharpLanguageCharacteristics.Instance.TokenizeString)),
|
||||
new ExpressionBlock(
|
||||
Factory.CodeTransition(),
|
||||
Factory.Code("Bar")
|
||||
.AsImplicitExpression(CSharpCodeParser.DefaultKeywords)
|
||||
.Accepts(AcceptedCharactersInternal.NonWhiteSpace)),
|
||||
Factory.Markup(" Baz" + Environment.NewLine)
|
||||
.Accepts(AcceptedCharactersInternal.None)));
|
||||
+ "bork");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ParseBlockSupportsCodeWithinComment()
|
||||
{
|
||||
ParseBlockTest("<foo><!-- @foo --></foo>",
|
||||
new MarkupBlock(
|
||||
new MarkupTagBlock(
|
||||
Factory.Markup("<foo>").Accepts(AcceptedCharactersInternal.None)),
|
||||
BlockFactory.HtmlCommentBlock(Factory, f => new SyntaxTreeNode[] {
|
||||
f.Markup(" ").Accepts(AcceptedCharactersInternal.WhiteSpace),
|
||||
new ExpressionBlock(
|
||||
f.CodeTransition(),
|
||||
f.Code("foo")
|
||||
.AsImplicitExpression(CSharpCodeParser.DefaultKeywords)
|
||||
.Accepts(AcceptedCharactersInternal.NonWhiteSpace)),
|
||||
f.Markup(" ").Accepts(AcceptedCharactersInternal.WhiteSpace) }),
|
||||
new MarkupTagBlock(
|
||||
Factory.Markup("</foo>").Accepts(AcceptedCharactersInternal.None))));
|
||||
ParseBlockTest("<foo><!-- @foo --></foo>");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ParseBlockSupportsCodeWithinSGMLDeclaration()
|
||||
{
|
||||
ParseBlockTest("<foo><!DOCTYPE foo @bar baz></foo>",
|
||||
new MarkupBlock(
|
||||
new MarkupTagBlock(
|
||||
Factory.Markup("<foo>").Accepts(AcceptedCharactersInternal.None)),
|
||||
Factory.Markup("<!DOCTYPE foo "),
|
||||
new ExpressionBlock(
|
||||
Factory.CodeTransition(),
|
||||
Factory.Code("bar")
|
||||
.AsImplicitExpression(CSharpCodeParser.DefaultKeywords)
|
||||
.Accepts(AcceptedCharactersInternal.NonWhiteSpace)),
|
||||
Factory.Markup(" baz>").Accepts(AcceptedCharactersInternal.None),
|
||||
new MarkupTagBlock(
|
||||
Factory.Markup("</foo>").Accepts(AcceptedCharactersInternal.None))));
|
||||
ParseBlockTest("<foo><!DOCTYPE foo @bar baz></foo>");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ParseBlockSupportsCodeWithinCDataDeclaration()
|
||||
{
|
||||
ParseBlockTest("<foo><![CDATA[ foo @bar baz]]></foo>",
|
||||
new MarkupBlock(
|
||||
new MarkupTagBlock(
|
||||
Factory.Markup("<foo>").Accepts(AcceptedCharactersInternal.None)),
|
||||
Factory.Markup("<![CDATA[ foo "),
|
||||
new ExpressionBlock(
|
||||
Factory.CodeTransition(),
|
||||
Factory.Code("bar")
|
||||
.AsImplicitExpression(CSharpCodeParser.DefaultKeywords)
|
||||
.Accepts(AcceptedCharactersInternal.NonWhiteSpace)),
|
||||
Factory.Markup(" baz]]>").Accepts(AcceptedCharactersInternal.None),
|
||||
new MarkupTagBlock(
|
||||
Factory.Markup("</foo>").Accepts(AcceptedCharactersInternal.None))));
|
||||
ParseBlockTest("<foo><![CDATA[ foo @bar baz]]></foo>");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ParseBlockSupportsCodeWithinXMLProcessingInstruction()
|
||||
{
|
||||
ParseBlockTest("<foo><?xml foo @bar baz?></foo>",
|
||||
new MarkupBlock(
|
||||
new MarkupTagBlock(
|
||||
Factory.Markup("<foo>").Accepts(AcceptedCharactersInternal.None)),
|
||||
Factory.Markup("<?xml foo "),
|
||||
new ExpressionBlock(
|
||||
Factory.CodeTransition(),
|
||||
Factory.Code("bar")
|
||||
.AsImplicitExpression(CSharpCodeParser.DefaultKeywords)
|
||||
.Accepts(AcceptedCharactersInternal.NonWhiteSpace)),
|
||||
Factory.Markup(" baz?>").Accepts(AcceptedCharactersInternal.None),
|
||||
new MarkupTagBlock(
|
||||
Factory.Markup("</foo>").Accepts(AcceptedCharactersInternal.None))));
|
||||
ParseBlockTest("<foo><?xml foo @bar baz?></foo>");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ParseBlockDoesNotSwitchToCodeOnEmailAddressInText()
|
||||
{
|
||||
ParseBlockTest("<foo>anurse@microsoft.com</foo>",
|
||||
new MarkupBlock(
|
||||
new MarkupTagBlock(
|
||||
Factory.Markup("<foo>").Accepts(AcceptedCharactersInternal.None)),
|
||||
Factory.Markup("anurse@microsoft.com"),
|
||||
new MarkupTagBlock(
|
||||
Factory.Markup("</foo>").Accepts(AcceptedCharactersInternal.None))));
|
||||
ParseBlockTest("<foo>anurse@microsoft.com</foo>");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ParseBlockDoesNotSwitchToCodeOnEmailAddressInAttribute()
|
||||
{
|
||||
ParseBlockTest("<a href=\"mailto:anurse@microsoft.com\">Email me</a>",
|
||||
new MarkupBlock(
|
||||
new MarkupTagBlock(
|
||||
Factory.Markup("<a"),
|
||||
new MarkupBlock(new AttributeBlockChunkGenerator("href", new LocationTagged<string>(" href=\"", 2, 0, 2), new LocationTagged<string>("\"", 36, 0, 36)),
|
||||
Factory.Markup(" href=\"").With(SpanChunkGenerator.Null),
|
||||
Factory.Markup("mailto:anurse@microsoft.com")
|
||||
.With(new LiteralAttributeChunkGenerator(new LocationTagged<string>(string.Empty, 9, 0, 9), new LocationTagged<string>("mailto:anurse@microsoft.com", 9, 0, 9))),
|
||||
Factory.Markup("\"").With(SpanChunkGenerator.Null)),
|
||||
Factory.Markup(">").Accepts(AcceptedCharactersInternal.None)),
|
||||
Factory.Markup("Email me"),
|
||||
new MarkupTagBlock(
|
||||
Factory.Markup("</a>").Accepts(AcceptedCharactersInternal.None))));
|
||||
ParseBlockTest("<a href=\"mailto:anurse@microsoft.com\">Email me</a>");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
|
@ -215,33 +90,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
|||
+ " @foreach(var p in Products) {" + Environment.NewLine
|
||||
+ " <li>Product: @p.Name</li>" + Environment.NewLine
|
||||
+ " }" + Environment.NewLine
|
||||
+ " </ul>",
|
||||
new MarkupBlock(
|
||||
Factory.Markup(" "),
|
||||
new MarkupTagBlock(
|
||||
Factory.Markup("<ul>").Accepts(AcceptedCharactersInternal.None)),
|
||||
Factory.Markup(Environment.NewLine),
|
||||
new StatementBlock(
|
||||
Factory.Code(" ").AsStatement(),
|
||||
Factory.CodeTransition(),
|
||||
Factory.Code("foreach(var p in Products) {" + Environment.NewLine).AsStatement(),
|
||||
new MarkupBlock(
|
||||
Factory.Markup(" "),
|
||||
new MarkupTagBlock(
|
||||
Factory.Markup("<li>").Accepts(AcceptedCharactersInternal.None)),
|
||||
Factory.Markup("Product: "),
|
||||
new ExpressionBlock(
|
||||
Factory.CodeTransition(),
|
||||
Factory.Code("p.Name")
|
||||
.AsImplicitExpression(CSharpCodeParser.DefaultKeywords)
|
||||
.Accepts(AcceptedCharactersInternal.NonWhiteSpace)),
|
||||
new MarkupTagBlock(
|
||||
Factory.Markup("</li>").Accepts(AcceptedCharactersInternal.None)),
|
||||
Factory.Markup(Environment.NewLine).Accepts(AcceptedCharactersInternal.None)),
|
||||
Factory.Code(" }" + Environment.NewLine).AsStatement().Accepts(AcceptedCharactersInternal.None)),
|
||||
Factory.Markup(" "),
|
||||
new MarkupTagBlock(
|
||||
Factory.Markup("</ul>").Accepts(AcceptedCharactersInternal.None))));
|
||||
+ " </ul>");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
|
@ -251,33 +100,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
|||
+ " @foreach(var p in Products) {" + Environment.NewLine
|
||||
+ " <li>Product: @p.Name</li>" + Environment.NewLine
|
||||
+ " }" + Environment.NewLine
|
||||
+ " </ul>",
|
||||
new MarkupBlock(
|
||||
Factory.Markup(" "),
|
||||
new MarkupTagBlock(
|
||||
Factory.Markup("<ul>")),
|
||||
Factory.Markup(Environment.NewLine),
|
||||
new StatementBlock(
|
||||
Factory.Code(" ").AsStatement(),
|
||||
Factory.CodeTransition(),
|
||||
Factory.Code("foreach(var p in Products) {" + Environment.NewLine).AsStatement(),
|
||||
new MarkupBlock(
|
||||
Factory.Markup(" "),
|
||||
new MarkupTagBlock(
|
||||
Factory.Markup("<li>").Accepts(AcceptedCharactersInternal.None)),
|
||||
Factory.Markup("Product: "),
|
||||
new ExpressionBlock(
|
||||
Factory.CodeTransition(),
|
||||
Factory.Code("p.Name")
|
||||
.AsImplicitExpression(CSharpCodeParser.DefaultKeywords)
|
||||
.Accepts(AcceptedCharactersInternal.NonWhiteSpace)),
|
||||
new MarkupTagBlock(
|
||||
Factory.Markup("</li>").Accepts(AcceptedCharactersInternal.None)),
|
||||
Factory.Markup(Environment.NewLine).Accepts(AcceptedCharactersInternal.None)),
|
||||
Factory.Code(" }" + Environment.NewLine).AsStatement().Accepts(AcceptedCharactersInternal.None)),
|
||||
Factory.Markup(" "),
|
||||
new MarkupTagBlock(
|
||||
Factory.Markup("</ul>"))));
|
||||
+ " </ul>");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
|
@ -291,45 +114,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
|||
+ " }" + Environment.NewLine
|
||||
+ " </ul>" + Environment.NewLine
|
||||
+ "}",
|
||||
new[] { SectionDirective.Directive, },
|
||||
new MarkupBlock(
|
||||
Factory.EmptyHtml(),
|
||||
new DirectiveBlock(new DirectiveChunkGenerator(SectionDirective.Directive),
|
||||
Factory.CodeTransition(),
|
||||
Factory.MetaCode("section").Accepts(AcceptedCharactersInternal.None),
|
||||
Factory.Span(SpanKindInternal.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharactersInternal.WhiteSpace),
|
||||
Factory.Span(SpanKindInternal.Code, "foo", CSharpSymbolType.Identifier).AsDirectiveToken(SectionDirective.Directive.Tokens[0]),
|
||||
Factory.Span(SpanKindInternal.Markup, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharactersInternal.AllWhiteSpace),
|
||||
Factory.MetaCode("{").AutoCompleteWith(null, atEndOfSpan: true).Accepts(AcceptedCharactersInternal.None),
|
||||
new MarkupBlock(
|
||||
Factory.Markup(Environment.NewLine + " "),
|
||||
new MarkupTagBlock(
|
||||
Factory.Markup("<ul>")),
|
||||
Factory.Markup(Environment.NewLine),
|
||||
new StatementBlock(
|
||||
Factory.Code(" ").AsStatement(),
|
||||
Factory.CodeTransition(),
|
||||
Factory.Code("foreach(var p in Products) {" + Environment.NewLine).AsStatement(),
|
||||
new MarkupBlock(
|
||||
Factory.Markup(" "),
|
||||
new MarkupTagBlock(
|
||||
Factory.Markup("<li>").Accepts(AcceptedCharactersInternal.None)),
|
||||
Factory.Markup("Product: "),
|
||||
new ExpressionBlock(
|
||||
Factory.CodeTransition(),
|
||||
Factory.Code("p.Name")
|
||||
.AsImplicitExpression(CSharpCodeParser.DefaultKeywords)
|
||||
.Accepts(AcceptedCharactersInternal.NonWhiteSpace)),
|
||||
new MarkupTagBlock(
|
||||
Factory.Markup("</li>").Accepts(AcceptedCharactersInternal.None)),
|
||||
Factory.Markup(Environment.NewLine).Accepts(AcceptedCharactersInternal.None)),
|
||||
Factory.Code(" }" + Environment.NewLine).AsStatement().Accepts(AcceptedCharactersInternal.None)),
|
||||
Factory.Markup(" "),
|
||||
new MarkupTagBlock(
|
||||
Factory.Markup("</ul>")),
|
||||
Factory.Markup(Environment.NewLine)),
|
||||
Factory.MetaCode("}").Accepts(AcceptedCharactersInternal.None)),
|
||||
Factory.EmptyHtml()));
|
||||
new[] { SectionDirective.Directive, });
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
|
@ -340,27 +125,6 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
|||
+ " <li>Product: @p.Name</li>" + Environment.NewLine
|
||||
+ " }" + Environment.NewLine
|
||||
+ " </ul>",
|
||||
new MarkupBlock(
|
||||
Factory.Markup(" "),
|
||||
new MarkupTagBlock(
|
||||
Factory.Markup("<ul>").Accepts(AcceptedCharactersInternal.None)),
|
||||
Factory.Markup(Environment.NewLine + " "),
|
||||
new StatementBlock(
|
||||
Factory.CodeTransition(),
|
||||
Factory.Code($"foreach(var p in Products) {{{Environment.NewLine} ").AsStatement(),
|
||||
new MarkupBlock(
|
||||
new MarkupTagBlock(
|
||||
Factory.Markup("<li>").Accepts(AcceptedCharactersInternal.None)),
|
||||
Factory.Markup("Product: "),
|
||||
new ExpressionBlock(
|
||||
Factory.CodeTransition(),
|
||||
Factory.Code("p.Name").AsImplicitExpression(CSharpCodeParser.DefaultKeywords).Accepts(AcceptedCharactersInternal.NonWhiteSpace)),
|
||||
new MarkupTagBlock(
|
||||
Factory.Markup("</li>").Accepts(AcceptedCharactersInternal.None))),
|
||||
Factory.Code(Environment.NewLine + " }").AsStatement().Accepts(AcceptedCharactersInternal.None)),
|
||||
Factory.Markup(Environment.NewLine + " "),
|
||||
new MarkupTagBlock(
|
||||
Factory.Markup("</ul>").Accepts(AcceptedCharactersInternal.None))),
|
||||
designTime: true);
|
||||
}
|
||||
|
||||
|
|
@ -368,25 +132,26 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
|||
[Fact]
|
||||
public void ParseBlockTreatsTwoAtSignsAsEscapeSequence()
|
||||
{
|
||||
HtmlParserTestUtils.RunSingleAtEscapeTest(ParseBlockTest);
|
||||
ParseBlockTest("<foo>@@bar</foo>");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ParseBlockTreatsPairsOfAtSignsAsEscapeSequence()
|
||||
{
|
||||
HtmlParserTestUtils.RunMultiAtEscapeTest(ParseBlockTest);
|
||||
ParseBlockTest("<foo>@@@@@bar</foo>");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ParseDocumentTreatsTwoAtSignsAsEscapeSequence()
|
||||
{
|
||||
HtmlParserTestUtils.RunSingleAtEscapeTest(ParseDocumentTest, lastSpanAcceptedCharacters: AcceptedCharactersInternal.Any);
|
||||
ParseDocumentTest("<foo>@@bar</foo>");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ParseDocumentTreatsPairsOfAtSignsAsEscapeSequence()
|
||||
{
|
||||
HtmlParserTestUtils.RunMultiAtEscapeTest(ParseDocumentTest, lastSpanAcceptedCharacters: AcceptedCharactersInternal.Any);
|
||||
var factory = new SpanFactory();
|
||||
ParseDocumentTest("<foo>@@@@@bar</foo>");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
|
@ -394,27 +159,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
|||
{
|
||||
ParseDocumentTest(
|
||||
"@section Foo { <foo>@@bar</foo> }",
|
||||
new[] { SectionDirective.Directive, },
|
||||
new MarkupBlock(
|
||||
Factory.EmptyHtml(),
|
||||
new DirectiveBlock(new DirectiveChunkGenerator(SectionDirective.Directive),
|
||||
Factory.CodeTransition(),
|
||||
Factory.MetaCode("section").Accepts(AcceptedCharactersInternal.None),
|
||||
Factory.Span(SpanKindInternal.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharactersInternal.WhiteSpace),
|
||||
Factory.Span(SpanKindInternal.Code, "Foo", CSharpSymbolType.Identifier).AsDirectiveToken(SectionDirective.Directive.Tokens[0]),
|
||||
Factory.Span(SpanKindInternal.Markup, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharactersInternal.AllWhiteSpace),
|
||||
Factory.MetaCode("{").AutoCompleteWith(null, atEndOfSpan: true).Accepts(AcceptedCharactersInternal.None),
|
||||
new MarkupBlock(
|
||||
Factory.Markup(" "),
|
||||
new MarkupTagBlock(
|
||||
Factory.Markup("<foo>")),
|
||||
Factory.Markup("@").Hidden(),
|
||||
Factory.Markup("@bar"),
|
||||
new MarkupTagBlock(
|
||||
Factory.Markup("</foo>")),
|
||||
Factory.Markup(" ")),
|
||||
Factory.MetaCode("}").Accepts(AcceptedCharactersInternal.None)),
|
||||
Factory.EmptyHtml()));
|
||||
new[] { SectionDirective.Directive, });
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
|
@ -422,34 +167,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
|||
{
|
||||
ParseDocumentTest(
|
||||
"@section Foo { <foo>@@@@@bar</foo> }",
|
||||
new[] { SectionDirective.Directive, },
|
||||
new MarkupBlock(
|
||||
Factory.EmptyHtml(),
|
||||
new DirectiveBlock(new DirectiveChunkGenerator(SectionDirective.Directive),
|
||||
Factory.CodeTransition(),
|
||||
Factory.MetaCode("section").Accepts(AcceptedCharactersInternal.None),
|
||||
Factory.Span(SpanKindInternal.Code, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharactersInternal.WhiteSpace),
|
||||
Factory.Span(SpanKindInternal.Code, "Foo", CSharpSymbolType.Identifier).AsDirectiveToken(SectionDirective.Directive.Tokens[0]),
|
||||
Factory.Span(SpanKindInternal.Markup, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharactersInternal.AllWhiteSpace),
|
||||
Factory.MetaCode("{").AutoCompleteWith(null, atEndOfSpan: true).Accepts(AcceptedCharactersInternal.None),
|
||||
new MarkupBlock(
|
||||
Factory.Markup(" "),
|
||||
new MarkupTagBlock(
|
||||
Factory.Markup("<foo>")),
|
||||
Factory.Markup("@").Hidden(),
|
||||
Factory.Markup("@"),
|
||||
Factory.Markup("@").Hidden(),
|
||||
Factory.Markup("@"),
|
||||
new ExpressionBlock(
|
||||
Factory.CodeTransition(),
|
||||
Factory.Code("bar")
|
||||
.AsImplicitExpression(CSharpCodeParser.DefaultKeywords)
|
||||
.Accepts(AcceptedCharactersInternal.NonWhiteSpace)),
|
||||
new MarkupTagBlock(
|
||||
Factory.Markup("</foo>")),
|
||||
Factory.Markup(" ")),
|
||||
Factory.MetaCode("}").Accepts(AcceptedCharactersInternal.None)),
|
||||
Factory.EmptyHtml()));
|
||||
new[] { SectionDirective.Directive, });
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,64 @@
|
|||
Markup block - Gen<None> - 95 - (0:0,0)
|
||||
Markup span - Gen<Markup> - [ ] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
Tag block - Gen<None> - 4 - (3:0,3)
|
||||
Markup span - Gen<Markup> - [<ul>] - SpanEditHandler;Accepts:None - (3:0,3) - Symbols:3
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.Text;[ul];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
Markup span - Gen<Markup> - [LF ] - SpanEditHandler;Accepts:Any - (7:0,7) - Symbols:2
|
||||
HtmlSymbolType.NewLine;[LF];
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
Statement block - Gen<None> - 71 - (13:1,4)
|
||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (13:1,4) - Symbols:1
|
||||
CSharpSymbolType.Transition;[@];
|
||||
Code span - Gen<Stmt> - [foreach(var p in Products) {LF ] - SpanEditHandler;Accepts:Any - (14:1,5) - Symbols:14
|
||||
CSharpSymbolType.Keyword;[foreach];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
CSharpSymbolType.Identifier;[var];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[p];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Keyword;[in];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[Products];
|
||||
CSharpSymbolType.RightParenthesis;[)];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
CSharpSymbolType.NewLine;[LF];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
Markup block - Gen<None> - 25 - (52:2,8)
|
||||
Tag block - Gen<None> - 4 - (52:2,8)
|
||||
Markup span - Gen<Markup> - [<li>] - SpanEditHandler;Accepts:None - (52:2,8) - Symbols:3
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.Text;[li];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
Markup span - Gen<Markup> - [Product: ] - SpanEditHandler;Accepts:Any - (56:2,12) - Symbols:2
|
||||
HtmlSymbolType.Text;[Product:];
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
Expression block - Gen<Expr> - 7 - (65:2,21)
|
||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (65:2,21) - Symbols:1
|
||||
CSharpSymbolType.Transition;[@];
|
||||
Code span - Gen<Expr> - [p.Name] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (66:2,22) - Symbols:3
|
||||
CSharpSymbolType.Identifier;[p];
|
||||
CSharpSymbolType.Dot;[.];
|
||||
CSharpSymbolType.Identifier;[Name];
|
||||
Tag block - Gen<None> - 5 - (72:2,28)
|
||||
Markup span - Gen<Markup> - [</li>] - SpanEditHandler;Accepts:None - (72:2,28) - Symbols:4
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.ForwardSlash;[/];
|
||||
HtmlSymbolType.Text;[li];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
Code span - Gen<Stmt> - [LF }] - SpanEditHandler;Accepts:None - (77:2,33) - Symbols:3
|
||||
CSharpSymbolType.NewLine;[LF];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.RightBrace;[}];
|
||||
Markup span - Gen<Markup> - [LF ] - SpanEditHandler;Accepts:Any - (84:3,5) - Symbols:2
|
||||
HtmlSymbolType.NewLine;[LF];
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
Tag block - Gen<None> - 5 - (90:4,4)
|
||||
Markup span - Gen<Markup> - [</ul>] - SpanEditHandler;Accepts:None - (90:4,4) - Symbols:4
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.ForwardSlash;[/];
|
||||
HtmlSymbolType.Text;[ul];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
Markup block - Gen<None> - 50 - (0:0,0)
|
||||
Tag block - Gen<None> - 38 - (0:0,0)
|
||||
Markup span - Gen<Markup> - [<a] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:2
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.Text;[a];
|
||||
Markup block - Gen<Attr:href, href="@(2:0,2),"@(36:0,36)> - 35 - (2:0,2)
|
||||
Markup span - Gen<None> - [ href="] - SpanEditHandler;Accepts:Any - (2:0,2) - Symbols:4
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
HtmlSymbolType.Text;[href];
|
||||
HtmlSymbolType.Equals;[=];
|
||||
HtmlSymbolType.DoubleQuote;["];
|
||||
Markup span - Gen<LitAttr:@(9:0,9)> - [mailto:anurse@microsoft.com] - SpanEditHandler;Accepts:Any - (9:0,9) - Symbols:1
|
||||
HtmlSymbolType.Text;[mailto:anurse@microsoft.com];
|
||||
Markup span - Gen<None> - ["] - SpanEditHandler;Accepts:Any - (36:0,36) - Symbols:1
|
||||
HtmlSymbolType.DoubleQuote;["];
|
||||
Markup span - Gen<Markup> - [>] - SpanEditHandler;Accepts:None - (37:0,37) - Symbols:1
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
Markup span - Gen<Markup> - [Email me] - SpanEditHandler;Accepts:Any - (38:0,38) - Symbols:3
|
||||
HtmlSymbolType.Text;[Email];
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
HtmlSymbolType.Text;[me];
|
||||
Tag block - Gen<None> - 4 - (46:0,46)
|
||||
Markup span - Gen<Markup> - [</a>] - SpanEditHandler;Accepts:None - (46:0,46) - Symbols:4
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.ForwardSlash;[/];
|
||||
HtmlSymbolType.Text;[a];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
Markup block - Gen<None> - 31 - (0:0,0)
|
||||
Tag block - Gen<None> - 5 - (0:0,0)
|
||||
Markup span - Gen<Markup> - [<foo>] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:3
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.Text;[foo];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
Markup span - Gen<Markup> - [anurse@microsoft.com] - SpanEditHandler;Accepts:Any - (5:0,5) - Symbols:1
|
||||
HtmlSymbolType.Text;[anurse@microsoft.com];
|
||||
Tag block - Gen<None> - 6 - (25:0,25)
|
||||
Markup span - Gen<Markup> - [</foo>] - SpanEditHandler;Accepts:None - (25:0,25) - Symbols:4
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.ForwardSlash;[/];
|
||||
HtmlSymbolType.Text;[foo];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
|
|
@ -0,0 +1,67 @@
|
|||
Markup block - Gen<None> - 95 - (0:0,0)
|
||||
Markup span - Gen<Markup> - [ ] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
Tag block - Gen<None> - 4 - (3:0,3)
|
||||
Markup span - Gen<Markup> - [<ul>] - SpanEditHandler;Accepts:None - (3:0,3) - Symbols:3
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.Text;[ul];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
Markup span - Gen<Markup> - [LF] - SpanEditHandler;Accepts:Any - (7:0,7) - Symbols:1
|
||||
HtmlSymbolType.NewLine;[LF];
|
||||
Statement block - Gen<None> - 77 - (9:1,0)
|
||||
Code span - Gen<Stmt> - [ ] - SpanEditHandler;Accepts:Any - (9:1,0) - Symbols:1
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (13:1,4) - Symbols:1
|
||||
CSharpSymbolType.Transition;[@];
|
||||
Code span - Gen<Stmt> - [foreach(var p in Products) {LF] - SpanEditHandler;Accepts:Any - (14:1,5) - Symbols:13
|
||||
CSharpSymbolType.Keyword;[foreach];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
CSharpSymbolType.Identifier;[var];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[p];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Keyword;[in];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[Products];
|
||||
CSharpSymbolType.RightParenthesis;[)];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
CSharpSymbolType.NewLine;[LF];
|
||||
Markup block - Gen<None> - 35 - (44:2,0)
|
||||
Markup span - Gen<Markup> - [ ] - SpanEditHandler;Accepts:Any - (44:2,0) - Symbols:1
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
Tag block - Gen<None> - 4 - (52:2,8)
|
||||
Markup span - Gen<Markup> - [<li>] - SpanEditHandler;Accepts:None - (52:2,8) - Symbols:3
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.Text;[li];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
Markup span - Gen<Markup> - [Product: ] - SpanEditHandler;Accepts:Any - (56:2,12) - Symbols:2
|
||||
HtmlSymbolType.Text;[Product:];
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
Expression block - Gen<Expr> - 7 - (65:2,21)
|
||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (65:2,21) - Symbols:1
|
||||
CSharpSymbolType.Transition;[@];
|
||||
Code span - Gen<Expr> - [p.Name] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (66:2,22) - Symbols:3
|
||||
CSharpSymbolType.Identifier;[p];
|
||||
CSharpSymbolType.Dot;[.];
|
||||
CSharpSymbolType.Identifier;[Name];
|
||||
Tag block - Gen<None> - 5 - (72:2,28)
|
||||
Markup span - Gen<Markup> - [</li>] - SpanEditHandler;Accepts:None - (72:2,28) - Symbols:4
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.ForwardSlash;[/];
|
||||
HtmlSymbolType.Text;[li];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
Markup span - Gen<Markup> - [LF] - SpanEditHandler;Accepts:None - (77:2,33) - Symbols:1
|
||||
HtmlSymbolType.NewLine;[LF];
|
||||
Code span - Gen<Stmt> - [ }LF] - SpanEditHandler;Accepts:None - (79:3,0) - Symbols:3
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.RightBrace;[}];
|
||||
CSharpSymbolType.NewLine;[LF];
|
||||
Markup span - Gen<Markup> - [ ] - SpanEditHandler;Accepts:Any - (86:4,0) - Symbols:1
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
Tag block - Gen<None> - 5 - (90:4,4)
|
||||
Markup span - Gen<Markup> - [</ul>] - SpanEditHandler;Accepts:None - (90:4,4) - Symbols:4
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.ForwardSlash;[/];
|
||||
HtmlSymbolType.Text;[ul];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
Markup block - Gen<None> - 20 - (0:0,0)
|
||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
|
||||
HtmlSymbolType.Transition;[@];
|
||||
MetaCode span - Gen<None> - [:] - SpanEditHandler;Accepts:Any - (1:0,1) - Symbols:1
|
||||
HtmlSymbolType.Colon;[:];
|
||||
Markup span - Gen<Markup> - [<li>Foo ] - SpanEditHandler;Accepts:Any - (2:0,2) - Symbols:5
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.Text;[li];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
HtmlSymbolType.Text;[Foo];
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
Expression block - Gen<Expr> - 4 - (10:0,10)
|
||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (10:0,10) - Symbols:1
|
||||
CSharpSymbolType.Transition;[@];
|
||||
Code span - Gen<Expr> - [Bar] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (11:0,11) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[Bar];
|
||||
Markup span - Gen<Markup> - [ BazLF] - SpanEditHandler;Accepts:None - (14:0,14) - Symbols:3
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
HtmlSymbolType.Text;[Baz];
|
||||
HtmlSymbolType.NewLine;[LF];
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
Markup block - Gen<None> - 36 - (0:0,0)
|
||||
Tag block - Gen<None> - 5 - (0:0,0)
|
||||
Markup span - Gen<Markup> - [<foo>] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:3
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.Text;[foo];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
Markup span - Gen<Markup> - [<![CDATA[ foo ] - SpanEditHandler;Accepts:Any - (5:0,5) - Symbols:8
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.Bang;[!];
|
||||
HtmlSymbolType.LeftBracket;[[];
|
||||
HtmlSymbolType.Text;[CDATA];
|
||||
HtmlSymbolType.LeftBracket;[[];
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
HtmlSymbolType.Text;[foo];
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
Expression block - Gen<Expr> - 4 - (19:0,19)
|
||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (19:0,19) - Symbols:1
|
||||
CSharpSymbolType.Transition;[@];
|
||||
Code span - Gen<Expr> - [bar] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (20:0,20) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[bar];
|
||||
Markup span - Gen<Markup> - [ baz]]>] - SpanEditHandler;Accepts:None - (23:0,23) - Symbols:5
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
HtmlSymbolType.Text;[baz];
|
||||
HtmlSymbolType.RightBracket;[]];
|
||||
HtmlSymbolType.RightBracket;[]];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
Tag block - Gen<None> - 6 - (30:0,30)
|
||||
Markup span - Gen<Markup> - [</foo>] - SpanEditHandler;Accepts:None - (30:0,30) - Symbols:4
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.ForwardSlash;[/];
|
||||
HtmlSymbolType.Text;[foo];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
Markup block - Gen<None> - 24 - (0:0,0)
|
||||
Tag block - Gen<None> - 5 - (0:0,0)
|
||||
Markup span - Gen<Markup> - [<foo>] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:3
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.Text;[foo];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
HtmlComment block - Gen<None> - 13 - (5:0,5)
|
||||
Markup span - Gen<Markup> - [<!--] - SpanEditHandler;Accepts:None - (5:0,5) - Symbols:3
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.Bang;[!];
|
||||
HtmlSymbolType.DoubleHyphen;[--];
|
||||
Markup span - Gen<Markup> - [ ] - SpanEditHandler;Accepts:WhiteSpace - (9:0,9) - Symbols:1
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
Expression block - Gen<Expr> - 4 - (10:0,10)
|
||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (10:0,10) - Symbols:1
|
||||
CSharpSymbolType.Transition;[@];
|
||||
Code span - Gen<Expr> - [foo] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (11:0,11) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[foo];
|
||||
Markup span - Gen<Markup> - [ ] - SpanEditHandler;Accepts:WhiteSpace - (14:0,14) - Symbols:1
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
Markup span - Gen<Markup> - [-->] - SpanEditHandler;Accepts:None - (15:0,15) - Symbols:2
|
||||
HtmlSymbolType.DoubleHyphen;[--];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
Tag block - Gen<None> - 6 - (18:0,18)
|
||||
Markup span - Gen<Markup> - [</foo>] - SpanEditHandler;Accepts:None - (18:0,18) - Symbols:4
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.ForwardSlash;[/];
|
||||
HtmlSymbolType.Text;[foo];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
Markup block - Gen<None> - 34 - (0:0,0)
|
||||
Tag block - Gen<None> - 5 - (0:0,0)
|
||||
Markup span - Gen<Markup> - [<foo>] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:3
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.Text;[foo];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
Markup span - Gen<Markup> - [<!DOCTYPE foo ] - SpanEditHandler;Accepts:Any - (5:0,5) - Symbols:6
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.Bang;[!];
|
||||
HtmlSymbolType.Text;[DOCTYPE];
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
HtmlSymbolType.Text;[foo];
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
Expression block - Gen<Expr> - 4 - (19:0,19)
|
||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (19:0,19) - Symbols:1
|
||||
CSharpSymbolType.Transition;[@];
|
||||
Code span - Gen<Expr> - [bar] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (20:0,20) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[bar];
|
||||
Markup span - Gen<Markup> - [ baz>] - SpanEditHandler;Accepts:None - (23:0,23) - Symbols:3
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
HtmlSymbolType.Text;[baz];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
Tag block - Gen<None> - 6 - (28:0,28)
|
||||
Markup span - Gen<Markup> - [</foo>] - SpanEditHandler;Accepts:None - (28:0,28) - Symbols:4
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.ForwardSlash;[/];
|
||||
HtmlSymbolType.Text;[foo];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
Markup block - Gen<None> - 31 - (0:0,0)
|
||||
Tag block - Gen<None> - 5 - (0:0,0)
|
||||
Markup span - Gen<Markup> - [<foo>] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:3
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.Text;[foo];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
Markup span - Gen<Markup> - [<?xml foo ] - SpanEditHandler;Accepts:Any - (5:0,5) - Symbols:6
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.QuestionMark;[?];
|
||||
HtmlSymbolType.Text;[xml];
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
HtmlSymbolType.Text;[foo];
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
Expression block - Gen<Expr> - 4 - (15:0,15)
|
||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (15:0,15) - Symbols:1
|
||||
CSharpSymbolType.Transition;[@];
|
||||
Code span - Gen<Expr> - [bar] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (16:0,16) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[bar];
|
||||
Markup span - Gen<Markup> - [ baz?>] - SpanEditHandler;Accepts:None - (19:0,19) - Symbols:4
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
HtmlSymbolType.Text;[baz];
|
||||
HtmlSymbolType.QuestionMark;[?];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
Tag block - Gen<None> - 6 - (25:0,25)
|
||||
Markup span - Gen<Markup> - [</foo>] - SpanEditHandler;Accepts:None - (25:0,25) - Symbols:4
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.ForwardSlash;[/];
|
||||
HtmlSymbolType.Text;[foo];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
Markup block - Gen<None> - 18 - (0:0,0)
|
||||
Tag block - Gen<None> - 18 - (0:0,0)
|
||||
Markup span - Gen<Markup> - [<foo] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:2
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.Text;[foo];
|
||||
Markup block - Gen<Attr:bar, bar="@(4:0,4),"@(14:0,14)> - 11 - (4:0,4)
|
||||
Markup span - Gen<None> - [ bar="] - SpanEditHandler;Accepts:Any - (4:0,4) - Symbols:4
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
HtmlSymbolType.Text;[bar];
|
||||
HtmlSymbolType.Equals;[=];
|
||||
HtmlSymbolType.DoubleQuote;["];
|
||||
Markup block - Gen<DynAttr:@(10:0,10)> - 4 - (10:0,10)
|
||||
Expression block - Gen<Expr> - 4 - (10:0,10)
|
||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (10:0,10) - Symbols:1
|
||||
CSharpSymbolType.Transition;[@];
|
||||
Code span - Gen<Expr> - [baz] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (11:0,11) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[baz];
|
||||
Markup span - Gen<None> - ["] - SpanEditHandler;Accepts:Any - (14:0,14) - Symbols:1
|
||||
HtmlSymbolType.DoubleQuote;["];
|
||||
Markup span - Gen<Markup> - [ />] - SpanEditHandler;Accepts:None - (15:0,15) - Symbols:3
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
HtmlSymbolType.ForwardSlash;[/];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
|
|
@ -0,0 +1,37 @@
|
|||
Markup block - Gen<None> - 30 - (0:0,0)
|
||||
Tag block - Gen<None> - 5 - (0:0,0)
|
||||
Markup span - Gen<Markup> - [<foo>] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:3
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.Text;[foo];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
Markup span - Gen<Markup> - [] - SpanEditHandler;Accepts:Any - (5:0,5) - Symbols:1
|
||||
HtmlSymbolType.Unknown;[];
|
||||
Expression block - Gen<Expr> - 4 - (5:0,5)
|
||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (5:0,5) - Symbols:1
|
||||
CSharpSymbolType.Transition;[@];
|
||||
Code span - Gen<Expr> - [bar] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (6:0,6) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[bar];
|
||||
Tag block - Gen<None> - 5 - (9:0,9)
|
||||
Markup span - Gen<Markup> - [<baz>] - SpanEditHandler;Accepts:None - (9:0,9) - Symbols:3
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.Text;[baz];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
Markup span - Gen<Markup> - [] - SpanEditHandler;Accepts:Any - (14:0,14) - Symbols:1
|
||||
HtmlSymbolType.Unknown;[];
|
||||
Expression block - Gen<Expr> - 4 - (14:0,14)
|
||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (14:0,14) - Symbols:1
|
||||
CSharpSymbolType.Transition;[@];
|
||||
Code span - Gen<Expr> - [boz] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (15:0,15) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[boz];
|
||||
Tag block - Gen<None> - 6 - (18:0,18)
|
||||
Markup span - Gen<Markup> - [</baz>] - SpanEditHandler;Accepts:None - (18:0,18) - Symbols:4
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.ForwardSlash;[/];
|
||||
HtmlSymbolType.Text;[baz];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
Tag block - Gen<None> - 6 - (24:0,24)
|
||||
Markup span - Gen<Markup> - [</foo>] - SpanEditHandler;Accepts:None - (24:0,24) - Symbols:4
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.ForwardSlash;[/];
|
||||
HtmlSymbolType.Text;[foo];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
Markup block - Gen<None> - 12 - (0:0,0)
|
||||
Tag block - Gen<None> - 12 - (0:0,0)
|
||||
Markup span - Gen<Markup> - [<foo ] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:3
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.Text;[foo];
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
Expression block - Gen<Expr> - 4 - (5:0,5)
|
||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (5:0,5) - Symbols:1
|
||||
CSharpSymbolType.Transition;[@];
|
||||
Code span - Gen<Expr> - [bar] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (6:0,6) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[bar];
|
||||
Markup span - Gen<Markup> - [ />] - SpanEditHandler;Accepts:None - (9:0,9) - Symbols:3
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
HtmlSymbolType.ForwardSlash;[/];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
Markup block - Gen<None> - 13 - (0:0,0)
|
||||
Tag block - Gen<None> - 3 - (0:0,0)
|
||||
Markup span - Gen<Markup> - [<p>] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:3
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.Text;[p];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
Markup span - Gen<Markup> - [foo#] - SpanEditHandler;Accepts:Any - (3:0,3) - Symbols:1
|
||||
HtmlSymbolType.Text;[foo#];
|
||||
Expression block - Gen<Expr> - 2 - (7:0,7)
|
||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (7:0,7) - Symbols:1
|
||||
CSharpSymbolType.Transition;[@];
|
||||
Code span - Gen<Expr> - [i] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (8:0,8) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[i];
|
||||
Tag block - Gen<None> - 4 - (9:0,9)
|
||||
Markup span - Gen<Markup> - [</p>] - SpanEditHandler;Accepts:None - (9:0,9) - Symbols:4
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.ForwardSlash;[/];
|
||||
HtmlSymbolType.Text;[p];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
Markup block - Gen<None> - 19 - (0:0,0)
|
||||
Tag block - Gen<None> - 5 - (0:0,0)
|
||||
Markup span - Gen<Markup> - [<foo>] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:3
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.Text;[foo];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
Markup span - Gen<None> - [@] - SpanEditHandler;Accepts:Any - (5:0,5) - Symbols:1
|
||||
HtmlSymbolType.Transition;[@];
|
||||
Markup span - Gen<Markup> - [@] - SpanEditHandler;Accepts:Any - (6:0,6) - Symbols:1
|
||||
HtmlSymbolType.Transition;[@];
|
||||
Markup span - Gen<None> - [@] - SpanEditHandler;Accepts:Any - (7:0,7) - Symbols:1
|
||||
HtmlSymbolType.Transition;[@];
|
||||
Markup span - Gen<Markup> - [@] - SpanEditHandler;Accepts:Any - (8:0,8) - Symbols:1
|
||||
HtmlSymbolType.Transition;[@];
|
||||
Expression block - Gen<Expr> - 4 - (9:0,9)
|
||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (9:0,9) - Symbols:1
|
||||
CSharpSymbolType.Transition;[@];
|
||||
Code span - Gen<Expr> - [bar] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (10:0,10) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[bar];
|
||||
Tag block - Gen<None> - 6 - (13:0,13)
|
||||
Markup span - Gen<Markup> - [</foo>] - SpanEditHandler;Accepts:None - (13:0,13) - Symbols:4
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.ForwardSlash;[/];
|
||||
HtmlSymbolType.Text;[foo];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
Markup block - Gen<None> - 16 - (0:0,0)
|
||||
Tag block - Gen<None> - 5 - (0:0,0)
|
||||
Markup span - Gen<Markup> - [<foo>] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:3
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.Text;[foo];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
Markup span - Gen<None> - [@] - SpanEditHandler;Accepts:Any - (5:0,5) - Symbols:1
|
||||
HtmlSymbolType.Transition;[@];
|
||||
Markup span - Gen<Markup> - [@bar] - SpanEditHandler;Accepts:Any - (6:0,6) - Symbols:2
|
||||
HtmlSymbolType.Transition;[@];
|
||||
HtmlSymbolType.Text;[bar];
|
||||
Tag block - Gen<None> - 6 - (10:0,10)
|
||||
Markup span - Gen<Markup> - [</foo>] - SpanEditHandler;Accepts:None - (10:0,10) - Symbols:4
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.ForwardSlash;[/];
|
||||
HtmlSymbolType.Text;[foo];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
|
|
@ -0,0 +1,67 @@
|
|||
Markup block - Gen<None> - 95 - (0:0,0)
|
||||
Markup span - Gen<Markup> - [ ] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
Tag block - Gen<None> - 4 - (3:0,3)
|
||||
Markup span - Gen<Markup> - [<ul>] - SpanEditHandler;Accepts:Any - (3:0,3) - Symbols:3
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.Text;[ul];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
Markup span - Gen<Markup> - [LF] - SpanEditHandler;Accepts:Any - (7:0,7) - Symbols:1
|
||||
HtmlSymbolType.NewLine;[LF];
|
||||
Statement block - Gen<None> - 77 - (9:1,0)
|
||||
Code span - Gen<Stmt> - [ ] - SpanEditHandler;Accepts:Any - (9:1,0) - Symbols:1
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (13:1,4) - Symbols:1
|
||||
CSharpSymbolType.Transition;[@];
|
||||
Code span - Gen<Stmt> - [foreach(var p in Products) {LF] - SpanEditHandler;Accepts:Any - (14:1,5) - Symbols:13
|
||||
CSharpSymbolType.Keyword;[foreach];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
CSharpSymbolType.Identifier;[var];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[p];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Keyword;[in];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[Products];
|
||||
CSharpSymbolType.RightParenthesis;[)];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
CSharpSymbolType.NewLine;[LF];
|
||||
Markup block - Gen<None> - 35 - (44:2,0)
|
||||
Markup span - Gen<Markup> - [ ] - SpanEditHandler;Accepts:Any - (44:2,0) - Symbols:1
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
Tag block - Gen<None> - 4 - (52:2,8)
|
||||
Markup span - Gen<Markup> - [<li>] - SpanEditHandler;Accepts:None - (52:2,8) - Symbols:3
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.Text;[li];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
Markup span - Gen<Markup> - [Product: ] - SpanEditHandler;Accepts:Any - (56:2,12) - Symbols:2
|
||||
HtmlSymbolType.Text;[Product:];
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
Expression block - Gen<Expr> - 7 - (65:2,21)
|
||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (65:2,21) - Symbols:1
|
||||
CSharpSymbolType.Transition;[@];
|
||||
Code span - Gen<Expr> - [p.Name] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (66:2,22) - Symbols:3
|
||||
CSharpSymbolType.Identifier;[p];
|
||||
CSharpSymbolType.Dot;[.];
|
||||
CSharpSymbolType.Identifier;[Name];
|
||||
Tag block - Gen<None> - 5 - (72:2,28)
|
||||
Markup span - Gen<Markup> - [</li>] - SpanEditHandler;Accepts:None - (72:2,28) - Symbols:4
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.ForwardSlash;[/];
|
||||
HtmlSymbolType.Text;[li];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
Markup span - Gen<Markup> - [LF] - SpanEditHandler;Accepts:None - (77:2,33) - Symbols:1
|
||||
HtmlSymbolType.NewLine;[LF];
|
||||
Code span - Gen<Stmt> - [ }LF] - SpanEditHandler;Accepts:None - (79:3,0) - Symbols:3
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.RightBrace;[}];
|
||||
CSharpSymbolType.NewLine;[LF];
|
||||
Markup span - Gen<Markup> - [ ] - SpanEditHandler;Accepts:Any - (86:4,0) - Symbols:1
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
Tag block - Gen<None> - 5 - (90:4,4)
|
||||
Markup span - Gen<Markup> - [</ul>] - SpanEditHandler;Accepts:Any - (90:4,4) - Symbols:4
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.ForwardSlash;[/];
|
||||
HtmlSymbolType.Text;[ul];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
Markup block - Gen<None> - 19 - (0:0,0)
|
||||
Tag block - Gen<None> - 5 - (0:0,0)
|
||||
Markup span - Gen<Markup> - [<foo>] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:3
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.Text;[foo];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
Markup span - Gen<None> - [@] - SpanEditHandler;Accepts:Any - (5:0,5) - Symbols:1
|
||||
HtmlSymbolType.Transition;[@];
|
||||
Markup span - Gen<Markup> - [@] - SpanEditHandler;Accepts:Any - (6:0,6) - Symbols:1
|
||||
HtmlSymbolType.Transition;[@];
|
||||
Markup span - Gen<None> - [@] - SpanEditHandler;Accepts:Any - (7:0,7) - Symbols:1
|
||||
HtmlSymbolType.Transition;[@];
|
||||
Markup span - Gen<Markup> - [@] - SpanEditHandler;Accepts:Any - (8:0,8) - Symbols:1
|
||||
HtmlSymbolType.Transition;[@];
|
||||
Expression block - Gen<Expr> - 4 - (9:0,9)
|
||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (9:0,9) - Symbols:1
|
||||
CSharpSymbolType.Transition;[@];
|
||||
Code span - Gen<Expr> - [bar] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (10:0,10) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[bar];
|
||||
Tag block - Gen<None> - 6 - (13:0,13)
|
||||
Markup span - Gen<Markup> - [</foo>] - SpanEditHandler;Accepts:Any - (13:0,13) - Symbols:4
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.ForwardSlash;[/];
|
||||
HtmlSymbolType.Text;[foo];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
Markup block - Gen<None> - 16 - (0:0,0)
|
||||
Tag block - Gen<None> - 5 - (0:0,0)
|
||||
Markup span - Gen<Markup> - [<foo>] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:3
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.Text;[foo];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
Markup span - Gen<None> - [@] - SpanEditHandler;Accepts:Any - (5:0,5) - Symbols:1
|
||||
HtmlSymbolType.Transition;[@];
|
||||
Markup span - Gen<Markup> - [@bar] - SpanEditHandler;Accepts:Any - (6:0,6) - Symbols:2
|
||||
HtmlSymbolType.Transition;[@];
|
||||
HtmlSymbolType.Text;[bar];
|
||||
Tag block - Gen<None> - 6 - (10:0,10)
|
||||
Markup span - Gen<Markup> - [</foo>] - SpanEditHandler;Accepts:Any - (10:0,10) - Symbols:4
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.ForwardSlash;[/];
|
||||
HtmlSymbolType.Text;[foo];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
|
|
@ -0,0 +1,49 @@
|
|||
Markup block - Gen<None> - 36 - (0:0,0)
|
||||
Markup span - Gen<Markup> - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1
|
||||
HtmlSymbolType.Unknown;[];
|
||||
Directive block - Gen<Directive:{section;RazorBlock;Unrestricted}> - 36 - (0:0,0)
|
||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
|
||||
CSharpSymbolType.Transition;[@];
|
||||
MetaCode span - Gen<None> - [section] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[section];
|
||||
Code span - Gen<None> - [ ] - SpanEditHandler;Accepts:WhiteSpace - (8:0,8) - Symbols:1
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
Code span - Gen<DirectiveToken {SectionName;Member;Opt:False}> - [Foo] - DirectiveTokenEditHandler;Accepts:NonWhiteSpace - (9:0,9) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[Foo];
|
||||
Markup span - Gen<None> - [ ] - SpanEditHandler;Accepts:AllWhiteSpace - (12:0,12) - Symbols:1
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
MetaCode span - Gen<None> - [{] - AutoCompleteEditHandler;Accepts:None,AutoComplete:[<null>];AtEnd - (13:0,13) - Symbols:1
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
Markup block - Gen<None> - 21 - (14:0,14)
|
||||
Markup span - Gen<Markup> - [ ] - SpanEditHandler;Accepts:Any - (14:0,14) - Symbols:1
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
Tag block - Gen<None> - 5 - (15:0,15)
|
||||
Markup span - Gen<Markup> - [<foo>] - SpanEditHandler;Accepts:Any - (15:0,15) - Symbols:3
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.Text;[foo];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
Markup span - Gen<None> - [@] - SpanEditHandler;Accepts:Any - (20:0,20) - Symbols:1
|
||||
HtmlSymbolType.Transition;[@];
|
||||
Markup span - Gen<Markup> - [@] - SpanEditHandler;Accepts:Any - (21:0,21) - Symbols:1
|
||||
HtmlSymbolType.Transition;[@];
|
||||
Markup span - Gen<None> - [@] - SpanEditHandler;Accepts:Any - (22:0,22) - Symbols:1
|
||||
HtmlSymbolType.Transition;[@];
|
||||
Markup span - Gen<Markup> - [@] - SpanEditHandler;Accepts:Any - (23:0,23) - Symbols:1
|
||||
HtmlSymbolType.Transition;[@];
|
||||
Expression block - Gen<Expr> - 4 - (24:0,24)
|
||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (24:0,24) - Symbols:1
|
||||
CSharpSymbolType.Transition;[@];
|
||||
Code span - Gen<Expr> - [bar] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K15 - (25:0,25) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[bar];
|
||||
Tag block - Gen<None> - 6 - (28:0,28)
|
||||
Markup span - Gen<Markup> - [</foo>] - SpanEditHandler;Accepts:Any - (28:0,28) - Symbols:4
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.ForwardSlash;[/];
|
||||
HtmlSymbolType.Text;[foo];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
Markup span - Gen<Markup> - [ ] - SpanEditHandler;Accepts:Any - (34:0,34) - Symbols:1
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
MetaCode span - Gen<None> - [}] - SpanEditHandler;Accepts:None - (35:0,35) - Symbols:1
|
||||
CSharpSymbolType.RightBrace;[}];
|
||||
Markup span - Gen<Markup> - [] - SpanEditHandler;Accepts:Any - (36:0,36) - Symbols:1
|
||||
HtmlSymbolType.Unknown;[];
|
||||
|
|
@ -0,0 +1,41 @@
|
|||
Markup block - Gen<None> - 33 - (0:0,0)
|
||||
Markup span - Gen<Markup> - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1
|
||||
HtmlSymbolType.Unknown;[];
|
||||
Directive block - Gen<Directive:{section;RazorBlock;Unrestricted}> - 33 - (0:0,0)
|
||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
|
||||
CSharpSymbolType.Transition;[@];
|
||||
MetaCode span - Gen<None> - [section] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[section];
|
||||
Code span - Gen<None> - [ ] - SpanEditHandler;Accepts:WhiteSpace - (8:0,8) - Symbols:1
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
Code span - Gen<DirectiveToken {SectionName;Member;Opt:False}> - [Foo] - DirectiveTokenEditHandler;Accepts:NonWhiteSpace - (9:0,9) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[Foo];
|
||||
Markup span - Gen<None> - [ ] - SpanEditHandler;Accepts:AllWhiteSpace - (12:0,12) - Symbols:1
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
MetaCode span - Gen<None> - [{] - AutoCompleteEditHandler;Accepts:None,AutoComplete:[<null>];AtEnd - (13:0,13) - Symbols:1
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
Markup block - Gen<None> - 18 - (14:0,14)
|
||||
Markup span - Gen<Markup> - [ ] - SpanEditHandler;Accepts:Any - (14:0,14) - Symbols:1
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
Tag block - Gen<None> - 5 - (15:0,15)
|
||||
Markup span - Gen<Markup> - [<foo>] - SpanEditHandler;Accepts:Any - (15:0,15) - Symbols:3
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.Text;[foo];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
Markup span - Gen<None> - [@] - SpanEditHandler;Accepts:Any - (20:0,20) - Symbols:1
|
||||
HtmlSymbolType.Transition;[@];
|
||||
Markup span - Gen<Markup> - [@bar] - SpanEditHandler;Accepts:Any - (21:0,21) - Symbols:2
|
||||
HtmlSymbolType.Transition;[@];
|
||||
HtmlSymbolType.Text;[bar];
|
||||
Tag block - Gen<None> - 6 - (25:0,25)
|
||||
Markup span - Gen<Markup> - [</foo>] - SpanEditHandler;Accepts:Any - (25:0,25) - Symbols:4
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.ForwardSlash;[/];
|
||||
HtmlSymbolType.Text;[foo];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
Markup span - Gen<Markup> - [ ] - SpanEditHandler;Accepts:Any - (31:0,31) - Symbols:1
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
MetaCode span - Gen<None> - [}] - SpanEditHandler;Accepts:None - (32:0,32) - Symbols:1
|
||||
CSharpSymbolType.RightBrace;[}];
|
||||
Markup span - Gen<Markup> - [] - SpanEditHandler;Accepts:Any - (33:0,33) - Symbols:1
|
||||
HtmlSymbolType.Unknown;[];
|
||||
|
|
@ -0,0 +1,90 @@
|
|||
Markup block - Gen<None> - 127 - (0:0,0)
|
||||
Markup span - Gen<Markup> - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:1
|
||||
HtmlSymbolType.Unknown;[];
|
||||
Directive block - Gen<Directive:{section;RazorBlock;Unrestricted}> - 127 - (0:0,0)
|
||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
|
||||
CSharpSymbolType.Transition;[@];
|
||||
MetaCode span - Gen<None> - [section] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[section];
|
||||
Code span - Gen<None> - [ ] - SpanEditHandler;Accepts:WhiteSpace - (8:0,8) - Symbols:1
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
Code span - Gen<DirectiveToken {SectionName;Member;Opt:False}> - [foo] - DirectiveTokenEditHandler;Accepts:NonWhiteSpace - (9:0,9) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[foo];
|
||||
Markup span - Gen<None> - [ ] - SpanEditHandler;Accepts:AllWhiteSpace - (12:0,12) - Symbols:1
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
MetaCode span - Gen<None> - [{] - AutoCompleteEditHandler;Accepts:None,AutoComplete:[<null>];AtEnd - (13:0,13) - Symbols:1
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
Markup block - Gen<None> - 112 - (14:0,14)
|
||||
Markup span - Gen<Markup> - [LF ] - SpanEditHandler;Accepts:Any - (14:0,14) - Symbols:2
|
||||
HtmlSymbolType.NewLine;[LF];
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
Tag block - Gen<None> - 4 - (20:1,4)
|
||||
Markup span - Gen<Markup> - [<ul>] - SpanEditHandler;Accepts:Any - (20:1,4) - Symbols:3
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.Text;[ul];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
Markup span - Gen<Markup> - [LF] - SpanEditHandler;Accepts:Any - (24:1,8) - Symbols:1
|
||||
HtmlSymbolType.NewLine;[LF];
|
||||
Statement block - Gen<None> - 89 - (26:2,0)
|
||||
Code span - Gen<Stmt> - [ ] - SpanEditHandler;Accepts:Any - (26:2,0) - Symbols:1
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (34:2,8) - Symbols:1
|
||||
CSharpSymbolType.Transition;[@];
|
||||
Code span - Gen<Stmt> - [foreach(var p in Products) {LF] - SpanEditHandler;Accepts:Any - (35:2,9) - Symbols:13
|
||||
CSharpSymbolType.Keyword;[foreach];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
CSharpSymbolType.Identifier;[var];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[p];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Keyword;[in];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[Products];
|
||||
CSharpSymbolType.RightParenthesis;[)];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
CSharpSymbolType.NewLine;[LF];
|
||||
Markup block - Gen<None> - 39 - (65:3,0)
|
||||
Markup span - Gen<Markup> - [ ] - SpanEditHandler;Accepts:Any - (65:3,0) - Symbols:1
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
Tag block - Gen<None> - 4 - (77:3,12)
|
||||
Markup span - Gen<Markup> - [<li>] - SpanEditHandler;Accepts:None - (77:3,12) - Symbols:3
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.Text;[li];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
Markup span - Gen<Markup> - [Product: ] - SpanEditHandler;Accepts:Any - (81:3,16) - Symbols:2
|
||||
HtmlSymbolType.Text;[Product:];
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
Expression block - Gen<Expr> - 7 - (90:3,25)
|
||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (90:3,25) - Symbols:1
|
||||
CSharpSymbolType.Transition;[@];
|
||||
Code span - Gen<Expr> - [p.Name] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K15 - (91:3,26) - Symbols:3
|
||||
CSharpSymbolType.Identifier;[p];
|
||||
CSharpSymbolType.Dot;[.];
|
||||
CSharpSymbolType.Identifier;[Name];
|
||||
Tag block - Gen<None> - 5 - (97:3,32)
|
||||
Markup span - Gen<Markup> - [</li>] - SpanEditHandler;Accepts:None - (97:3,32) - Symbols:4
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.ForwardSlash;[/];
|
||||
HtmlSymbolType.Text;[li];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
Markup span - Gen<Markup> - [LF] - SpanEditHandler;Accepts:None - (102:3,37) - Symbols:1
|
||||
HtmlSymbolType.NewLine;[LF];
|
||||
Code span - Gen<Stmt> - [ }LF] - SpanEditHandler;Accepts:None - (104:4,0) - Symbols:3
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.RightBrace;[}];
|
||||
CSharpSymbolType.NewLine;[LF];
|
||||
Markup span - Gen<Markup> - [ ] - SpanEditHandler;Accepts:Any - (115:5,0) - Symbols:1
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
Tag block - Gen<None> - 5 - (119:5,4)
|
||||
Markup span - Gen<Markup> - [</ul>] - SpanEditHandler;Accepts:Any - (119:5,4) - Symbols:4
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.ForwardSlash;[/];
|
||||
HtmlSymbolType.Text;[ul];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
Markup span - Gen<Markup> - [LF] - SpanEditHandler;Accepts:Any - (124:5,9) - Symbols:1
|
||||
HtmlSymbolType.NewLine;[LF];
|
||||
MetaCode span - Gen<None> - [}] - SpanEditHandler;Accepts:None - (126:6,0) - Symbols:1
|
||||
CSharpSymbolType.RightBrace;[}];
|
||||
Markup span - Gen<Markup> - [] - SpanEditHandler;Accepts:Any - (127:6,1) - Symbols:1
|
||||
HtmlSymbolType.Unknown;[];
|
||||
Loading…
Reference in New Issue