From 27f86be69a0460ee259af1d6642172dedb141f1e Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sun, 15 Dec 2019 05:52:03 +0100 Subject: [PATCH] Fix prefixing first paragraph with a newline, when there's no previous sibling node --- ansi/elements.go | 4 +++- ansi/paragraph.go | 5 ++++- testdata/code.test | 1 - testdata/emph.test | 1 - testdata/image.test | 1 - testdata/link.test | 1 - testdata/strong.test | 1 - 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/ansi/elements.go b/ansi/elements.go index cf6d2b3..6d690a7 100644 --- a/ansi/elements.go +++ b/ansi/elements.go @@ -62,7 +62,9 @@ func (tr *ANSIRenderer) NewElement(node ast.Node, source []byte) Element { return Element{} } return Element{ - Renderer: &ParagraphElement{}, + Renderer: &ParagraphElement{ + First: node.PreviousSibling() == nil, + }, Finisher: &ParagraphElement{}, } diff --git a/ansi/paragraph.go b/ansi/paragraph.go index 079a1f2..5cd134e 100644 --- a/ansi/paragraph.go +++ b/ansi/paragraph.go @@ -9,13 +9,16 @@ import ( ) type ParagraphElement struct { + First bool } func (e *ParagraphElement) Render(w io.Writer, ctx RenderContext) error { bs := ctx.blockStack rules := ctx.options.Styles.Paragraph - _, _ = w.Write([]byte("\n")) + if !e.First { + _, _ = w.Write([]byte("\n")) + } be := BlockElement{ Block: &bytes.Buffer{}, Style: cascadeStyle(bs.Current().Style, rules, true), diff --git a/testdata/code.test b/testdata/code.test index 737be40..32bb783 100644 --- a/testdata/code.test +++ b/testdata/code.test @@ -1,2 +1 @@ - This is a code.  diff --git a/testdata/emph.test b/testdata/emph.test index 69d2772..db5ee2f 100644 --- a/testdata/emph.test +++ b/testdata/emph.test @@ -1,2 +1 @@ - This text is emphasized.  diff --git a/testdata/image.test b/testdata/image.test index 680c0a8..bce276f 100644 --- a/testdata/image.test +++ b/testdata/image.test @@ -1,2 +1 @@ - Image [Image: https://charm.sh/logo.png].  diff --git a/testdata/link.test b/testdata/link.test index 17265b2..a59d875 100644 --- a/testdata/link.test +++ b/testdata/link.test @@ -1,2 +1 @@ - This is a link (https://charm.sh).  diff --git a/testdata/strong.test b/testdata/strong.test index 6cf578b..d4b7f74 100644 --- a/testdata/strong.test +++ b/testdata/strong.test @@ -1,2 +1 @@ - This text is strong.