protected override void Write(RoundtripRenderer renderer, ParagraphBlock paragraph) { renderer.RenderLinesBefore(paragraph); renderer.Write(paragraph.TriviaBefore); renderer.WriteLeafInline(paragraph); //renderer.Write(paragraph.Newline); // paragraph typically has LineBreakInlines as closing inline nodes renderer.RenderLinesAfter(paragraph); }
protected override void Write(RoundtripRenderer renderer, HeadingBlock obj) { if (obj.IsSetext) { renderer.RenderLinesBefore(obj); var headingChar = obj.Level == 1 ? '=' : '-'; var line = new string(headingChar, obj.HeaderCharCount); renderer.WriteLeafInline(obj); renderer.WriteLine(obj.SetextNewline); renderer.Write(obj.TriviaBefore); renderer.Write(line); renderer.WriteLine(obj.NewLine); renderer.Write(obj.TriviaAfter); renderer.RenderLinesAfter(obj); } else { renderer.RenderLinesBefore(obj); var headingText = obj.Level > 0 && obj.Level <= 6 ? HeadingTexts[obj.Level - 1] : new string('#', obj.Level); renderer.Write(obj.TriviaBefore); renderer.Write(headingText); renderer.Write(obj.TriviaAfterAtxHeaderChar); renderer.WriteLeafInline(obj); renderer.Write(obj.TriviaAfter); renderer.WriteLine(obj.NewLine); renderer.RenderLinesAfter(obj); } }