terraform: Add outline queries (#16945)

Closes #16944

Added outline schema for terraform/HCL

Release Notes:

- N/A


![SCR-20240827-omjs](https://github.com/user-attachments/assets/48a31863-e848-4a86-97b7-67440d62c93f)
This commit is contained in:
Taras Martyniuk 2024-08-29 07:51:08 +03:00 committed by GitHub
parent 8bd803942d
commit a4893ab561
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 152 additions and 0 deletions

View File

@ -0,0 +1,76 @@
; HCL Outline Scheme
; Comments
(comment) @annotation
; Block with and without string_lit
; Example:
; terraform { ... }
; module "vpc" { ... }
; resource "resource" "name" { ... }
(config_file
(body
(block
(identifier) @context
(string_lit)? @name
(string_lit)? @name
) @item
)
)
; Inside block with identifier
(config_file
(body
(block
(identifier)
(body
(attribute
(identifier) @context
) @item
)
)
)
)
; Inside block with identifier and string_lit
(config_file
(body
(block
(identifier)
(body
(block
(identifier) @context
(string_lit)? @name
) @item
)
)
)
)
; Root Attribute block
; Example:
; inputs = { ... }
(config_file
(body
(attribute
(identifier) @context
) @item
)
)
; Inside Root Attribute block
(config_file
(body
(attribute
(identifier)
(expression
(collection_value
(object
(object_elem
key: (expression (variable_expr (identifier) @context))
) @item
)
)
)
)
)
)

View File

@ -0,0 +1,76 @@
; HCL Outline Scheme
; Comments
(comment) @annotation
; Block with and without string_lit
; Example:
; terraform { ... }
; module "vpc" { ... }
; resource "resource" "name" { ... }
(config_file
(body
(block
(identifier) @context
(string_lit)? @name
(string_lit)? @name
) @item
)
)
; Inside block with identifier
(config_file
(body
(block
(identifier)
(body
(attribute
(identifier) @context
) @item
)
)
)
)
; Inside block with identifier and string_lit
(config_file
(body
(block
(identifier)
(body
(block
(identifier) @context
(string_lit)? @name
) @item
)
)
)
)
; Root Attribute block
; Example:
; inputs = { ... }
(config_file
(body
(attribute
(identifier) @context
) @item
)
)
; Inside Root Attribute block
(config_file
(body
(attribute
(identifier)
(expression
(collection_value
(object
(object_elem
key: (expression (variable_expr (identifier) @context))
) @item
)
)
)
)
)
)