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