macro_rules! parse_block {
($input:ident, $comments:expr, {
$($($key:literal)|+ => $target:ident : $parser:expr $(=> $action:block)? ),* $(,)?
}, $break_condition:expr $(, $error_label:expr)?) => { ... };
(@action $comments:expr, $loop_comments:ident, $val:ident, $target:ident) => { ... };
(@action $comments:expr, $loop_comments:ident, $val:ident, $binding:ident, $action:block) => { ... };
}Expand description
Macro for declarative KVN block parsing.
This macro generates a loop that matches keys using dispatch!,
handles comment collection, and provides helpful context on errors.