mirror of
https://github.com/nvim-treesitter/nvim-treesitter.git
synced 2026-07-01 19:17:02 -04:00
This enables us to have different queries for terraform and general hcl. It solve the situation where other dialects of hcl (nomad, packer, etc) might use a terraform keyword and get highlighted out of place.
21 lines
1 KiB
Scheme
21 lines
1 KiB
Scheme
; inherits: hcl
|
|
|
|
; Terraform specific references
|
|
;
|
|
;
|
|
; local/module/data/var/output
|
|
(expression (variable_expr (identifier) @type.builtin (#any-of? @type.builtin "data" "var" "local" "module" "output")) (get_attr (identifier) @field))
|
|
|
|
; path.root/cwd/module
|
|
(expression (variable_expr (identifier) @type.builtin (#eq? @type.builtin "path")) (get_attr (identifier) @variable.builtin (#any-of? @variable.builtin "root" "cwd" "module")))
|
|
|
|
; terraform.workspace
|
|
(expression (variable_expr (identifier) @type.builtin (#eq? @type.builtin "terraform")) (get_attr (identifier) @variable.builtin (#any-of? @variable.builtin "workspace")))
|
|
|
|
; Terraform specific keywords
|
|
|
|
; FIXME: ideally only for identifiers under a `variable` block to minimize false positives
|
|
((identifier) @type.builtin (#any-of? @type.builtin "bool" "string" "number" "object" "tuple" "list" "map" "set" "any"))
|
|
(object_elem val: (expression
|
|
(variable_expr
|
|
(identifier) @type.builtin (#any-of? @type.builtin "bool" "string" "number" "object" "tuple" "list" "map" "set" "any"))))
|