| <#macro m\-a data\-color><#local \.namespace = 123><a-b>${data\-color}<#nested \.namespace></a-b></#macro><#macro m\-b2></#macro><#macro "m/b2"></#macro> |
| <@m\-a data\-color="red"; loop\-var, loopVar2>${loop\-var}</@m\-a> |
| |
| <#function f\-a(p\-a)><#return p\-a + " works"/></#function>${f\-a("f-a")} |
| |
| <#assign \-\-\-\.\: = "dash-dash-dash etc.">${\-\-\-\.\:} |
| ${.vars["---.:"]} |
| <#assign hash = {"--moz-prop": "propVal"}>${hash.\-\-moz\-prop} |
| ${hash["--moz-prop"]} |
| |
| <#assign ls\:a = 1..3>List: <#list ls\:a as \:i>${\:i}</#list> |
| |
| <#assign sw\-a = 1>Switch: <#switch sw\-a><#case 1>OK<#break/> |
| <#default>Fails |
| </#switch> |
| <#escape \-x as \-x?upper_case>${"escaped"}</#escape> |
| |
| <#if false && sw\-a == 1><#visit x\-y2 using x\-y1/><#recurse x\-y2 using x\-y1/><#import i\-a as i\-b/><#include i\-c/></#if> |
| <#assign @as@_a = "as1">${@as@_a} |
| <#assign as\-c = "as2">${.vars["as-c"]} |
| <#assign "as/b" = "as3">${.vars["as/b"]} |
| <#assign "as'c" = "as4">${.vars["as'c"]} |
| <#assign 'as"d' = "as5">${.vars['as"d']} |
| |
| <#global g\-a = 1, g\-b = 2, g\-c = 3><#macro dumpNS><#list .namespace?keys?sort as k>${k} = <#local v = .namespace[k]><#if v?is_string>${v}<#else>...</#if> |
| </#list></#macro><@dumpNS/> |