Add support for list items with a line break before their contents.
This commit is contained in:
@@ -135,8 +135,7 @@ pub fn plain_list_item<'r, 's>(
|
||||
})(remaining)?;
|
||||
|
||||
// TODO: This isn't taking into account items that immediately line break and then have contents
|
||||
let maybe_contentless_item: Res<OrgSource<'_>, OrgSource<'_>> =
|
||||
alt((eof, line_ending))(remaining);
|
||||
let maybe_contentless_item: Res<OrgSource<'_>, OrgSource<'_>> = eof(remaining);
|
||||
match maybe_contentless_item {
|
||||
Ok((rem, _ws)) => {
|
||||
let source = get_consumed(input, rem);
|
||||
@@ -153,7 +152,7 @@ pub fn plain_list_item<'r, 's>(
|
||||
Err(_) => {}
|
||||
};
|
||||
|
||||
let (remaining, _ws) = space1(remaining)?;
|
||||
let (remaining, _ws) = alt((space1, line_ending))(remaining)?;
|
||||
let exit_matcher = plain_list_item_end(indent_level);
|
||||
let parser_context = context
|
||||
.with_additional_node(ContextElement::ConsumeTrailingWhitespace(true))
|
||||
@@ -162,12 +161,9 @@ pub fn plain_list_item<'r, 's>(
|
||||
exit_matcher: &exit_matcher,
|
||||
}));
|
||||
|
||||
let (remaining, (children, _exit_contents)) = verify(
|
||||
many_till(
|
||||
parser_with_context!(element(true))(&parser_context),
|
||||
parser_with_context!(exit_matcher_parser)(&parser_context),
|
||||
),
|
||||
|(children, _exit_contents)| !children.is_empty(),
|
||||
let (remaining, (children, _exit_contents)) = many_till(
|
||||
parser_with_context!(element(true))(&parser_context),
|
||||
parser_with_context!(exit_matcher_parser)(&parser_context),
|
||||
)(remaining)?;
|
||||
|
||||
let (remaining, _trailing_ws) =
|
||||
|
||||
Reference in New Issue
Block a user