From 2ae00fbbf2f88da9163b512b1f1205e18499ab9e Mon Sep 17 00:00:00 2001 From: Titus Wormer Date: Fri, 15 Jul 2022 19:44:19 +0200 Subject: Fix some final eol bugs --- src/compiler.rs | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src/compiler.rs') diff --git a/src/compiler.rs b/src/compiler.rs index c4178d4..07f0d6b 100644 --- a/src/compiler.rs +++ b/src/compiler.rs @@ -451,6 +451,7 @@ pub fn compile(events: &[Event], codes: &[Code], options: &Options) -> String { let mut exit_map: Map = HashMap::new(); exit_map.insert(Token::AutolinkEmail, on_exit_autolink_email); exit_map.insert(Token::AutolinkProtocol, on_exit_autolink_protocol); + exit_map.insert(Token::BlankLineEnding, on_exit_blank_line_ending); exit_map.insert(Token::BlockQuote, on_exit_block_quote); exit_map.insert(Token::CharacterEscapeValue, on_exit_data); exit_map.insert( @@ -857,10 +858,18 @@ fn on_exit_break(context: &mut CompileContext) { context.tag("
".to_string()); } +/// Handle [`Exit`][EventType::Exit]:[`BlankLineEnding`][Token::BlankLineEnding]. +fn on_exit_blank_line_ending(context: &mut CompileContext) { + if context.index == context.events.len() - 1 { + context.line_ending_if_needed(); + } +} + /// Handle [`Exit`][EventType::Exit]:[`BlockQuote`][Token::BlockQuote]. fn on_exit_block_quote(context: &mut CompileContext) { context.tight_stack.pop(); context.line_ending_if_needed(); + context.slurp_one_line_ending = false; context.tag("".to_string()); } -- cgit