Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'runtime/queries/hcl/highlights.scm')
| -rw-r--r-- | runtime/queries/hcl/highlights.scm | 89 |
1 files changed, 45 insertions, 44 deletions
diff --git a/runtime/queries/hcl/highlights.scm b/runtime/queries/hcl/highlights.scm index ffeb79a5..d00f74f3 100644 --- a/runtime/queries/hcl/highlights.scm +++ b/runtime/queries/hcl/highlights.scm @@ -1,3 +1,48 @@ +(ERROR) @error + +; { key: val } + +(object_elem val: (expression + (variable_expr + (identifier) @type.builtin (#match? @type.builtin "^(bool|string|number|object|tuple|list|map|set|any)$")))) + +(get_attr (identifier) @variable.builtin (#match? @variable.builtin "^(root|cwd|module)$")) +(variable_expr (identifier) @variable.builtin (#match? @variable.builtin "^(var|local|path)$")) +((identifier) @type.builtin (#match? @type.builtin "^(bool|string|number|object|tuple|list|map|set|any)$")) +((identifier) @keyword (#match? @keyword "^(module|root|cwd|resource|variable|data|locals|terraform|provider|output)$")) + +; highlight identifier keys as though they were block attributes +(object_elem key: (expression (variable_expr (identifier) @variable.other.member))) + +(attribute (identifier) @variable.other.member) +(function_call (identifier) @function.method) +(block (identifier) @type.builtin) + +(identifier) @variable +(comment) @comment +(null_lit) @constant.builtin +(numeric_lit) @constant.numeric +(bool_lit) @constant.builtin.boolean + +[ + (template_interpolation_start) ; ${ + (template_interpolation_end) ; } + (template_directive_start) ; %{ + (template_directive_end) ; } + (strip_marker) ; ~ +] @punctuation.special + +[ + (heredoc_identifier) ; <<END + (heredoc_start) ; END +] @punctuation.delimiter + +[ + (quoted_template_start) ; " + (quoted_template_end); " + (template_literal) ; non-interpolation/directive content +] @string + [ "if" "else" @@ -53,47 +98,3 @@ "&&" "||" ] @operator - -(identifier) @variable - -; { key: val } - -(object_elem val: (expression - (variable_expr - (identifier) @type.builtin (#match? @type.builtin "^(bool|string|number|object|tuple|list|map|set|any)$")))) - -(get_attr (identifier) @variable.builtin (#match? @variable.builtin "^(root|cwd|module)$")) -(variable_expr (identifier) @variable.builtin (#match? @variable.builtin "^(var|local|path)$")) -((identifier) @type.builtin (#match? @type.builtin "^(bool|string|number|object|tuple|list|map|set|any)$")) -((identifier) @keyword (#match? @keyword "^(module|root|cwd|resource|variable|data|locals|terraform|provider|output)$")) - -; highlight identifier keys as though they were block attributes -(object_elem key: (expression (variable_expr (identifier) @variable.other.member))) - -(attribute (identifier) @variable.other.member) -(function_call (identifier) @function.method) -(block (identifier) @type.builtin) - -(comment) @comment -(null_lit) @constant.builtin -(numeric_lit) @constant.numeric -(bool_lit) @constant.builtin.boolean - -[ - (template_interpolation_start) ; ${ - (template_interpolation_end) ; } - (template_directive_start) ; %{ - (template_directive_end) ; } - (strip_marker) ; ~ -] @punctuation.special - -[ - (heredoc_identifier) ; <<END - (heredoc_start) ; END -] @punctuation.delimiter - -[ - (quoted_template_start) ; " - (quoted_template_end); " - (template_literal) ; non-interpolation/directive content -] @string |