From e0532771cc3503afcbfb5cd5d45b8c57462587f9 Mon Sep 17 00:00:00 2001 From: Frojdholm Date: Wed, 8 Jun 2022 02:44:07 +0200 Subject: [PATCH] Do not add extra line breaks in markdown lists (#2689) --- helix-term/src/ui/markdown.rs | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/helix-term/src/ui/markdown.rs b/helix-term/src/ui/markdown.rs index 5f78c3cc4d6b..452730025d3e 100644 --- a/helix-term/src/ui/markdown.rs +++ b/helix-term/src/ui/markdown.rs @@ -171,6 +171,8 @@ impl Markdown { Event::Start(Tag::List(list)) => list_stack.push(list), Event::End(Tag::List(_)) => { list_stack.pop(); + // whenever list closes, new line + lines.push(Spans::default()); } Event::Start(Tag::Item) => { tags.push(Tag::Item); @@ -186,11 +188,19 @@ impl Markdown { | Tag::Paragraph | Tag::CodeBlock(CodeBlockKind::Fenced(_)) | Tag::Item => { - // whenever code block or paragraph closes, new line let spans = std::mem::take(&mut spans); if !spans.is_empty() { lines.push(Spans::from(spans)); } + } + _ => (), + } + + // whenever heading, code block or paragraph closes, new line + match tag { + Tag::Heading(_, _, _) + | Tag::Paragraph + | Tag::CodeBlock(CodeBlockKind::Fenced(_)) => { lines.push(Spans::default()); } _ => (),