| // define macro tag with additional context | |
| #[macro_export(local_inner_macros)] | |
| #[doc(hidden)] | |
| macro_rules! context_tag { | |
| ($tag:expr) => { | |
| context( | |
| $tag, | |
| delimited(space_or_comments, tag($tag), space_or_comments), | |
| ) | |
| }; | |
| } | |
| // define macro ending delimiter with optional comma | |
| #[macro_export(local_inner_macros)] | |
| #[doc(hidden)] | |
| macro_rules! end_delimiter { | |
| ($tag:expr) => { | |
| tuple(( | |
| space_or_comments, | |
| opt(char(',')), | |
| space_or_comments, | |
| cut(tag($tag)), | |
| space_or_comments, | |
| )) | |
| }; | |
| } |