Correctly parsing plain list items.
This commit is contained in:
parent
942b486078
commit
2552ba28d1
@ -94,10 +94,16 @@ fn counter<'s>(i: &'s str) -> Res<&'s str, &'s str> {
|
||||
|
||||
#[tracing::instrument(ret, level = "debug")]
|
||||
fn plain_list_item_end<'r, 's>(context: Context<'r, 's>, input: &'s str) -> Res<&'s str, &'s str> {
|
||||
let current_item_indent_level: &usize =
|
||||
get_context_item_indent(context).ok_or(nom::Err::Error(CustomError::MyError(MyError(
|
||||
"Not inside a plain list item",
|
||||
))))?;
|
||||
let plain_list_item_matcher = parser_with_context!(plain_list_item)(context);
|
||||
let line_indented_lte_matcher = parser_with_context!(line_indented_lte)(context);
|
||||
alt((
|
||||
recognize(plain_list_item_matcher),
|
||||
recognize(verify(plain_list_item_matcher, |pli| {
|
||||
pli.indentation <= *current_item_indent_level
|
||||
})),
|
||||
recognize(line_indented_lte_matcher),
|
||||
eof,
|
||||
))(input)
|
||||
|
Loading…
Reference in New Issue
Block a user