예제 #1
0
        public override void Regenerate(IndependentInjectedNodeContext nodeContext)
        {
            var htmlAttributeValue = nodeContext.OriginalContextNode as IHtmlAttributeValue;

            if (htmlAttributeValue == null)
            {
                Logger.Fail("Original node is not IHtmlAttributeValue");
                return;
            }

            if (htmlAttributeValue.LeadingQuote == null)
            {
                Logger.Fail("No leading quote");
                return;
            }

            var buffer = nodeContext.GeneratedNode.GetTextAsBuffer();

            var token =
                htmlAttributeValue.LeadingQuote.TokenTypes.ATTRIBUTE_VALUE.Create(buffer, TreeOffset.Zero,
                                                                                  new TreeOffset(buffer.Length)) as IHtmlToken;

            var list = htmlAttributeValue.ValueElements.ToArray();

            if (list.Any())
            {
                LowLevelModificationUtil.DeleteChildRange(list.First(), list.Last());
            }

            LowLevelModificationUtil.AddChildAfter(htmlAttributeValue.LeadingQuote, token);
        }
예제 #2
0
        public override IInjectedNodeContext Regenerate(IndependentInjectedNodeContext nodeContext)
        {
            var text         = nodeContext.GeneratedNode.GetText();
            var parsedCg     = CreateContent(nodeContext.OriginalContextNode.GetPsiModule(), text);
            var replacedNode = ModificationUtil.ReplaceChild(nodeContext.OriginalContextNode, parsedCg);

            return(UpdateInjectedFileAndContext(nodeContext, replacedNode, 0, text.Length));
        }
        public override IInjectedNodeContext Regenerate(IndependentInjectedNodeContext nodeContext)
        {
            var text    = nodeContext.GeneratedNode.GetText();
            var token   = ShaderLabTokenType.CG_CONTENT.CreateLeafElement(text);
            var content = new CgContent();

            content.AppendNewChild(token);

            var replacedNode = ModificationUtil.ReplaceChild(nodeContext.OriginalContextNode, content);

            return(UpdateInjectedFileAndContext(nodeContext, replacedNode, 0, text.Length));
        }
 public override IInjectedNodeContext Regenerate(IndependentInjectedNodeContext nodeContext)
        public override void Regenerate(IndependentInjectedNodeContext nodeContext)
        {
            var htmlAttributeValue = nodeContext.OriginalContextNode as IHtmlAttributeValue;
            if (htmlAttributeValue == null)
            {
                Logger.Fail("Original node is not IHtmlAttributeValue");
                return;
            }

            if (htmlAttributeValue.LeadingQuote == null)
            {
                Logger.Fail("No leading quote");
                return;
            }

            var buffer = nodeContext.GeneratedNode.GetTextAsBuffer();

            var token =
              htmlAttributeValue.LeadingQuote.TokenTypes.ATTRIBUTE_VALUE.Create(buffer, TreeOffset.Zero,
                new TreeOffset(buffer.Length)) as IHtmlToken;

            var list = htmlAttributeValue.ValueElements.ToArray();
            if (list.Any())
                LowLevelModificationUtil.DeleteChildRange(list.First(), list.Last());

            LowLevelModificationUtil.AddChildAfter(htmlAttributeValue.LeadingQuote, token);
        }