organic/src/parser/parser_with_context.rs

12 lines
402 B
Rust
Raw Normal View History

2022-07-16 03:26:49 +00:00
macro_rules! parser_with_context {
2022-07-16 22:18:41 +00:00
($name:ident,$typ:ty,$inp:ident,$context:ident,$fnbody:block) => {
2022-07-16 22:09:43 +00:00
pub fn $name<'c, I: Clone, O, E: nom::error::ParseError<I>>(
$context: NomContext<'c, I, O, E>,
2022-07-16 22:18:41 +00:00
) -> impl for<'a> FnMut(&'a str) -> IResult<&'a str, $typ, VerboseError<&'a str>> + 'c {
|$inp| $fnbody
2022-07-16 03:26:49 +00:00
}
};
}
pub(crate) use parser_with_context;