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); }
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); }