diff options
author | Titus Wormer <tituswormer@gmail.com> | 2022-11-25 11:46:02 +0100 |
---|---|---|
committer | Titus Wormer <tituswormer@gmail.com> | 2022-11-25 11:46:02 +0100 |
commit | eea185ea8509d37a1f87babab75b1f94350db802 (patch) | |
tree | f8a120ff2ddabbcb13fab0a04df7d3181fc1f3fd /src | |
parent | 4f776347163a514abadc7ded95e66a459be03bc9 (diff) | |
download | markdown-rs-eea185ea8509d37a1f87babab75b1f94350db802.tar.gz markdown-rs-eea185ea8509d37a1f87babab75b1f94350db802.tar.bz2 markdown-rs-eea185ea8509d37a1f87babab75b1f94350db802.zip |
Fix double setext heading underlines
Related-to: GH-22.
Diffstat (limited to 'src')
-rw-r--r-- | src/construct/document.rs | 2 | ||||
-rw-r--r-- | src/construct/heading_setext.rs | 5 |
2 files changed, 3 insertions, 4 deletions
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); |