Record the list item indent depth in the context tree.
This commit is contained in:
@@ -16,6 +16,7 @@ use nom::sequence::tuple;
|
||||
use super::combinator::context_many_till;
|
||||
use super::error::Res;
|
||||
use super::paragraph::paragraph_end;
|
||||
use super::parser_context::ContextElement;
|
||||
use super::text::space;
|
||||
use super::text::text_element;
|
||||
use super::token::ListItem;
|
||||
@@ -31,6 +32,7 @@ pub fn plain_list<'r, 's>(context: Context<'r, 's>, i: &'s str) -> Res<&'s str,
|
||||
pub fn item<'r, 's>(context: Context<'r, 's>, i: &'s str) -> Res<&'s str, ListItem<'s>> {
|
||||
let (remaining, leading_whitespace) = space0(i)?;
|
||||
let indent_level = leading_whitespace.len();
|
||||
let list_item_context = context.with_additional_node(ContextElement::ListItem(indent_level));
|
||||
let (remaining, (bul, countset, check, tg, sp, (contents, end))) = tuple((
|
||||
bullet,
|
||||
opt(tuple((space, counter_set))),
|
||||
@@ -38,7 +40,7 @@ pub fn item<'r, 's>(context: Context<'r, 's>, i: &'s str) -> Res<&'s str, ListIt
|
||||
opt(tuple((space, item_tag))),
|
||||
space,
|
||||
// TODO: This context should probably be something involving the item
|
||||
context_many_till(context, text_element, item_end),
|
||||
context_many_till(&list_item_context, text_element, item_end),
|
||||
))(remaining)?;
|
||||
|
||||
let elements = contents
|
||||
|
||||
Reference in New Issue
Block a user