aboutsummaryrefslogtreecommitdiffstats
path: root/askama_shared/src/generator.rs
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--askama_shared/src/generator.rs11
1 files changed, 11 insertions, 0 deletions
diff --git a/askama_shared/src/generator.rs b/askama_shared/src/generator.rs
index ab861dc..4588677 100644
--- a/askama_shared/src/generator.rs
+++ b/askama_shared/src/generator.rs
@@ -561,6 +561,7 @@ impl<'a> Generator<'a> {
Expr::NumLit(s) => self.visit_num_lit(s),
Expr::StrLit(s) => self.visit_str_lit(s),
Expr::Var(s) => self.visit_var(s),
+ Expr::Path(ref path) => self.visit_path(path),
Expr::Attr(ref obj, name) => self.visit_attr(obj, name),
Expr::Filter(name, ref args) => self.visit_filter(name, args),
Expr::BinOp(op, ref left, ref right) =>
@@ -671,6 +672,16 @@ impl<'a> Generator<'a> {
DisplayWrap::Unwrapped
}
+ fn visit_path(&mut self, path: &Vec<&str>) -> DisplayWrap {
+ for (i, part) in path.iter().enumerate() {
+ if i > 0 {
+ self.write("::");
+ }
+ self.write(part);
+ }
+ DisplayWrap::Unwrapped
+ }
+
fn visit_var(&mut self, s: &str) -> DisplayWrap {
if self.locals.contains(s) {
self.write(s);