{ "fileTypes": [ "tmpl" ], "name": "HCL Template", "patterns": [ { "begin": "[^\\$]?(\\$\\{~?)", "beginCaptures": { "1": { "name": "entity.tag.embedded.start.hcltemplate" } }, "comment": "Interpolation Sequences", "end": "~?}", "endCaptures": { "0": { "name": "entity.tag.embedded.end.hcltemplate" } }, "name": "meta.interp.hcltemplate", "patterns": [ { "include": "source.hclexpr" } ] }, { "begin": "[^\\%]?(\\%\\{~?)", "beginCaptures": { "1": { "name": "entity.tag.embedded.start.hcltemplate" } }, "comment": "Control Sequences", "end": "~?}", "endCaptures": { "0": { "name": "entity.tag.embedded.end.hcltemplate" } }, "name": "meta.control.hcltemplate", "patterns": [ { "include": "#templateif" }, { "include": "#templatefor" }, { "include": "#templatesimplekw" } ] } ], "repository": { "templatefor": { "begin": "(for)\\s*(\\w+)\\s*(,\\s*(\\w+)\\s*)?(in)", "beginCaptures": { "1": { "name": "keyword.control.hcltemplate" }, "2": { "name": "variable.other.hcl" }, "4": { "name": "variable.other.hcl" }, "5": { "name": "keyword.control.hcltemplate" } }, "end": "(?=~?\\})", "name": "meta.templatefor.hcltemplate", "patterns": [ { "include": "source.hclexpr" } ] }, "templateif": { "begin": "(if)\\s*", "beginCaptures": { "1": { "name": "keyword.control.hcltemplate" } }, "end": "(?=~?\\})", "name": "meta.templateif.hcltemplate", "patterns": [ { "include": "source.hclexpr" } ] }, "templatesimplekw": { "captures": { "0": { "name": "keyword.control.hcl" } }, "match": "(else|endif|endfor)" } }, "scopeName": "source.hcltemplate", "uuid": "ac6be18e-d44f-4a73-bd8f-b973fd26df05" }