aboutsummaryrefslogtreecommitdiffstats
path: root/askama_derive/src/generator.rs
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--askama_derive/src/generator.rs12
1 files changed, 11 insertions, 1 deletions
diff --git a/askama_derive/src/generator.rs b/askama_derive/src/generator.rs
index 33fbe4c..41e1647 100644
--- a/askama_derive/src/generator.rs
+++ b/askama_derive/src/generator.rs
@@ -644,10 +644,20 @@ impl<'a> Generator<'a> {
Expr::Group(ref inner) => self.visit_group(buf, inner),
Expr::MethodCall(ref obj, method, ref args) => {
self.visit_method_call(buf, obj, method, args)
- }
+ },
+ Expr::RustMacro(name, ref args) => self.visit_rust_macro(buf, name, args),
}
}
+ fn visit_rust_macro(&mut self, buf: &mut Buffer, name: &str, args: &[Expr]) -> DisplayWrap {
+ buf.write(name);
+ buf.write("!(");
+ self._visit_args(buf, args);
+ buf.write(")");
+
+ DisplayWrap::Unwrapped
+ }
+
fn visit_match_variant(&mut self, buf: &mut Buffer, param: &MatchVariant) -> DisplayWrap {
let mut expr_buf = Buffer::new(0);
let wrapped = match *param {