@@ -171,6 +171,8 @@ impl Markdown {
171 Event::Start(Tag::List(list)) => list_stack.push(list),
171 Event::Start(Tag::List(list)) => list_stack.push(list),
172 Event::End(Tag::List(_)) => {
172 Event::End(Tag::List(_)) => {
173 list_stack.pop();
173 list_stack.pop();
174+ // whenever list closes, new line
175+ lines.push(Spans::default());
175 Event::Start(Tag::Item) => {
177 Event::Start(Tag::Item) => {
176 tags.push(Tag::Item);
178 tags.push(Tag::Item);
@@ -186,11 +188,19 @@ impl Markdown {
186 | Tag::Paragraph
188 | Tag::Paragraph
187 | Tag::CodeBlock(CodeBlockKind::Fenced(_))
189 | Tag::CodeBlock(CodeBlockKind::Fenced(_))
188 | Tag::Item => {
190 | Tag::Item => {
189− // whenever code block or paragraph closes, new line
190 let spans = std::mem::take(&mut spans);
191 let spans = std::mem::take(&mut spans);
191 if !spans.is_empty() {
192 if !spans.is_empty() {
192 lines.push(Spans::from(spans));
193 lines.push(Spans::from(spans));
199+ // whenever heading, code block or paragraph closes, new line
201+ Tag::Heading(_, _, _)
203+ | Tag::CodeBlock(CodeBlockKind::Fenced(_)) => {
194 lines.push(Spans::default());
204 lines.push(Spans::default());