Example #1
0
            public override SyntaxNode VisitMarkupLiteralAttributeValue(MarkupLiteralAttributeValueSyntax node)
            {
                var builder = SyntaxListBuilder <SyntaxToken> .Create();

                if (node.Prefix != null)
                {
                    builder.AddRange(node.Prefix.LiteralTokens);
                }
                if (node.Value != null)
                {
                    builder.AddRange(node.Value.LiteralTokens);
                }

                if (_tryParseResult.IsBoundNonStringAttribute)
                {
                    _rewriteAsMarkup = true;
                    // Since this is a bound non-string attribute, we want to convert LiteralAttributeValue to just be a CSharp Expression literal.
                    var expression = SyntaxFactory.CSharpExpressionLiteral(builder.ToList());
                    return(VisitCSharpExpressionLiteral(expression));
                }
                else
                {
                    var literal = SyntaxFactory.MarkupTextLiteral(builder.ToList());
                    var context = node.Value?.GetSpanContext();
                    literal = context != null?literal.WithSpanContext(context) : literal;

                    return(Visit(literal));
                }
            }
Example #2
0
            private MarkupTextLiteralSyntax MergeAttributeValue(MarkupLiteralAttributeValueSyntax node)
            {
                var valueTokens = MergeLiterals(node.Prefix?.LiteralTokens, node.Value?.LiteralTokens);
                var rewritten   = node.Prefix?.Update(valueTokens) ?? node.Value?.Update(valueTokens);

                rewritten = (MarkupTextLiteralSyntax)rewritten?.Green.CreateRed(node, node.Position);
                var originalContext = rewritten.GetSpanContext();

                if (originalContext != null)
                {
                    rewritten = rewritten.WithSpanContext(new SpanContext(new MarkupChunkGenerator(), originalContext.EditHandler));
                }

                return(rewritten);
            }
Example #3
0
            public override void VisitMarkupLiteralAttributeValue(MarkupLiteralAttributeValueSyntax node)
            {
                _builder.Push(new HtmlAttributeValueIntermediateNode()
                {
                    Prefix = node.Prefix?.GetContent() ?? string.Empty,
                    Source = BuildSourceSpanFromNode(node),
                });

                _builder.Add(new IntermediateToken()
                {
                    Content = node.Value?.GetContent() ?? string.Empty,
                    Kind    = TokenKind.Html,
                    Source  = BuildSourceSpanFromNode(node.Value)
                });

                _builder.Pop();
            }
Example #4
0
 public override void VisitMarkupLiteralAttributeValue(MarkupLiteralAttributeValueSyntax node)
 {
     WriteSpan(node, FormattingSpanKind.Markup);
     base.VisitMarkupLiteralAttributeValue(node);
 }
Example #5
0
 public override void VisitMarkupLiteralAttributeValue(MarkupLiteralAttributeValueSyntax node)
 {
     WriteSpan(node, SpanKindInternal.Markup);
     base.VisitMarkupLiteralAttributeValue(node);
 }
 public override void VisitMarkupLiteralAttributeValue(MarkupLiteralAttributeValueSyntax node)
 {
     AddSemanticRange(node, RazorSemanticTokensLegend.MarkupAttributeQuote);
 }