Allow directive string tokens to be colorized.
- Without a directive string token having a `SpanKind.Code` it cannot have any sort of C# coloring associated with it. - Updated tests to reflect new `SpanKind` expectations. #1269
This commit is contained in:
parent
b8ea008151
commit
03f3975360
|
|
@ -1559,7 +1559,6 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var outputKind = SpanKind.Markup;
|
|
||||||
switch (tokenDescriptor.Kind)
|
switch (tokenDescriptor.Kind)
|
||||||
{
|
{
|
||||||
case DirectiveTokenKind.Type:
|
case DirectiveTokenKind.Type:
|
||||||
|
|
@ -1572,8 +1571,6 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
outputKind = SpanKind.Code;
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case DirectiveTokenKind.Namespace:
|
case DirectiveTokenKind.Namespace:
|
||||||
|
|
@ -1586,8 +1583,6 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
outputKind = SpanKind.Code;
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case DirectiveTokenKind.Member:
|
case DirectiveTokenKind.Member:
|
||||||
|
|
@ -1603,8 +1598,6 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
CurrentSymbol.Content.Length);
|
CurrentSymbol.Content.Length);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
outputKind = SpanKind.Code;
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case DirectiveTokenKind.String:
|
case DirectiveTokenKind.String:
|
||||||
|
|
@ -1624,7 +1617,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
}
|
}
|
||||||
|
|
||||||
Span.ChunkGenerator = new DirectiveTokenChunkGenerator(tokenDescriptor);
|
Span.ChunkGenerator = new DirectiveTokenChunkGenerator(tokenDescriptor);
|
||||||
Output(outputKind, AcceptedCharacters.NonWhiteSpace);
|
Output(SpanKind.Code, AcceptedCharacters.NonWhiteSpace);
|
||||||
}
|
}
|
||||||
|
|
||||||
AcceptWhile(IsSpacingToken(includeNewLines: false, includeComments: true));
|
AcceptWhile(IsSpacingToken(includeNewLines: false, includeComments: true));
|
||||||
|
|
|
||||||
|
|
@ -120,7 +120,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.Markup, "\"AString\"", markup: false)
|
Factory.Span(SpanKind.Code, "\"AString\"", markup: false)
|
||||||
.With(new DirectiveTokenChunkGenerator(descriptor.Tokens[0]))
|
.With(new DirectiveTokenChunkGenerator(descriptor.Tokens[0]))
|
||||||
.Accepts(AcceptedCharacters.NonWhiteSpace)));
|
.Accepts(AcceptedCharacters.NonWhiteSpace)));
|
||||||
}
|
}
|
||||||
|
|
@ -255,7 +255,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
.Accepts(AcceptedCharacters.NonWhiteSpace),
|
.Accepts(AcceptedCharacters.NonWhiteSpace),
|
||||||
|
|
||||||
Factory.Span(SpanKind.Markup, " ", markup: false).Accepts(AcceptedCharacters.WhiteSpace),
|
Factory.Span(SpanKind.Markup, " ", markup: false).Accepts(AcceptedCharacters.WhiteSpace),
|
||||||
Factory.Span(SpanKind.Markup, "\"AString\"", markup: false)
|
Factory.Span(SpanKind.Code, "\"AString\"", markup: false)
|
||||||
.With(new DirectiveTokenChunkGenerator(descriptor.Tokens[2]))
|
.With(new DirectiveTokenChunkGenerator(descriptor.Tokens[2]))
|
||||||
.Accepts(AcceptedCharacters.NonWhiteSpace)));
|
.Accepts(AcceptedCharacters.NonWhiteSpace)));
|
||||||
}
|
}
|
||||||
|
|
@ -278,7 +278,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.Markup, "\"Header\"", markup: false)
|
Factory.Span(SpanKind.Code, "\"Header\"", markup: false)
|
||||||
.With(new DirectiveTokenChunkGenerator(descriptor.Tokens[0]))
|
.With(new DirectiveTokenChunkGenerator(descriptor.Tokens[0]))
|
||||||
.Accepts(AcceptedCharacters.NonWhiteSpace),
|
.Accepts(AcceptedCharacters.NonWhiteSpace),
|
||||||
Factory.Span(SpanKind.Markup, " ", markup: false).Accepts(AcceptedCharacters.AllWhiteSpace),
|
Factory.Span(SpanKind.Markup, " ", markup: false).Accepts(AcceptedCharacters.AllWhiteSpace),
|
||||||
|
|
@ -314,7 +314,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.Markup, "\"Name\"", markup: false)
|
Factory.Span(SpanKind.Code, "\"Name\"", markup: false)
|
||||||
.With(new DirectiveTokenChunkGenerator(descriptor.Tokens[0]))
|
.With(new DirectiveTokenChunkGenerator(descriptor.Tokens[0]))
|
||||||
.Accepts(AcceptedCharacters.NonWhiteSpace),
|
.Accepts(AcceptedCharacters.NonWhiteSpace),
|
||||||
Factory.Span(SpanKind.Markup, " ", markup: false).Accepts(AcceptedCharacters.AllWhiteSpace),
|
Factory.Span(SpanKind.Markup, " ", markup: false).Accepts(AcceptedCharacters.AllWhiteSpace),
|
||||||
|
|
@ -401,7 +401,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.Markup, "\"hello\"", markup: false)
|
Factory.Span(SpanKind.Code, "\"hello\"", markup: false)
|
||||||
.With(new DirectiveTokenChunkGenerator(descriptor.Tokens[0]))
|
.With(new DirectiveTokenChunkGenerator(descriptor.Tokens[0]))
|
||||||
.Accepts(AcceptedCharacters.NonWhiteSpace),
|
.Accepts(AcceptedCharacters.NonWhiteSpace),
|
||||||
Factory.Span(SpanKind.Markup, " ; ", markup: false).Accepts(AcceptedCharacters.WhiteSpace)));
|
Factory.Span(SpanKind.Markup, " ; ", markup: false).Accepts(AcceptedCharacters.WhiteSpace)));
|
||||||
|
|
@ -430,7 +430,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.Markup, "\"hello\"", markup: false)
|
Factory.Span(SpanKind.Code, "\"hello\"", markup: false)
|
||||||
.With(new DirectiveTokenChunkGenerator(descriptor.Tokens[0]))
|
.With(new DirectiveTokenChunkGenerator(descriptor.Tokens[0]))
|
||||||
.Accepts(AcceptedCharacters.NonWhiteSpace),
|
.Accepts(AcceptedCharacters.NonWhiteSpace),
|
||||||
|
|
||||||
|
|
@ -461,7 +461,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.Markup, "\"Hello\"", markup: false)
|
Factory.Span(SpanKind.Code, "\"Hello\"", markup: false)
|
||||||
.With(new DirectiveTokenChunkGenerator(descriptor.Tokens[0]))
|
.With(new DirectiveTokenChunkGenerator(descriptor.Tokens[0]))
|
||||||
.Accepts(AcceptedCharacters.NonWhiteSpace),
|
.Accepts(AcceptedCharacters.NonWhiteSpace),
|
||||||
|
|
||||||
|
|
@ -492,7 +492,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.Markup, "\"Hello\"", markup: false)
|
Factory.Span(SpanKind.Code, "\"Hello\"", markup: false)
|
||||||
.With(new DirectiveTokenChunkGenerator(descriptor.Tokens[0]))
|
.With(new DirectiveTokenChunkGenerator(descriptor.Tokens[0]))
|
||||||
.Accepts(AcceptedCharacters.NonWhiteSpace)),
|
.Accepts(AcceptedCharacters.NonWhiteSpace)),
|
||||||
expectedErorr);
|
expectedErorr);
|
||||||
|
|
@ -521,7 +521,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.Markup, "\"Hello\"", markup: false)
|
Factory.Span(SpanKind.Code, "\"Hello\"", markup: false)
|
||||||
.With(new DirectiveTokenChunkGenerator(descriptor.Tokens[0]))
|
.With(new DirectiveTokenChunkGenerator(descriptor.Tokens[0]))
|
||||||
.Accepts(AcceptedCharacters.NonWhiteSpace),
|
.Accepts(AcceptedCharacters.NonWhiteSpace),
|
||||||
Factory.Span(SpanKind.Markup, " ", markup: false).Accepts(AcceptedCharacters.AllWhiteSpace),
|
Factory.Span(SpanKind.Markup, " ", markup: false).Accepts(AcceptedCharacters.AllWhiteSpace),
|
||||||
|
|
@ -979,7 +979,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.Markup, "\"simple-value\"", markup: false)
|
Factory.Span(SpanKind.Code, "\"simple-value\"", markup: false)
|
||||||
.Accepts(AcceptedCharacters.NonWhiteSpace)
|
.Accepts(AcceptedCharacters.NonWhiteSpace)
|
||||||
.With(chunkGenerator)));
|
.With(chunkGenerator)));
|
||||||
}
|
}
|
||||||
|
|
@ -1004,7 +1004,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.Markup, "\"{formaction}?/{id}?\"", markup: false)
|
Factory.Span(SpanKind.Code, "\"{formaction}?/{id}?\"", markup: false)
|
||||||
.Accepts(AcceptedCharacters.NonWhiteSpace)
|
.Accepts(AcceptedCharacters.NonWhiteSpace)
|
||||||
.With(chunkGenerator)));
|
.With(chunkGenerator)));
|
||||||
}
|
}
|
||||||
|
|
@ -1027,7 +1027,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.Markup, "\"{formaction}?/{id}?\"", markup: false)
|
Factory.Span(SpanKind.Code, "\"{formaction}?/{id}?\"", markup: false)
|
||||||
.Accepts(AcceptedCharacters.NonWhiteSpace)
|
.Accepts(AcceptedCharacters.NonWhiteSpace)
|
||||||
.With(new DirectiveTokenChunkGenerator(descriptor.Tokens.First())),
|
.With(new DirectiveTokenChunkGenerator(descriptor.Tokens.First())),
|
||||||
Factory.Span(SpanKind.Code, " ", markup: false).Accepts(AcceptedCharacters.WhiteSpace),
|
Factory.Span(SpanKind.Code, " ", markup: false).Accepts(AcceptedCharacters.WhiteSpace),
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue