From eea185ea8509d37a1f87babab75b1f94350db802 Mon Sep 17 00:00:00 2001 From: Titus Wormer Date: Fri, 25 Nov 2022 11:46:02 +0100 Subject: Fix double setext heading underlines Related-to: GH-22. --- src/construct/document.rs | 2 +- src/construct/heading_setext.rs | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/construct/document.rs b/src/construct/document.rs index a81be8a..656525c 100644 --- a/src/construct/document.rs +++ b/src/construct/document.rs @@ -423,7 +423,7 @@ pub fn flow_end(tokenizer: &mut Tokenizer) -> State { if !document_lazy_continuation_current && !child.events.is_empty() { let before = skip::opt_back(&child.events, child.events.len() - 1, &[Name::LineEnding]); let name = &child.events[before].name; - if name == &Name::Content { + if name == &Name::Content || name == &Name::HeadingSetextUnderline { document_lazy_continuation_current = true; } } diff --git a/src/construct/heading_setext.rs b/src/construct/heading_setext.rs index 6e0ec08..d66f339 100644 --- a/src/construct/heading_setext.rs +++ b/src/construct/heading_setext.rs @@ -92,13 +92,12 @@ pub fn start(tokenizer: &mut Tokenizer) -> State { && !tokenizer.pierce // Require a paragraph before. && (!tokenizer.events.is_empty() - && tokenizer.events[skip::opt_back( + && matches!(tokenizer.events[skip::opt_back( &tokenizer.events, tokenizer.events.len() - 1, &[Name::LineEnding, Name::SpaceOrTab], )] - .name - == Name::Content) + .name, Name::Content | Name::HeadingSetextUnderline)) { tokenizer.enter(Name::HeadingSetextUnderline); -- cgit