use nom::branch::alt; use nom::bytes::complete::tag; use nom::character::complete::digit1; use nom::character::complete::one_of; use nom::combinator::recognize; use nom::sequence::tuple; use super::error::Res; use super::token::ListItem; use super::token::PlainList; use super::Context; pub fn plain_list<'r, 's>(context: Context<'r, 's>, i: &'s str) -> Res<&'s str, PlainList<'s>> { // todo todo!() } fn item<'r, 's>(context: Context<'r, 's>, i: &'s str) -> Res<&'s str, ListItem<'s>> { // todo todo!() } fn counter<'s>(i: &'s str) -> Res<&'s str, &'s str> { alt((recognize(one_of("abcdefghijklmnopqrstuvwxyz")), digit1))(i) } fn bullet<'s>(i: &'s str) -> Res<&'s str, &'s str> { alt(( tag("*"), tag("-"), tag("+"), recognize(tuple((counter, alt((tag("."), tag(")")))))), ))(i) }