Skip to main content

runique/macros/context/
context_simplifier.rs

1//! Macro `context!` — constructeur ergonomique pour `ContextHelper` (contexte Tera).
2
3#[macro_export]
4macro_rules! context {
5
6    () => {
7        $crate::macros::helper::ContextHelper::new()
8    };
9
10    { $($key:expr, $value:expr);* $(;)? } => {{
11        let mut ctx = $crate::macros::helper::ContextHelper::new();
12        $(
13            ctx = ctx.add($key, $value);
14        )*
15        ctx
16    }};
17
18    ($($key:expr => $value:expr),* $(,)?) => {{
19        let mut ctx = $crate::macros::helper::ContextHelper::new();
20        $(
21            ctx = ctx.add($key, $value);
22        )*
23        ctx
24    }};
25}
26
27#[macro_export]
28macro_rules! context_update {
29    ($template:expr => { $($key:expr => $value:expr),* $(,)? }) => {{
30        $(
31            $template.context.insert($key, &$value);
32        )*
33    }};
34}