]> git.ipfire.org Git - thirdparty/jinja.git/commitdiff
Support dot accessors on variables
authorKevin Brown <kevin@kevin-brown.com>
Fri, 8 May 2020 10:26:02 +0000 (06:26 -0400)
committerKevin <kevin@kevin-brown.com>
Sun, 10 May 2020 01:50:06 +0000 (21:50 -0400)
This adds support for dot accessors on variables in such a way that
it is flexible enough to match the handling provided by the existing
template engine.

tatsu_grammar.txt
test_template.jinja

index 1138236ffefe48ab58ed2d3aeee3d194d9d3a874..635e18217514c45f8722dfbcab5666de8b342796 100644 (file)
@@ -86,10 +86,20 @@ variable_identifier
     ;\r
 \r
 variable_accessor\r
+    =\r
+    variable_accessor_brackets | variable_accessor_dot\r
+    ;\r
+\r
+variable_accessor_brackets\r
     =\r
     "[" variable_identifier "]"\r
     ;\r
 \r
+variable_accessor_dot\r
+    =\r
+    "." variable_identifier\r
+    ;\r
+\r
 variable_filter\r
     =\r
     {SP}* "|" {SP}* @:filter\r
index 804c1b280c479ce56c46249586802b9011a62433..4a50acaa607512a9187188e2187092676fbe5dd8 100644 (file)
@@ -1,5 +1,5 @@
 {% with key=val %}\r
-{{ dict_var['single']["double"]  |test(first ,second, third)|filter | lastFilter}}\r
+{{ dict_var['single']["double"].dot  |test(first ,second, third)|filter | lastFilter}}\r
 {%block single key=val param=value %}\r
 test {{var}}\r
 {%endblock%}\r