Implement the export snippet parser.

This commit is contained in:
Tom Alexander
2023-07-19 00:37:51 -04:00
parent 1fb8ce9af6
commit 95e033a99b
4 changed files with 64 additions and 7 deletions

View File

@@ -6,10 +6,10 @@ use nom::character::complete::line_ending;
use nom::character::complete::none_of;
use nom::character::complete::one_of;
use nom::character::complete::space0;
use nom::combinator::opt;
use nom::combinator::peek;
use nom::combinator::recognize;
use nom::combinator::verify;
use nom::multi::many0;
use nom::multi::many_till;
use nom::sequence::tuple;
@@ -45,7 +45,7 @@ pub fn latex_fragment<'r, 's>(
fn raw_latex_fragment<'r, 's>(context: Context<'r, 's>, input: &'s str) -> Res<&'s str, &'s str> {
let (remaining, _) = tag("\\")(input)?;
let (remaining, _) = name(context, remaining)?;
let (remaining, _) = opt(parser_with_context!(brackets)(context))(remaining)?;
let (remaining, _) = many0(parser_with_context!(brackets)(context))(remaining)?;
let source = get_consumed(input, remaining);
Ok((remaining, source))