From be64eb92af5b84614738519a699486e7eb97781e Mon Sep 17 00:00:00 2001 From: Tom Alexander Date: Fri, 14 Apr 2023 20:17:53 -0400 Subject: [PATCH] Ran into a bigger issue. --- src/parser/plain_list.rs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/parser/plain_list.rs b/src/parser/plain_list.rs index 367098e..20d5cf1 100644 --- a/src/parser/plain_list.rs +++ b/src/parser/plain_list.rs @@ -58,6 +58,7 @@ pub fn plain_list<'r, 's>(context: Context<'r, 's>, input: &'s str) -> Res<&'s s Consume, additional item */ { + // Don't consume, yes exit matcher let span = span!(tracing::Level::DEBUG, "first"); let _enter = span.enter(); @@ -76,6 +77,7 @@ pub fn plain_list<'r, 's>(context: Context<'r, 's>, input: &'s str) -> Res<&'s s } { + // Consume, additional item let span = span!(tracing::Level::DEBUG, "second"); let _enter = span.enter(); @@ -97,10 +99,10 @@ pub fn plain_list<'r, 's>(context: Context<'r, 's>, input: &'s str) -> Res<&'s s } { + // Don't consume, no additional item let span = span!(tracing::Level::DEBUG, "third"); let _enter = span.enter(); - // If its not (don't consume, exit) and its not (consume, see another item) then it must be (don't consume, no additional item) let last_item_then_exit = without_consume_matcher(remaining); match last_item_then_exit { Ok((remain, item)) @@ -157,7 +159,7 @@ pub fn plain_list_item<'r, 's>( })); let with_consume_matcher = parser_with_context!(element)(&with_consume_context); - let without_consume_matcher = parser_with_context!(element)(&with_consume_context); + let without_consume_matcher = parser_with_context!(element)(&without_consume_context); let exit_matcher = parser_with_context!(exit_matcher_parser)(&with_consume_context); let (remaining, bull) = verify(bullet, |bull: &str| bull != "*" || indent_level > 0)(remaining)?;