From cbecb6e56eb120544f85385d141fd89c1e03e661 Mon Sep 17 00:00:00 2001 From: James Pogran Date: Thu, 3 Mar 2022 09:51:10 -0500 Subject: [PATCH 1/5] Extract HCL grammar --- README.md | 1 + package.json | 10 +- syntaxes/hcl.tmGrammar.json | 837 +++++++++++++++++++++++++ syntaxes/terraform.tmGrammar.json | 989 ++++-------------------------- 4 files changed, 949 insertions(+), 888 deletions(-) create mode 100644 syntaxes/hcl.tmGrammar.json diff --git a/README.md b/README.md index 86e7a67..26e2d48 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,7 @@ Syntax highlighting files for editors (VSCode, SublimeText, TextMate, etc.) for By product, format: +* HCL - TextMate * Terraform - TextMate ## What editors this can be used with diff --git a/package.json b/package.json index 3643938..f5f841a 100644 --- a/package.json +++ b/package.json @@ -16,11 +16,11 @@ "scripts": { "check": "prettier --check syntaxes/*.json", "format": "prettier --write syntaxes/*.json", - "test": "npm run test:grammar && npm run test:snap", - "test:grammar": "npm run test:grammar:terraform", - "test:grammar:terraform": "npx vscode-tmgrammar-test -s source.terraform -g syntaxes/terraform.tmGrammar.json -t tests/unit/**/*.tf", - "test:snap": "npm run test:snap:terraform", - "test:snap:terraform": "npx vscode-tmgrammar-snap -s source.terraform -g syntaxes/terraform.tmGrammar.json -t tests/snapshot/**/*.tf" + "test": "npm run test:snap", + "test:snap": "npm run test:snap:hcl && npm run test:snap:terraform", + "test:snap:update": "npm run test:snap:hcl -- -u && npm run test:snap:terraform -- -u", + "test:snap:hcl": "npx vscode-tmgrammar-snap -s source.hcl -g syntaxes/hcl.tmGrammar.json -t \"tests/snapshot/hcl/*.hcl\"", + "test:snap:terraform": "npx vscode-tmgrammar-snap -s source.hcl.terraform -g syntaxes/terraform.tmGrammar.json -g syntaxes/hcl.tmGrammar.json -t \"tests/snapshot/terraform/*.tf\"" }, "devDependencies": { "prettier": "^2.5.1", diff --git a/syntaxes/hcl.tmGrammar.json b/syntaxes/hcl.tmGrammar.json new file mode 100644 index 0000000..543564d --- /dev/null +++ b/syntaxes/hcl.tmGrammar.json @@ -0,0 +1,837 @@ +{ + "scopeName": "source.hcl", + "name": "HashiCorp HCL", + "uuid": "a14187be-98d8-42c1-ac89-bb5eaccf911e", + "fileTypes": ["hcl"], + "patterns": [ + { "include": "#comments" }, + { "include": "#attribute_definition" }, + { "include": "#block" }, + { "include": "#expressions" } + ], + "repository": { + "char_escapes": { + "match": "\\\\[nrt\"\\\\]|\\\\u(\\h{8}|\\h{4})", + "comment": "Character Escapes", + "name": "constant.character.escape.hcl" + }, + "comma": { + "match": "\\,", + "comment": "Commas - used in certain expressions", + "name": "punctuation.separator.hcl" + }, + "language_constants": { + "match": "\\b(true|false|null)\\b", + "comment": "Language Constants", + "name": "constant.language.hcl" + }, + "local_identifiers": { + "match": "\\b(?!null|false|true)[[:alpha:]][[:alnum:]_-]*\\b", + "comment": "Local Identifiers", + "name": "variable.other.readwrite.hcl" + }, + "hcl_type_keywords": { + "match": "\\b(any|string|number|bool)\\b", + "comment": "Type keywords known to HCL.", + "name": "storage.type.hcl" + }, + "comments": { + "patterns": [ + { "include": "#hash_line_comments" }, + { "include": "#double_slash_line_comments" }, + { "include": "#block_inline_comments" } + ] + }, + "hash_line_comments": { + "name": "comment.line.number-sign.hcl", + "comment": "Line comments start with # sequence and end with the next newline sequence. A line comment is considered equivalent to a newline sequence", + "begin": "#", + "end": "$\\n?", + "captures": { + "0": { + "name": "punctuation.definition.comment.hcl" + } + } + }, + "double_slash_line_comments": { + "name": "comment.line.double-slash.hcl", + "comment": "Line comments start with // sequence and end with the next newline sequence. A line comment is considered equivalent to a newline sequence", + "begin": "//", + "captures": { + "0": { + "name": "punctuation.definition.comment.hcl" + } + }, + "end": "$\\n?" + }, + "block_inline_comments": { + "name": "comment.block.hcl", + "comment": "Inline comments start with the /* sequence and end with the */ sequence, and may have any characters within except the ending sequence. An inline comment is considered equivalent to a whitespace sequence", + "begin": "/\\*", + "captures": { + "0": { + "name": "punctuation.definition.comment.hcl" + } + }, + "end": "\\*/" + }, + "attribute_definition": { + "match": "(\\()?((?!null|false|true)[[:alpha:]][[:alnum:]_-]*)(\\))?\\s*(\\=(?!\\=|\\>))\\s*", + "comment": "Identifier \"=\" with optional parens", + "name": "variable.declaration.hcl", + "captures": { + "1": { + "name": "punctuation.section.parens.begin.hcl" + }, + "2": { + "name": "variable.other.readwrite.hcl" + }, + "3": { + "name": "punctuation.section.parens.end.hcl" + }, + "4": { + "name": "keyword.operator.assignment.hcl" + } + } + }, + "block": { + "name": "meta.block.hcl", + "comment": "This will match HCL blocks like `thing1 \"one\" \"two\" {` or `thing2 {`", + "begin": "(\\w+)([\\s\\\"\\-\\w]*)(\\{)", + "beginCaptures": { + "1": { + "patterns": [ + { + "match": "\\b(?!null|false|true)[[:alpha:]][[:alnum:]_-]*\\b", + "comment": "Block type", + "name": "entity.name.type.hcl" + } + ] + }, + "2": { + "patterns": [ + { + "name": "variable.other.enummember.hcl", + "comment": "Block label", + "match": "[\\\"\\-\\w]+" + } + ] + }, + "3": { + "name": "punctuation.section.block.begin.hcl" + } + }, + "end": "\\}", + "endCaptures": { + "0": { + "name": "punctuation.section.block.end.hcl" + } + }, + "patterns": [ + { "include": "#comments" }, + { "include": "#attribute_definition" }, + { "include": "#block" }, + { "include": "#expressions" } + ] + }, + "expressions": { + "patterns": [ + { + "include": "#literal_values" + }, + { + "include": "#operators" + }, + { + "include": "#tuple_for_expression" + }, + { + "include": "#object_for_expression" + }, + { + "include": "#brackets" + }, + { + "include": "#objects" + }, + { + "include": "#attribute_access" + }, + { + "include": "#structural_types" + }, + { + "include": "#functions" + }, + { + "include": "#parens" + } + ] + }, + "literal_values": { + "patterns": [ + { + "include": "#numeric_literals" + }, + { + "include": "#language_constants" + }, + { + "include": "#string_literals" + }, + { + "include": "#heredoc" + }, + { + "include": "#hcl_type_keywords" + } + ] + }, + "numeric_literals": { + "patterns": [ + { + "match": "\\b\\d+([Ee][+-]?)\\d+\\b", + "comment": "Integer, no fraction, optional exponent", + "name": "constant.numeric.float.hcl", + "captures": { + "1": { + "name": "punctuation.separator.exponent.hcl" + } + } + }, + { + "match": "\\b\\d+(\\.)\\d+(?:([Ee][+-]?)\\d+)?\\b", + "comment": "Integer, fraction, optional exponent", + "name": "constant.numeric.float.hcl", + "captures": { + "1": { + "name": "punctuation.separator.decimal.hcl" + }, + "2": { + "name": "punctuation.separator.exponent.hcl" + } + } + }, + { + "match": "\\b\\d+\\b", + "comment": "Integers", + "name": "constant.numeric.integer.hcl" + } + ] + }, + "string_literals": { + "begin": "\"", + "comment": "Strings", + "name": "string.quoted.double.hcl", + "beginCaptures": { + "0": { + "name": "punctuation.definition.string.begin.hcl" + } + }, + "end": "\"", + "endCaptures": { + "0": { + "name": "punctuation.definition.string.end.hcl" + } + }, + "patterns": [ + { + "include": "#string_interpolation" + }, + { + "include": "#char_escapes" + } + ] + }, + "string_interpolation": { + "begin": "(\\G|[^%$])([%$]{)", + "comment": "String interpolation", + "name": "meta.interpolation.hcl", + "beginCaptures": { + "2": { + "name": "keyword.other.interpolation.begin.hcl" + } + }, + "end": "\\}", + "endCaptures": { + "0": { + "name": "keyword.other.interpolation.end.hcl" + } + }, + "patterns": [ + { + "match": "\\~\\s", + "comment": "Trim left whitespace", + "name": "keyword.operator.template.left.trim.hcl" + }, + { + "match": "\\s\\~", + "comment": "Trim right whitespace", + "name": "keyword.operator.template.right.trim.hcl" + }, + { + "match": "\\b(if|else|endif|for|in|endfor)\\b", + "comment": "if/else/endif and for/in/endfor directives", + "name": "keyword.control.hcl" + }, + { + "include": "#expressions" + }, + { + "include": "#local_identifiers" + } + ] + }, + "heredoc": { + "begin": "(\\<\\<\\-?)\\s*(\\w+)\\s*$", + "comment": "String Heredoc", + "name": "string.unquoted.heredoc.hcl", + "beginCaptures": { + "1": { + "name": "keyword.operator.heredoc.hcl" + }, + "2": { + "name": "keyword.control.heredoc.hcl" + } + }, + "end": "^\\s*\\2\\s*$", + "endCaptures": { + "0": { + "comment": "The heredoc token identifier (second capture above).", + "name": "keyword.control.heredoc.hcl" + } + }, + "patterns": [ + { + "include": "#string_interpolation" + } + ] + }, + "operators": { + "patterns": [ + { + "match": "\\>\\=", + "name": "keyword.operator.hcl" + }, + { + "match": "\\<\\=", + "name": "keyword.operator.hcl" + }, + { + "match": "\\=\\=", + "name": "keyword.operator.hcl" + }, + { + "match": "\\!\\=", + "name": "keyword.operator.hcl" + }, + { + "match": "\\+", + "name": "keyword.operator.arithmetic.hcl" + }, + { + "match": "\\-", + "name": "keyword.operator.arithmetic.hcl" + }, + { + "match": "\\*", + "name": "keyword.operator.arithmetic.hcl" + }, + { + "match": "\\/", + "name": "keyword.operator.arithmetic.hcl" + }, + { + "match": "\\%", + "name": "keyword.operator.arithmetic.hcl" + }, + { + "match": "\\&\\&", + "name": "keyword.operator.logical.hcl" + }, + { + "match": "\\|\\|", + "name": "keyword.operator.logical.hcl" + }, + { + "match": "\\!", + "name": "keyword.operator.logical.hcl" + }, + { + "match": "\\>", + "name": "keyword.operator.hcl" + }, + { + "match": "\\<", + "name": "keyword.operator.hcl" + }, + { + "match": "\\?", + "name": "keyword.operator.hcl" + }, + { + "match": "\\.\\.\\.", + "name": "keyword.operator.hcl" + }, + { + "match": "\\:", + "scope": "keyword.operator.hcl" + } + ] + }, + "brackets": { + "begin": "\\[", + "beginCaptures": { + "0": { + "name": "punctuation.section.brackets.begin.hcl" + } + }, + "end": "(\\*?)\\]", + "endCaptures": { + "0": { + "name": "punctuation.section.brackets.end.hcl" + }, + "1": { + "name": "keyword.operator.splat.hcl" + } + }, + "patterns": [ + { + "include": "#comma" + }, + { + "include": "#comments" + }, + { + "include": "#inline_for_expression" + }, + { + "include": "#inline_if_expression" + }, + { + "include": "#expressions" + }, + { + "include": "#local_identifiers" + } + ] + }, + "objects": { + "name": "meta.braces.hcl", + "begin": "\\{", + "beginCaptures": { + "0": { + "name": "punctuation.section.braces.begin.hcl" + } + }, + "end": "\\}", + "endCaptures": { + "0": { + "name": "punctuation.section.braces.end.hcl" + } + }, + "patterns": [ + { + "include": "#comments" + }, + { + "include": "#objects" + }, + { + "include": "#inline_for_expression" + }, + { + "include": "#inline_if_expression" + }, + { + "match": "\\b((?!null|false|true)[[:alpha:]][[:alnum:]_-]*)\\s*(\\=\\>?)\\s*", + "comment": "Literal, named object key", + "captures": { + "1": { + "name": "meta.mapping.key.hcl variable.other.readwrite.hcl" + }, + "2": { + "name": "keyword.operator.assignment.hcl", + "patterns": [ + { + "match": "\\=\\>", + "name": "storage.type.function.hcl" + } + ] + } + } + }, + { + "match": "\\b((\").*(\"))\\s*(\\=)\\s*", + "comment": "String object key", + "captures": { + "0": { + "patterns": [ + { + "include": "#named_value_references" + } + ] + }, + "1": { + "name": "meta.mapping.key.hcl string.quoted.double.hcl" + }, + "2": { + "name": "punctuation.definition.string.begin.hcl" + }, + "3": { + "name": "punctuation.definition.string.end.hcl" + }, + "4": { + "name": "keyword.operator.hcl" + } + } + }, + { + "begin": "^\\s*\\(", + "comment": "Computed object key (any expression between parens)", + "name": "meta.mapping.key.hcl", + "beginCaptures": { + "0": { + "name": "punctuation.section.parens.begin.hcl" + } + }, + "end": "(\\))\\s*(\\=)\\s*", + "endCaptures": { + "1": { + "name": "punctuation.section.parens.end.hcl" + }, + "2": { + "name": "keyword.operator.hcl" + } + }, + "patterns": [ + { + "include": "#attribute_access" + } + ] + }, + { + "include": "#object_key_values" + } + ] + }, + "object_key_values": { + "patterns": [ + { + "include": "#comments" + }, + { + "include": "#literal_values" + }, + { + "include": "#operators" + }, + { + "include": "#tuple_for_expression" + }, + { + "include": "#object_for_expression" + }, + { + "include": "#heredoc" + }, + { + "include": "#functions" + } + ] + }, + "tuple_for_expression": { + "begin": "(\\[)\\s?(for)\\b", + "beginCaptures": { + "1": { + "name": "punctuation.section.brackets.begin.hcl" + }, + "2": { + "comment": "for expression (tuple)", + "name": "keyword.control.hcl" + } + }, + "end": "\\]", + "endCaptures": { + "0": { + "name": "punctuation.section.brackets.end.hcl" + } + }, + "patterns": [ + { + "include": "#for_expression_body" + } + ] + }, + "object_for_expression": { + "begin": "(\\{)\\s?(for)\\b", + "beginCaptures": { + "1": { + "name": "punctuation.section.braces.begin.hcl" + }, + "2": { + "comment": "for expression (object)", + "name": "keyword.control.hcl" + } + }, + "end": "\\}", + "endCaptures": { + "0": { + "name": "punctuation.section.braces.end.hcl" + } + }, + "patterns": [ + { + "match": "\\=\\>", + "name": "storage.type.function.hcl" + }, + { + "include": "#for_expression_body" + } + ] + }, + "inline_for_expression": { + "begin": "(for)\\b", + "beginCaptures": { + "1": { + "name": "keyword.control.hcl" + } + }, + "end": "\\n", + "patterns": [ + { + "match": "\\=\\>", + "name": "storage.type.function.hcl" + }, + { + "include": "#for_expression_body" + } + ] + }, + "inline_if_expression": { + "begin": "(if)\\b", + "beginCaptures": { + "1": { + "name": "keyword.control.conditional.hcl" + } + }, + "end": "\\n", + "patterns": [ + { + "include": "#expressions" + }, + { + "include": "#comments" + }, + { + "include": "#comma" + }, + { + "include": "#local_identifiers" + } + ] + }, + "for_expression_body": { + "patterns": [ + { + "match": "\\bin\\b", + "comment": "in keyword", + "name": "keyword.operator.word.hcl" + }, + { + "match": "\\bif\\b", + "comment": "if keyword", + "name": "keyword.control.conditional.hcl" + }, + { + "match": "\\:", + "name": "keyword.operator.hcl" + }, + { + "include": "#expressions" + }, + { + "include": "#comments" + }, + { + "include": "#comma" + }, + { + "include": "#local_identifiers" + } + ] + }, + "attribute_access": { + "begin": "\\.", + "beginCaptures": { + "0": { + "name": "keyword.operator.accessor.hcl" + } + }, + "end": "[[:alpha:]][[:alnum:]_-]*(\\[[0-9\\*]+\\])?", + "comment": "Matches a variable with an optional splat or index ([*]/[0])", + "endCaptures": { + "0": { + "patterns": [ + { + "match": "\\b(?!null|false|true)[[:alpha:]][[:alnum:]_-]*\\b", + "comment": "Attribute name including - and _", + "name": "variable.other.member.hcl" + }, + { + "match": "\\d+", + "comment": "Optional attribute index", + "name": "constant.numeric.integer.hcl" + }, + { + "match": "\\*", + "comment": "Optional attribute-only splat", + "name": "keyword.operator.splat.hcl" + } + ] + } + } + }, + "structural_types": { + "patterns": [ + { + "begin": "(object)(\\()(\\{)\\s*", + "name": "meta.function-call.hcl", + "comment": "Object structural type", + "beginCaptures": { + "1": { + "name": "support.function.builtin.hcl" + }, + "2": { + "name": "punctuation.section.parens.begin.hcl" + }, + "3": { + "name": "punctuation.section.braces.begin.hcl" + } + }, + "end": "(\\})(\\))", + "endCaptures": { + "1": { + "name": "punctuation.section.braces.end.hcl" + }, + "2": { + "name": "punctuation.section.parens.end.hcl" + } + }, + "patterns": [ + { + "include": "#comma" + }, + { + "match": "((?!null|false|true)[[:alpha:]][[:alnum:]_-]*)\\s*(\\=(?!\\=|\\>))\\s*", + "comment": "Identifier \"=\"", + "name": "variable.declaration.hcl", + "captures": { + "1": { + "name": "variable.other.readwrite.hcl" + }, + "2": { + "name": "keyword.operator.assignment.hcl" + } + } + }, + { + "include": "#hcl_type_keywords" + } + ] + }, + { + "begin": "(tuple)(\\()(\\[)\\s*", + "name": "meta.function-call.hcl", + "comment": "Tuple structural type", + "beginCaptures": { + "1": { + "name": "support.function.builtin.hcl" + }, + "2": { + "name": "punctuation.section.parens.begin.hcl" + }, + "3": { + "name": "punctuation.section.brackets.begin.hcl" + } + }, + "end": "(\\])(\\))", + "endCaptures": { + "1": { + "name": "punctuation.section.brackets.end.hcl" + }, + "2": { + "name": "punctuation.section.parens.end.hcl" + } + }, + "patterns": [ + { + "include": "#comma" + }, + { + "include": "#hcl_type_keywords" + } + ] + } + ] + }, + "functions": { + "begin": "(\\w+)(\\()", + "name": "meta.function-call.hcl", + "comment": "Built-in function calls", + "beginCaptures": { + "1": { + "patterns": [ + { + "match": "\\b(?!null|false|true)[[:alpha:]][[:alnum:]_-]*\\b", + "name": "variable.function.hcl" + } + ] + }, + "2": { + "name": "punctuation.section.parens.begin.hcl" + } + }, + "end": "\\)", + "endCaptures": { + "0": { + "name": "punctuation.section.parens.end.hcl" + } + }, + "patterns": [ + { + "include": "#comments" + }, + { + "include": "#expressions" + }, + { + "include": "#comma" + } + ] + }, + "parens": { + "begin": "\\(", + "comment": "Parens - matched *after* function syntax", + "beginCaptures": { + "0": { + "name": "punctuation.section.parens.begin.hcl" + } + }, + "end": "\\)", + "endCaptures": { + "0": { + "name": "punctuation.section.parens.end.hcl" + } + }, + "patterns": [ + { + "include": "#expressions" + }, + { + "include": "#local_identifiers" + } + ] + } + } +} diff --git a/syntaxes/terraform.tmGrammar.json b/syntaxes/terraform.tmGrammar.json index ed1d1f4..74e3dea 100644 --- a/syntaxes/terraform.tmGrammar.json +++ b/syntaxes/terraform.tmGrammar.json @@ -1,885 +1,108 @@ { - "scopeName": "source.terraform", - "fileTypes": [ - "tf", - "tfvars", - "hcl" - ], - "name": "Terraform", - "patterns": [ - { - "include": "#comments" - }, - { - "include": "#attribute_definition" - }, - { - "include": "#block" - }, - { - "include": "#expressions" - } - ], - "repository": { - "char_escapes": { - "match": "\\\\[nrt\"\\\\]|\\\\u(\\h{8}|\\h{4})", - "comment": "Character Escapes", - "name": "constant.character.escape.terraform" - }, - "comma": { - "match": "\\,", - "comment": "Commas - used in certain expressions", - "name": "punctuation.separator.terraform" - }, - "language_constants": { - "match": "\\b(true|false|null)\\b", - "comment": "Language Constants", - "name": "constant.language.terraform" - }, - "named_value_references": { - "match": "\\b(var|local|module|data|path|terraform)\\b", - "comment": "Constant values available only to Terraform.", - "name": "support.constant.terraform" - }, - "local_identifiers": { - "match": "\\b(?!null|false|true)[[:alpha:]][[:alnum:]_-]*\\b", - "comment": "Local Identifiers", - "name": "variable.other.readwrite.terraform" - }, - "terraform_type_keywords": { - "match": "\\b(any|string|number|bool)\\b", - "comment": "Type keywords known to Terraform.", - "name": "storage.type.terraform" - }, - "comments": { - "patterns": [ - { "include": "#hash_line_comments" }, - { "include": "#double_slash_line_comments" }, - { "include": "#block_inline_comments" } - ] - }, - "hash_line_comments": { - "name": "comment.line.number-sign.hcl", - "comment": "Line comments start with # sequence and end with the next newline sequence. A line comment is considered equivalent to a newline sequence", - "begin": "#", - "end": "$\\n?", - "captures": { - "0": { - "name": "punctuation.definition.comment.terraform" - } - } - }, - "double_slash_line_comments": { - "name": "comment.line.double-slash.hcl", - "comment": "Line comments start with // sequence and end with the next newline sequence. A line comment is considered equivalent to a newline sequence", - "begin": "//", - "captures": { - "0": { - "name": "punctuation.definition.comment.terraform" - } - }, - "end": "$\\n?" - }, - "block_inline_comments": { - "name": "comment.block.hcl", - "comment": "Inline comments start with the /* sequence and end with the */ sequence, and may have any characters within except the ending sequence. An inline comment is considered equivalent to a whitespace sequence", - "begin": "/\\*", - "captures": { - "0": { - "name": "punctuation.definition.comment.terraform" - } - }, - "end": "\\*/" - }, - "attribute_definition": { - "match": "(\\()?((?!null|false|true)[[:alpha:]][[:alnum:]_-]*)(\\))?\\s*(\\=(?!\\=|\\>))\\s*", - "comment": "Identifier \"=\" with optional parens", - "name": "variable.declaration.terraform", - "captures": { - "1": { - "name": "punctuation.section.parens.begin.terraform" - }, - "2": { - "name": "variable.other.readwrite.terraform" - }, - "3": { - "name": "punctuation.section.parens.end.terraform" - }, - "4": { - "name": "keyword.operator.assignment.terraform" - } - } - }, - "block": { - "name": "meta.block.terraform", - "comment": "This will match Terraform blocks like `resource \"aws_instance\" \"web\" {` or `module {`", - "begin": "(\\w+)(?:([\\s\\\"\\-[:word:]]*)(\\{))", - "beginCaptures": { - "1": { - "patterns": [ - { - "match": "\\b(?:resource|provider|variable|output|locals|module|data|terraform)\\b", - "name": "entity.name.type.terraform" - }, - { - "match": "\\b(?!null|false|true)[[:alpha:]][[:alnum:]_-]*\\b", - "comment": "Identifer label", - "name": "entity.name.label.terraform" - } - ] - }, - "2": { - "patterns": [ - { - "name":"entity.name.tag.terraform", - "begin": "\"", - "beginCaptures": { - "0": { - "name": "entity.name.tag.begin.terraform" - } - }, - "end": "\"", - "endCaptures": { - "0": { - "name": "entity.name.tag.end.terraform" - } - } - } - ] - }, - "3": { - "name": "punctuation.section.block.begin.terraform" - } - }, - "end": "\\}", - "endCaptures": { - "0": { - "name": "punctuation.section.block.end.terraform" - } - }, - "patterns": [ - { - "include": "#comments" - }, - { - "include": "#attribute_definition" - }, - { - "include": "#block" - }, - { - "include": "#expressions" - } - ] - }, - "expressions": { - "patterns": [ - { - "include": "#literal_values" - }, - { - "include": "#operators" - }, - { - "include": "#tuple_for_expression" - }, - { - "include": "#object_for_expression" - }, - { - "include": "#brackets" - }, - { - "include": "#objects" - }, - { - "include": "#attribute_access" - }, - { - "include": "#structural_types" - }, - { - "include": "#functions" - }, - { - "include": "#parens" - } - ] - }, - "literal_values": { - "patterns": [ - { - "include": "#numeric_literals" - }, - { - "include": "#language_constants" - }, - { - "include": "#string_literals" - }, - { - "include": "#heredoc" - }, - { - "include": "#terraform_type_keywords" - }, - { - "include": "#named_value_references" - } - ] - }, - "numeric_literals": { - "patterns": [ - { - "match": "\\b\\d+([Ee][+-]?)\\d+\\b", - "comment": "Integer, no fraction, optional exponent", - "name": "constant.numeric.float.terraform", - "captures": { - "1": { - "name": "punctuation.separator.exponent.terraform" - } - } - }, - { - "match": "\\b\\d+(\\.)\\d+(?:([Ee][+-]?)\\d+)?\\b", - "comment": "Integer, fraction, optional exponent", - "name": "constant.numeric.float.terraform", - "captures": { - "1": { - "name": "punctuation.separator.decimal.terraform" - }, - "2": { - "name": "punctuation.separator.exponent.terraform" - } - } - }, - { - "match": "\\b\\d+\\b", - "comment": "Integers", - "name": "constant.numeric.integer.terraform" - } - ] - }, - "string_literals": { - "begin": "\"", - "comment": "Strings", - "name": "string.quoted.double.terraform", - "beginCaptures": { - "0": { - "name": "punctuation.definition.string.begin.terraform" - } - }, - "end": "\"", - "endCaptures": { - "0": { - "name": "punctuation.definition.string.end.terraform" - } - }, - "patterns": [ - { - "include": "#string_interpolation" - }, - { - "include": "#char_escapes" - } - ] - }, - "string_interpolation": { - "begin": "(\\G|[^%$])([%$]{)", - "comment": "String interpolation", - "name": "meta.interpolation.terraform", - "beginCaptures": { - "2": { - "name": "keyword.other.interpolation.begin.terraform" - } - }, - "end": "\\}", - "endCaptures": { - "0": { - "name": "keyword.other.interpolation.end.terraform" - } - }, - "patterns": [ - { - "match": "\\~\\s", - "comment": "Trim left whitespace", - "name": "keyword.operator.template.left.trim.terraform" - }, - { - "match": "\\s\\~", - "comment": "Trim right whitespace", - "name": "keyword.operator.template.right.trim.terraform" - }, - { - "match": "\\b(if|else|endif|for|in|endfor)\\b", - "comment": "if/else/endif and for/in/endfor directives", - "name": "keyword.control.terraform" - }, - { - "include": "#expressions" - }, - { - "include": "#local_identifiers" - } - ] - }, - "heredoc": { - "begin": "(\\<\\<\\-?)\\s*(\\w+)\\s*$", - "comment": "String Heredoc", - "name": "string.unquoted.heredoc.terraform", - "beginCaptures": { - "1": { - "name": "keyword.operator.heredoc.terraform" - }, - "2": { - "name": "keyword.control.heredoc.terraform" - } - }, - "end": "^\\s*\\2\\s*$", - "endCaptures": { - "0": { - "comment": "The heredoc token identifier (second capture above).", - "name": "keyword.control.heredoc.terraform" - } - }, - "patterns": [ - { - "include": "#string_interpolation" - } - ] - }, - "operators": { - "patterns": [ - { - "match": "\\>\\=", - "name": "keyword.operator.terraform" - }, - { - "match": "\\<\\=", - "name": "keyword.operator.terraform" - }, - { - "match": "\\=\\=", - "name": "keyword.operator.terraform" - }, - { - "match": "\\!\\=", - "name": "keyword.operator.terraform" - }, - { - "match": "\\+", - "name": "keyword.operator.arithmetic.terraform" - }, - { - "match": "\\-", - "name": "keyword.operator.arithmetic.terraform" - }, - { - "match": "\\*", - "name": "keyword.operator.arithmetic.terraform" - }, - { - "match": "\\/", - "name": "keyword.operator.arithmetic.terraform" - }, - { - "match": "\\%", - "name": "keyword.operator.arithmetic.terraform" - }, - { - "match": "\\&\\&", - "name": "keyword.operator.logical.terraform" - }, - { - "match": "\\|\\|", - "name": "keyword.operator.logical.terraform" - }, - { - "match": "\\!", - "name": "keyword.operator.logical.terraform" - }, - { - "match": "\\>", - "name": "keyword.operator.terraform" - }, - { - "match": "\\<", - "name": "keyword.operator.terraform" - }, - { - "match": "\\?", - "name": "keyword.operator.terraform" - }, - { - "match": "\\.\\.\\.", - "name": "keyword.operator.terraform" - }, - { - "match": "\\:", - "scope": "keyword.operator.terraform" - } - ] - }, - "brackets": { - "begin": "\\[", - "beginCaptures": { - "0": { - "name": "punctuation.section.brackets.begin.terraform" - } - }, - "end": "(\\*?)\\]", - "endCaptures": { - "0": { - "name": "punctuation.section.brackets.end.terraform" - }, - "1": { - "name": "keyword.operator.splat.terraform" - } - }, - "patterns": [ - { - "include": "#comma" - }, - { - "include": "#comments" - }, - { - "include": "#inline_for_expression" - }, - { - "include": "#inline_if_expression" - }, - { - "include": "#expressions" - }, - { - "include": "#local_identifiers" - } - ] - }, - "objects": { - "name": "meta.braces.terraform", - "begin": "\\{", - "beginCaptures": { - "0": { - "name": "punctuation.section.braces.begin.terraform" - } - }, - "end": "\\}", - "endCaptures": { - "0": { - "name": "punctuation.section.braces.end.terraform" - } - }, - "patterns": [ - { - "include": "#comments" - }, - { - "include": "#objects" - }, - { - "include": "#inline_for_expression" - }, - { - "include": "#inline_if_expression" - }, - { - "match": "\\b((?!null|false|true)[[:alpha:]][[:alnum:]_-]*)\\s*(\\=\\>?)\\s*", - "comment": "Literal, named object key", - "captures": { - "1": { - "name": "meta.mapping.key.terraform variable.other.readwrite.terraform" - }, - "2": { - "name": "keyword.operator.assignment.terraform", - "patterns": [ - { - "match": "\\=\\>", - "name": "storage.type.function.terraform" - } - ] - } - } - }, - { - "match": "\\b((\").*(\"))\\s*(\\=)\\s*", - "comment": "String object key", - "captures": { - "0": { - "patterns": [ - { - "include": "#named_value_references" - } - ] - }, - "1": { - "name": "meta.mapping.key.terraform string.quoted.double.terraform" - }, - "2": { - "name": "punctuation.definition.string.begin.terraform" - }, - "3": { - "name": "punctuation.definition.string.end.terraform" - }, - "4": { - "name": "keyword.operator.terraform" - } - } - }, - { - "begin": "^\\s*\\(", - "comment": "Computed object key (any expression between parens)", - "name": "meta.mapping.key.terraform", - "beginCaptures": { - "0": { - "name": "punctuation.section.parens.begin.terraform" - } - }, - "end": "(\\))\\s*(\\=)\\s*", - "endCaptures": { - "1": { - "name": "punctuation.section.parens.end.terraform" - }, - "2": { - "name": "keyword.operator.terraform" - } - }, - "patterns": [ - { - "include": "#named_value_references" - }, - { - "include": "#attribute_access" - } - ] - }, - { - "include": "#object_key_values" - } - ] - }, - "object_key_values": { - "patterns": [ - { - "include": "#comments" - }, - { - "include": "#literal_values" - }, - { - "include": "#operators" - }, - { - "include": "#tuple_for_expression" - }, - { - "include": "#object_for_expression" - }, - { - "include": "#heredoc" - }, - { - "include": "#functions" - } - ] - }, - "tuple_for_expression": { - "begin": "(\\[)\\s?(for)\\b", - "beginCaptures": { - "1": { - "name": "punctuation.section.brackets.begin.terraform" - }, - "2": { - "comment": "for expression (tuple)", - "name": "keyword.control.terraform" - } - }, - "end": "\\]", - "endCaptures": { - "0": { - "name": "punctuation.section.brackets.end.terraform" - } - }, - "patterns": [ - { - "include": "#for_expression_body" - } - ] - }, - "object_for_expression": { - "begin": "(\\{)\\s?(for)\\b", - "beginCaptures": { - "1": { - "name": "punctuation.section.braces.begin.terraform" - }, - "2": { - "comment": "for expression (object)", - "name": "keyword.control.terraform" - } - }, - "end": "\\}", - "endCaptures": { - "0": { - "name": "punctuation.section.braces.end.terraform" - } - }, - "patterns": [ - { - "match": "\\=\\>", - "name": "storage.type.function.terraform" - }, - { - "include": "#for_expression_body" - } - ] - }, - "inline_for_expression": { - "begin": "(for)\\b", - "beginCaptures": { - "1": { - "name": "keyword.control.terraform" - } - }, - "end": "\\n", - "patterns": [ - { - "match": "\\=\\>", - "name": "storage.type.function.terraform" - }, - { - "include": "#for_expression_body" - } - ] - }, - "inline_if_expression": { - "begin": "(if)\\b", - "beginCaptures": { - "1": { - "name": "keyword.control.conditional.terraform" - } - }, - "end": "\\n", - "patterns": [ - { - "include": "#expressions" - }, - { - "include": "#comments" - }, - { - "include": "#comma" - }, - { - "include": "#local_identifiers" - } - ] - }, - "for_expression_body": { - "patterns": [ - { - "match": "\\bin\\b", - "comment": "in keyword", - "name": "keyword.operator.word.terraform" - }, - { - "match": "\\bif\\b", - "comment": "if keyword", - "name": "keyword.control.conditional.terraform" - }, - { - "match": "\\:", - "name": "keyword.operator.terraform" - }, - { - "include": "#expressions" - }, - { - "include": "#comments" - }, - { - "include": "#comma" - }, - { - "include": "#local_identifiers" - } - ] - }, - "attribute_access": { - "begin": "\\.", - "beginCaptures": { - "0": { - "name": "keyword.operator.accessor.terraform" - } - }, - "end": "[[:alpha:]][[:alnum:]_-]*(\\[[0-9\\*]+\\])?", - "comment": "Matches a variable with an optional splat or index ([*]/[0])", - "endCaptures": { - "0": { - "patterns": [ - { - "match": "\\b(?!null|false|true)[[:alpha:]][[:alnum:]_-]*\\b", - "comment": "Attribute name including - and _", - "name": "variable.other.member.terraform" - }, - { - "match": "\\d+", - "comment": "Optional attribute index", - "name": "constant.numeric.integer.terraform" - }, - { - "match": "\\*", - "comment": "Optional attribute-only splat", - "name": "keyword.operator.splat.terraform" - } - ] - } - } - }, - "structural_types": { - "patterns": [ - { - "begin": "(object)(\\()(\\{)\\s*", - "name": "meta.function-call.terraform", - "comment": "Object structural type", - "beginCaptures": { - "1": { - "name": "support.function.builtin.terraform" - }, - "2": { - "name": "punctuation.section.parens.begin.terraform" - }, - "3": { - "name": "punctuation.section.braces.begin.terraform" - } - }, - "end": "(\\})(\\))", - "endCaptures": { - "1": { - "name": "punctuation.section.braces.end.terraform" - }, - "2": { - "name": "punctuation.section.parens.end.terraform" - } - }, - "patterns": [ - { - "include": "#comma" - }, - { - "match": "((?!null|false|true)[[:alpha:]][[:alnum:]_-]*)\\s*(\\=(?!\\=|\\>))\\s*", - "comment": "Identifier \"=\"", - "name": "variable.declaration.terraform", - "captures": { - "1": { - "name": "variable.other.readwrite.terraform" - }, - "2": { - "name": "keyword.operator.assignment.terraform" - } - } - }, - { - "include": "#terraform_type_keywords" - } - ] - }, - { - "begin": "(tuple)(\\()(\\[)\\s*", - "name": "meta.function-call.terraform", - "comment": "Tuple structural type", - "beginCaptures": { - "1": { - "name": "support.function.builtin.terraform" - }, - "2": { - "name": "punctuation.section.parens.begin.terraform" - }, - "3": { - "name": "punctuation.section.brackets.begin.terraform" - } - }, - "end": "(\\])(\\))", - "endCaptures": { - "1": { - "name": "punctuation.section.brackets.end.terraform" - }, - "2": { - "name": "punctuation.section.parens.end.terraform" - } - }, - "patterns": [ - { - "include": "#comma" - }, - { - "include": "#terraform_type_keywords" - } - ] - } - ] - }, - "functions": { - "begin": "(\\w+)(\\()", - "name": "meta.function-call.terraform", - "comment": "Built-in function calls", - "beginCaptures": { - "1": { - "patterns": [ - { - "match": "abspath|abs|ceil|floor|log|max|min|pow|signum|chomp|formatlist|indent|join|lower|regexall|regex|replace|split|strrev|substr|title|trimspace|upper|chunklist|coalescelist|coalesce|compact|concat|contains|distinct|element|flatten|index|keys|length|lookup|matchkeys|merge|range|reverse|setintersection|setproduct|setunion|slice|sort|transpose|values|zipmap|base64decode|base64encode|base64gzip|csvdecode|jsondecode|jsonencode|urlencode|yamldecode|yamlencode|dirname|pathexpand|basename|fileexists|fileset|filebase64|templatefile|formatdate|timeadd|timestamp|base64sha256|base64sha512|bcrypt|filebase64sha256|filebase64sha512|filemd5|filemd1|filesha256|filesha512|md5|rsadecrypt|sha1|sha256|sha512|uuidv5|uuid|cidrhost|cidrnetmask|cidrsubnet|tobool|tolist|tomap|tonumber|toset|tostring|file|format|map|list", - "name": "support.function.builtin.terraform" - }, - { - "match": "\\b(?!null|false|true)[[:alpha:]][[:alnum:]_-]*\\b", - "name": "variable.function.terraform" - } - ] - }, - "2": { - "name": "punctuation.section.parens.begin.terraform" - } - }, - "end": "\\)", - "endCaptures": { - "0": { - "name": "punctuation.section.parens.end.terraform" - } - }, - "patterns": [ - { - "include": "#comments" - }, - { - "include": "#expressions" - }, - { - "include": "#comma" - } - ] - }, - "parens": { - "begin": "\\(", - "comment": "Parens - matched *after* function syntax", - "beginCaptures": { - "0": { - "name": "punctuation.section.parens.begin.terraform" - } - }, - "end": "\\)", - "endCaptures": { - "0": { - "name": "punctuation.section.parens.end.terraform" - } - }, - "patterns": [ - { - "include": "#expressions" - }, - { - "include": "#local_identifiers" - } - ] - } - } + "scopeName": "source.hcl.terraform", + "name": "HashiCorp Terraform", + "uuid": "d9db10d3-db70-48aa-8d44-f96ccbaa29f3", + "fileTypes": ["tf", "tfvars"], + "patterns": [ + { "include": "#block" }, + { "include": "#functions" }, + { "include": "#named_value_references" }, + { "include": "source.hcl" } + ], + "repository": { + "named_value_references": { + "match": "\\b(var|local|module|data|path|terraform)\\b", + "comment": "Constant values available only to Terraform.", + "name": "support.constant.terraform" + }, + "block": { + "name": "meta.block.hcl", + "comment": "This will match HCL blocks like `resource \"aws_instance\" \"web\" {` or `module {`", + "begin": "(\\w+)([\\s\\\"\\-\\w]*)(\\{)", + "beginCaptures": { + "1": { + "patterns": [ + { + "match": "\\bresource|provider|variable|output|locals|module|data|terraform\\b", + "comment": "Known block type", + "name": "entity.name.type.terraform" + }, + { + "match": "\\b(?!null|false|true)[[:alpha:]][[:alnum:]_-]*\\b", + "comment": "Unknown block type", + "name": "entity.name.label.hcl" + } + ] + }, + "2": { + "patterns": [ + { + "name": "variable.other.enummember.hcl", + "comment": "Block label", + "match": "[\\\"\\-\\w]+" + } + ] + }, + "3": { + "name": "punctuation.section.block.begin.hcl" + } + }, + "end": "\\}", + "endCaptures": { + "0": { + "name": "punctuation.section.block.end.hcl" + } + }, + "patterns": [ + { + "include": "#block" + }, + { + "include": "source.hcl#comments" + }, + { + "include": "source.hcl#attribute_definition" + }, + { + "include": "source.hcl#block" + }, + { + "include": "source.hcl#expressions" + } + ] + }, + "functions": { + "begin": "(\\w+)(\\()", + "name": "meta.function-call.hcl", + "comment": "Built-in function calls", + "beginCaptures": { + "1": { + "patterns": [ + { + "match": "abspath|abs|ceil|floor|log|max|min|pow|signum|chomp|formatlist|indent|join|lower|regexall|regex|replace|split|strrev|substr|title|trimspace|upper|chunklist|coalescelist|coalesce|compact|concat|contains|distinct|element|flatten|index|keys|length|lookup|matchkeys|merge|range|reverse|setintersection|setproduct|setunion|slice|sort|transpose|values|zipmap|base64decode|base64encode|base64gzip|csvdecode|jsondecode|jsonencode|urlencode|yamldecode|yamlencode|dirname|pathexpand|basename|fileexists|fileset|filebase64|templatefile|formatdate|timeadd|timestamp|base64sha256|base64sha512|bcrypt|filebase64sha256|filebase64sha512|filemd5|filemd1|filesha256|filesha512|md5|rsadecrypt|sha1|sha256|sha512|uuidv5|uuid|cidrhost|cidrnetmask|cidrsubnet|tobool|tolist|tomap|tonumber|toset|tostring|file|format|map|list", + "name": "support.function.builtin.terraform" + }, + { + "match": "\\b(?!null|false|true)[[:alpha:]][[:alnum:]_-]*\\b", + "name": "variable.function.hcl" + } + ] + }, + "2": { + "name": "punctuation.section.parens.begin.hcl" + } + }, + "end": "\\)", + "endCaptures": { + "0": { + "name": "punctuation.section.parens.end.hcl" + } + }, + "patterns": [ + { "include": "source.hcl#comments" }, + { "include": "source.hcl#expressions" }, + { "include": "source.hcl#comma" } + ] + } + } } From 23c98e38721f5e3a46d9d91b0753ba7955a16c21 Mon Sep 17 00:00:00 2001 From: James Pogran Date: Thu, 3 Mar 2022 11:56:59 -0500 Subject: [PATCH 2/5] snaps --- tests/snapshot/hcl/basic.hcl | 27 + tests/snapshot/hcl/basic.hcl.snap | 132 ++++ tests/snapshot/hcl/blocks.hcl | 8 + tests/snapshot/hcl/blocks.hcl.snap | 55 ++ tests/snapshot/hcl/comments.hcl | 7 + tests/snapshot/hcl/comments.hcl.snap | 15 + tests/snapshot/hcl/data_sources.hcl | 9 + tests/snapshot/hcl/data_sources.hcl.snap | 58 ++ .../snapshot/hcl/expressions_conditional.hcl | 3 + .../hcl/expressions_conditional.hcl.snap | 52 ++ tests/snapshot/hcl/expressions_dynamic.hcl | 26 + .../snapshot/hcl/expressions_dynamic.hcl.snap | 168 +++++ tests/snapshot/hcl/expressions_for.hcl | 33 + tests/snapshot/hcl/expressions_for.hcl.snap | 330 +++++++++ tests/snapshot/hcl/expressions_functions.hcl | 37 + .../hcl/expressions_functions.hcl.snap | 360 ++++++++++ tests/snapshot/hcl/expressions_operators.hcl | 25 + .../hcl/expressions_operators.hcl.snap | 80 +++ tests/snapshot/hcl/expressions_splat.hcl | 5 + tests/snapshot/hcl/expressions_splat.hcl.snap | 44 ++ tests/snapshot/hcl/expressions_strings.hcl | 44 ++ .../snapshot/hcl/expressions_strings.hcl.snap | 199 ++++++ tests/snapshot/hcl/issue927.hcl | 16 + tests/snapshot/hcl/issue927.hcl.snap | 97 +++ tests/snapshot/hcl/modules.hcl | 11 + tests/snapshot/hcl/modules.hcl.snap | 53 ++ tests/snapshot/hcl/nested_maps.hcl | 27 + tests/snapshot/hcl/nested_maps.hcl.snap | 162 +++++ tests/snapshot/hcl/providers.hcl | 4 + tests/snapshot/hcl/providers.hcl.snap | 27 + tests/snapshot/hcl/variables_input.hcl | 35 + tests/snapshot/hcl/variables_input.hcl.snap | 219 ++++++ tests/snapshot/hcl/variables_local.hcl | 23 + tests/snapshot/hcl/variables_local.hcl.snap | 118 ++++ tests/snapshot/hcl/variables_output.hcl | 12 + tests/snapshot/hcl/variables_output.hcl.snap | 66 ++ tests/snapshot/terraform/basic.tf.snap | 174 +++-- tests/snapshot/terraform/blocks.tf.snap | 96 ++- tests/snapshot/terraform/comments.tf.snap | 14 +- tests/snapshot/terraform/data_sources.tf.snap | 100 ++- .../terraform/expressions_conditional.tf.snap | 98 +-- .../terraform/expressions_dynamic.tf.snap | 292 ++++---- .../terraform/expressions_for.tf.snap | 592 ++++++++-------- .../terraform/expressions_functions.tf | 4 + .../terraform/expressions_functions.tf.snap | 640 +++++++++--------- .../terraform/expressions_operators.tf.snap | 108 +-- .../terraform/expressions_splat.tf.snap | 76 +-- .../terraform/expressions_strings.tf.snap | 308 ++++----- tests/snapshot/terraform/issue927.tf.snap | 172 +++-- tests/snapshot/terraform/modules.tf.snap | 88 ++- tests/snapshot/terraform/nested_maps.tf.snap | 268 ++++---- tests/snapshot/terraform/providers.tf.snap | 46 +- .../terraform/variables_input.tf.snap | 374 +++++----- .../terraform/variables_local.tf.snap | 194 +++--- .../terraform/variables_output.tf.snap | 110 ++- tests/unit/terraform/basic.tf | 119 ---- tests/unit/terraform/resource.tf | 7 - 57 files changed, 4442 insertions(+), 2025 deletions(-) create mode 100644 tests/snapshot/hcl/basic.hcl create mode 100644 tests/snapshot/hcl/basic.hcl.snap create mode 100644 tests/snapshot/hcl/blocks.hcl create mode 100644 tests/snapshot/hcl/blocks.hcl.snap create mode 100644 tests/snapshot/hcl/comments.hcl create mode 100644 tests/snapshot/hcl/comments.hcl.snap create mode 100644 tests/snapshot/hcl/data_sources.hcl create mode 100644 tests/snapshot/hcl/data_sources.hcl.snap create mode 100644 tests/snapshot/hcl/expressions_conditional.hcl create mode 100644 tests/snapshot/hcl/expressions_conditional.hcl.snap create mode 100644 tests/snapshot/hcl/expressions_dynamic.hcl create mode 100644 tests/snapshot/hcl/expressions_dynamic.hcl.snap create mode 100644 tests/snapshot/hcl/expressions_for.hcl create mode 100644 tests/snapshot/hcl/expressions_for.hcl.snap create mode 100644 tests/snapshot/hcl/expressions_functions.hcl create mode 100644 tests/snapshot/hcl/expressions_functions.hcl.snap create mode 100644 tests/snapshot/hcl/expressions_operators.hcl create mode 100644 tests/snapshot/hcl/expressions_operators.hcl.snap create mode 100644 tests/snapshot/hcl/expressions_splat.hcl create mode 100644 tests/snapshot/hcl/expressions_splat.hcl.snap create mode 100644 tests/snapshot/hcl/expressions_strings.hcl create mode 100644 tests/snapshot/hcl/expressions_strings.hcl.snap create mode 100644 tests/snapshot/hcl/issue927.hcl create mode 100644 tests/snapshot/hcl/issue927.hcl.snap create mode 100644 tests/snapshot/hcl/modules.hcl create mode 100644 tests/snapshot/hcl/modules.hcl.snap create mode 100644 tests/snapshot/hcl/nested_maps.hcl create mode 100644 tests/snapshot/hcl/nested_maps.hcl.snap create mode 100644 tests/snapshot/hcl/providers.hcl create mode 100644 tests/snapshot/hcl/providers.hcl.snap create mode 100644 tests/snapshot/hcl/variables_input.hcl create mode 100644 tests/snapshot/hcl/variables_input.hcl.snap create mode 100644 tests/snapshot/hcl/variables_local.hcl create mode 100644 tests/snapshot/hcl/variables_local.hcl.snap create mode 100644 tests/snapshot/hcl/variables_output.hcl create mode 100644 tests/snapshot/hcl/variables_output.hcl.snap delete mode 100644 tests/unit/terraform/basic.tf delete mode 100644 tests/unit/terraform/resource.tf diff --git a/tests/snapshot/hcl/basic.hcl b/tests/snapshot/hcl/basic.hcl new file mode 100644 index 0000000..d73afd8 --- /dev/null +++ b/tests/snapshot/hcl/basic.hcl @@ -0,0 +1,27 @@ +# line comment + +// line comment + +/* + Block comment +*/ + +io_mode = "async" + +service "http" "web_proxy" { + listen_addr = "127.0.0.1:8080" + + process "main" { + command = ["/usr/local/bin/awesome-app", "server"] + } + + process "mgmt" { + command = ["/usr/local/bin/awesome-app", "mgmt"] + } +} + +sum = 1 + addend + +message = "Hello, ${name}!" + +shouty_message = upper(message) diff --git a/tests/snapshot/hcl/basic.hcl.snap b/tests/snapshot/hcl/basic.hcl.snap new file mode 100644 index 0000000..80ed23c --- /dev/null +++ b/tests/snapshot/hcl/basic.hcl.snap @@ -0,0 +1,132 @@ +># line comment +#^ source.hcl comment.line.number-sign.hcl punctuation.definition.comment.hcl +# ^^^^^^^^^^^^^ source.hcl comment.line.number-sign.hcl +> +>// line comment +#^^ source.hcl comment.line.double-slash.hcl punctuation.definition.comment.hcl +# ^^^^^^^^^^^^^ source.hcl comment.line.double-slash.hcl +> +>/* +#^^ source.hcl comment.block.hcl punctuation.definition.comment.hcl +> Block comment +#^^^^^^^^^^^^^^^^ source.hcl comment.block.hcl +>*/ +#^^ source.hcl comment.block.hcl punctuation.definition.comment.hcl +> +>io_mode = "async" +#^^^^^^^ source.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl variable.declaration.hcl +# ^ source.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl variable.declaration.hcl +# ^ source.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^ source.hcl string.quoted.double.hcl +# ^ source.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +> +>service "http" "web_proxy" { +#^^^^^^^ source.hcl meta.block.hcl entity.name.type.hcl +# ^ source.hcl meta.block.hcl +# ^^^^^^ source.hcl meta.block.hcl variable.other.enummember.hcl +# ^ source.hcl meta.block.hcl +# ^^^^^^^^^^^ source.hcl meta.block.hcl variable.other.enummember.hcl +# ^ source.hcl meta.block.hcl +# ^ source.hcl meta.block.hcl punctuation.section.block.begin.hcl +> listen_addr = "127.0.0.1:8080" +#^^ source.hcl meta.block.hcl +# ^^^^^^^^^^^ source.hcl meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^^^^^^^^ source.hcl meta.block.hcl string.quoted.double.hcl +# ^ source.hcl meta.block.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +> +> process "main" { +#^^ source.hcl meta.block.hcl +# ^^^^^^^ source.hcl meta.block.hcl meta.block.hcl entity.name.type.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl +# ^^^^^^ source.hcl meta.block.hcl meta.block.hcl variable.other.enummember.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl punctuation.section.block.begin.hcl +> command = ["/usr/local/bin/awesome-app", "server"] +#^^^^ source.hcl meta.block.hcl meta.block.hcl +# ^^^^^^^ source.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl punctuation.section.brackets.begin.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^^^^^^^^^^^^^^^^^^^^ source.hcl meta.block.hcl meta.block.hcl string.quoted.double.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl punctuation.separator.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^ source.hcl meta.block.hcl meta.block.hcl string.quoted.double.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl punctuation.section.brackets.end.hcl +> } +#^^ source.hcl meta.block.hcl meta.block.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl punctuation.section.block.end.hcl +> +> process "mgmt" { +#^^ source.hcl meta.block.hcl +# ^^^^^^^ source.hcl meta.block.hcl meta.block.hcl entity.name.type.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl +# ^^^^^^ source.hcl meta.block.hcl meta.block.hcl variable.other.enummember.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl punctuation.section.block.begin.hcl +> command = ["/usr/local/bin/awesome-app", "mgmt"] +#^^^^ source.hcl meta.block.hcl meta.block.hcl +# ^^^^^^^ source.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl punctuation.section.brackets.begin.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^^^^^^^^^^^^^^^^^^^^ source.hcl meta.block.hcl meta.block.hcl string.quoted.double.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl punctuation.separator.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^ source.hcl meta.block.hcl meta.block.hcl string.quoted.double.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl punctuation.section.brackets.end.hcl +> } +#^^ source.hcl meta.block.hcl meta.block.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl punctuation.section.block.end.hcl +>} +#^ source.hcl meta.block.hcl punctuation.section.block.end.hcl +> +>sum = 1 + addend +#^^^ source.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl variable.declaration.hcl +# ^ source.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl variable.declaration.hcl +# ^ source.hcl constant.numeric.integer.hcl +# ^ source.hcl +# ^ source.hcl keyword.operator.arithmetic.hcl +# ^^^^^^^^ source.hcl +> +>message = "Hello, ${name}!" +#^^^^^^^ source.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl variable.declaration.hcl +# ^ source.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl variable.declaration.hcl +# ^ source.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^ source.hcl string.quoted.double.hcl +# ^ source.hcl string.quoted.double.hcl meta.interpolation.hcl +# ^^ source.hcl string.quoted.double.hcl meta.interpolation.hcl keyword.other.interpolation.begin.hcl +# ^^^^ source.hcl string.quoted.double.hcl meta.interpolation.hcl variable.other.readwrite.hcl +# ^ source.hcl string.quoted.double.hcl meta.interpolation.hcl keyword.other.interpolation.end.hcl +# ^ source.hcl string.quoted.double.hcl +# ^ source.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +> +>shouty_message = upper(message) +#^^^^^^^^^^^^^^ source.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl variable.declaration.hcl +# ^ source.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl variable.declaration.hcl +# ^^^^^ source.hcl meta.function-call.hcl variable.function.hcl +# ^ source.hcl meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^^^^^^^ source.hcl meta.function-call.hcl +# ^ source.hcl meta.function-call.hcl punctuation.section.parens.end.hcl +> \ No newline at end of file diff --git a/tests/snapshot/hcl/blocks.hcl b/tests/snapshot/hcl/blocks.hcl new file mode 100644 index 0000000..67c0378 --- /dev/null +++ b/tests/snapshot/hcl/blocks.hcl @@ -0,0 +1,8 @@ +resource "aws_instance" "web" { + ami = "ami-a1b2c3d4" + instance_type = "t2.micro" + timeouts { + create = "60m" + delete = "2h" + } +} diff --git a/tests/snapshot/hcl/blocks.hcl.snap b/tests/snapshot/hcl/blocks.hcl.snap new file mode 100644 index 0000000..a661011 --- /dev/null +++ b/tests/snapshot/hcl/blocks.hcl.snap @@ -0,0 +1,55 @@ +>resource "aws_instance" "web" { +#^^^^^^^^ source.hcl meta.block.hcl entity.name.type.hcl +# ^ source.hcl meta.block.hcl +# ^^^^^^^^^^^^^^ source.hcl meta.block.hcl variable.other.enummember.hcl +# ^ source.hcl meta.block.hcl +# ^^^^^ source.hcl meta.block.hcl variable.other.enummember.hcl +# ^ source.hcl meta.block.hcl +# ^ source.hcl meta.block.hcl punctuation.section.block.begin.hcl +> ami = "ami-a1b2c3d4" +#^^ source.hcl meta.block.hcl +# ^^^ source.hcl meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^^^^^^^^^^^ source.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^^^^^^ source.hcl meta.block.hcl string.quoted.double.hcl +# ^ source.hcl meta.block.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +> instance_type = "t2.micro" +#^^ source.hcl meta.block.hcl +# ^^^^^^^^^^^^^ source.hcl meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^^ source.hcl meta.block.hcl string.quoted.double.hcl +# ^ source.hcl meta.block.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +> timeouts { +#^^ source.hcl meta.block.hcl +# ^^^^^^^^ source.hcl meta.block.hcl meta.block.hcl entity.name.type.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl punctuation.section.block.begin.hcl +> create = "60m" +#^^^^ source.hcl meta.block.hcl meta.block.hcl +# ^^^^^^ source.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^ source.hcl meta.block.hcl meta.block.hcl string.quoted.double.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +> delete = "2h" +#^^^^ source.hcl meta.block.hcl meta.block.hcl +# ^^^^^^ source.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^ source.hcl meta.block.hcl meta.block.hcl string.quoted.double.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +> } +#^^ source.hcl meta.block.hcl meta.block.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl punctuation.section.block.end.hcl +>} +#^ source.hcl meta.block.hcl punctuation.section.block.end.hcl +> \ No newline at end of file diff --git a/tests/snapshot/hcl/comments.hcl b/tests/snapshot/hcl/comments.hcl new file mode 100644 index 0000000..4ef4034 --- /dev/null +++ b/tests/snapshot/hcl/comments.hcl @@ -0,0 +1,7 @@ +# line comment + +// line comment + +/* + Block comment +*/ diff --git a/tests/snapshot/hcl/comments.hcl.snap b/tests/snapshot/hcl/comments.hcl.snap new file mode 100644 index 0000000..14d000c --- /dev/null +++ b/tests/snapshot/hcl/comments.hcl.snap @@ -0,0 +1,15 @@ +># line comment +#^ source.hcl comment.line.number-sign.hcl punctuation.definition.comment.hcl +# ^^^^^^^^^^^^^ source.hcl comment.line.number-sign.hcl +> +>// line comment +#^^ source.hcl comment.line.double-slash.hcl punctuation.definition.comment.hcl +# ^^^^^^^^^^^^^ source.hcl comment.line.double-slash.hcl +> +>/* +#^^ source.hcl comment.block.hcl punctuation.definition.comment.hcl +> Block comment +#^^^^^^^^^^^^^^^^ source.hcl comment.block.hcl +>*/ +#^^ source.hcl comment.block.hcl punctuation.definition.comment.hcl +> \ No newline at end of file diff --git a/tests/snapshot/hcl/data_sources.hcl b/tests/snapshot/hcl/data_sources.hcl new file mode 100644 index 0000000..209d07d --- /dev/null +++ b/tests/snapshot/hcl/data_sources.hcl @@ -0,0 +1,9 @@ +data "aws_ami" "example" { + most_recent = true + + owners = ["self"] + tags = { + Name = "app-server" + Tested = "true" + } +} diff --git a/tests/snapshot/hcl/data_sources.hcl.snap b/tests/snapshot/hcl/data_sources.hcl.snap new file mode 100644 index 0000000..b99d755 --- /dev/null +++ b/tests/snapshot/hcl/data_sources.hcl.snap @@ -0,0 +1,58 @@ +>data "aws_ami" "example" { +#^^^^ source.hcl meta.block.hcl entity.name.type.hcl +# ^ source.hcl meta.block.hcl +# ^^^^^^^^^ source.hcl meta.block.hcl variable.other.enummember.hcl +# ^ source.hcl meta.block.hcl +# ^^^^^^^^^ source.hcl meta.block.hcl variable.other.enummember.hcl +# ^ source.hcl meta.block.hcl +# ^ source.hcl meta.block.hcl punctuation.section.block.begin.hcl +> most_recent = true +#^^ source.hcl meta.block.hcl +# ^^^^^^^^^^^ source.hcl meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl +# ^^^^ source.hcl meta.block.hcl constant.language.hcl +> +> owners = ["self"] +#^^ source.hcl meta.block.hcl +# ^^^^^^ source.hcl meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl punctuation.section.brackets.begin.hcl +# ^ source.hcl meta.block.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^ source.hcl meta.block.hcl string.quoted.double.hcl +# ^ source.hcl meta.block.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl meta.block.hcl punctuation.section.brackets.end.hcl +> tags = { +#^^ source.hcl meta.block.hcl +# ^^^^ source.hcl meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl meta.braces.hcl punctuation.section.braces.begin.hcl +> Name = "app-server" +#^^^^ source.hcl meta.block.hcl meta.braces.hcl +# ^^^^ source.hcl meta.block.hcl meta.braces.hcl meta.mapping.key.hcl variable.other.readwrite.hcl +# ^^^ source.hcl meta.block.hcl meta.braces.hcl +# ^ source.hcl meta.block.hcl meta.braces.hcl keyword.operator.assignment.hcl +# ^ source.hcl meta.block.hcl meta.braces.hcl +# ^ source.hcl meta.block.hcl meta.braces.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^^^^ source.hcl meta.block.hcl meta.braces.hcl string.quoted.double.hcl +# ^ source.hcl meta.block.hcl meta.braces.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +> Tested = "true" +#^^^^ source.hcl meta.block.hcl meta.braces.hcl +# ^^^^^^ source.hcl meta.block.hcl meta.braces.hcl meta.mapping.key.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl meta.braces.hcl +# ^ source.hcl meta.block.hcl meta.braces.hcl keyword.operator.assignment.hcl +# ^ source.hcl meta.block.hcl meta.braces.hcl +# ^ source.hcl meta.block.hcl meta.braces.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^ source.hcl meta.block.hcl meta.braces.hcl string.quoted.double.hcl +# ^ source.hcl meta.block.hcl meta.braces.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +> } +#^^ source.hcl meta.block.hcl meta.braces.hcl +# ^ source.hcl meta.block.hcl meta.braces.hcl punctuation.section.braces.end.hcl +>} +#^ source.hcl meta.block.hcl punctuation.section.block.end.hcl +> \ No newline at end of file diff --git a/tests/snapshot/hcl/expressions_conditional.hcl b/tests/snapshot/hcl/expressions_conditional.hcl new file mode 100644 index 0000000..f9e1f6b --- /dev/null +++ b/tests/snapshot/hcl/expressions_conditional.hcl @@ -0,0 +1,3 @@ +var.a != "" ? var.a : "default-a" +var.example ? tostring(12) : "hello" +var.example ? 12 : "hello" diff --git a/tests/snapshot/hcl/expressions_conditional.hcl.snap b/tests/snapshot/hcl/expressions_conditional.hcl.snap new file mode 100644 index 0000000..53dbde9 --- /dev/null +++ b/tests/snapshot/hcl/expressions_conditional.hcl.snap @@ -0,0 +1,52 @@ +>var.a != "" ? var.a : "default-a" +#^^^ source.hcl +# ^ source.hcl keyword.operator.accessor.hcl +# ^ source.hcl variable.other.member.hcl +# ^ source.hcl +# ^^ source.hcl keyword.operator.hcl +# ^ source.hcl +# ^ source.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^ source.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl +# ^ source.hcl keyword.operator.hcl +# ^^^^ source.hcl +# ^ source.hcl keyword.operator.accessor.hcl +# ^ source.hcl variable.other.member.hcl +# ^ source.hcl +# ^ source.hcl +# ^ source.hcl +# ^ source.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^^^ source.hcl string.quoted.double.hcl +# ^ source.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +>var.example ? tostring(12) : "hello" +#^^^ source.hcl +# ^ source.hcl keyword.operator.accessor.hcl +# ^^^^^^^ source.hcl variable.other.member.hcl +# ^ source.hcl +# ^ source.hcl keyword.operator.hcl +# ^ source.hcl +# ^^^^^^^^ source.hcl meta.function-call.hcl variable.function.hcl +# ^ source.hcl meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^^ source.hcl meta.function-call.hcl constant.numeric.integer.hcl +# ^ source.hcl meta.function-call.hcl punctuation.section.parens.end.hcl +# ^ source.hcl +# ^ source.hcl +# ^ source.hcl +# ^ source.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^ source.hcl string.quoted.double.hcl +# ^ source.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +>var.example ? 12 : "hello" +#^^^ source.hcl +# ^ source.hcl keyword.operator.accessor.hcl +# ^^^^^^^ source.hcl variable.other.member.hcl +# ^ source.hcl +# ^ source.hcl keyword.operator.hcl +# ^ source.hcl +# ^^ source.hcl constant.numeric.integer.hcl +# ^ source.hcl +# ^ source.hcl +# ^ source.hcl +# ^ source.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^ source.hcl string.quoted.double.hcl +# ^ source.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +> \ No newline at end of file diff --git a/tests/snapshot/hcl/expressions_dynamic.hcl b/tests/snapshot/hcl/expressions_dynamic.hcl new file mode 100644 index 0000000..413f41c --- /dev/null +++ b/tests/snapshot/hcl/expressions_dynamic.hcl @@ -0,0 +1,26 @@ +resource "thing" "name" { + name = "tf-test-name" + + dynamic "setting" { + for_each = var.settings + content { + namespace = setting.value["namespace"] + name = setting.value["name"] + value = setting.value["value"] + } + } + + dynamic "origin_group" { + for_each = var.load_balancer_origin_groups + content { + name = origin_group.key + + dynamic "origin" { + for_each = origin_group.value.origins + content { + hostname = origin.value.hostname + } + } + } + } +} diff --git a/tests/snapshot/hcl/expressions_dynamic.hcl.snap b/tests/snapshot/hcl/expressions_dynamic.hcl.snap new file mode 100644 index 0000000..14150ac --- /dev/null +++ b/tests/snapshot/hcl/expressions_dynamic.hcl.snap @@ -0,0 +1,168 @@ +>resource "thing" "name" { +#^^^^^^^^ source.hcl meta.block.hcl entity.name.type.hcl +# ^ source.hcl meta.block.hcl +# ^^^^^^^ source.hcl meta.block.hcl variable.other.enummember.hcl +# ^ source.hcl meta.block.hcl +# ^^^^^^ source.hcl meta.block.hcl variable.other.enummember.hcl +# ^ source.hcl meta.block.hcl +# ^ source.hcl meta.block.hcl punctuation.section.block.begin.hcl +> name = "tf-test-name" +#^^ source.hcl meta.block.hcl +# ^^^^ source.hcl meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^^^^^^ source.hcl meta.block.hcl string.quoted.double.hcl +# ^ source.hcl meta.block.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +> +> dynamic "setting" { +#^^ source.hcl meta.block.hcl +# ^^^^^^^ source.hcl meta.block.hcl meta.block.hcl entity.name.type.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl +# ^^^^^^^^^ source.hcl meta.block.hcl meta.block.hcl variable.other.enummember.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl punctuation.section.block.begin.hcl +> for_each = var.settings +#^^^^ source.hcl meta.block.hcl meta.block.hcl +# ^^^^^^^^ source.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl +# ^^^ source.hcl meta.block.hcl meta.block.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl keyword.operator.accessor.hcl +# ^^^^^^^^ source.hcl meta.block.hcl meta.block.hcl variable.other.member.hcl +> content { +#^^^^ source.hcl meta.block.hcl meta.block.hcl +# ^^^^^^^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl entity.name.type.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl punctuation.section.block.begin.hcl +> namespace = setting.value["namespace"] +#^^^^^^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl +# ^^^^^^^^^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl +# ^^^^^^^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl keyword.operator.accessor.hcl +# ^^^^^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl variable.other.member.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl punctuation.section.brackets.begin.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^^^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl string.quoted.double.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl punctuation.section.brackets.end.hcl +> name = setting.value["name"] +#^^^^^^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl +# ^^^^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl +# ^^^^^^^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl keyword.operator.accessor.hcl +# ^^^^^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl variable.other.member.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl punctuation.section.brackets.begin.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl string.quoted.double.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl punctuation.section.brackets.end.hcl +> value = setting.value["value"] +#^^^^^^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl +# ^^^^^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl +# ^^^^^^^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl keyword.operator.accessor.hcl +# ^^^^^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl variable.other.member.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl punctuation.section.brackets.begin.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl string.quoted.double.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl punctuation.section.brackets.end.hcl +> } +#^^^^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl punctuation.section.block.end.hcl +> } +#^^ source.hcl meta.block.hcl meta.block.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl punctuation.section.block.end.hcl +> +> dynamic "origin_group" { +#^^ source.hcl meta.block.hcl +# ^^^^^^^ source.hcl meta.block.hcl meta.block.hcl entity.name.type.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl +# ^^^^^^^^^^^^^^ source.hcl meta.block.hcl meta.block.hcl variable.other.enummember.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl punctuation.section.block.begin.hcl +> for_each = var.load_balancer_origin_groups +#^^^^ source.hcl meta.block.hcl meta.block.hcl +# ^^^^^^^^ source.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl +# ^^^ source.hcl meta.block.hcl meta.block.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl keyword.operator.accessor.hcl +# ^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.hcl meta.block.hcl meta.block.hcl variable.other.member.hcl +> content { +#^^^^ source.hcl meta.block.hcl meta.block.hcl +# ^^^^^^^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl entity.name.type.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl punctuation.section.block.begin.hcl +> name = origin_group.key +#^^^^^^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl +# ^^^^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl +# ^^^^^^^^^^^^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl keyword.operator.accessor.hcl +# ^^^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl variable.other.member.hcl +> +> dynamic "origin" { +#^^^^^^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl +# ^^^^^^^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl entity.name.type.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl +# ^^^^^^^^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl variable.other.enummember.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl punctuation.section.block.begin.hcl +> for_each = origin_group.value.origins +#^^^^^^^^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl +# ^^^^^^^^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl +# ^^^^^^^^^^^^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl keyword.operator.accessor.hcl +# ^^^^^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl variable.other.member.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl keyword.operator.accessor.hcl +# ^^^^^^^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl variable.other.member.hcl +> content { +#^^^^^^^^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl +# ^^^^^^^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl entity.name.type.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl punctuation.section.block.begin.hcl +> hostname = origin.value.hostname +#^^^^^^^^^^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl +# ^^^^^^^^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl +# ^^^^^^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl keyword.operator.accessor.hcl +# ^^^^^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl variable.other.member.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl keyword.operator.accessor.hcl +# ^^^^^^^^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl variable.other.member.hcl +> } +#^^^^^^^^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl punctuation.section.block.end.hcl +> } +#^^^^^^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl punctuation.section.block.end.hcl +> } +#^^^^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl meta.block.hcl punctuation.section.block.end.hcl +> } +#^^ source.hcl meta.block.hcl meta.block.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl punctuation.section.block.end.hcl +>} +#^ source.hcl meta.block.hcl punctuation.section.block.end.hcl +> \ No newline at end of file diff --git a/tests/snapshot/hcl/expressions_for.hcl b/tests/snapshot/hcl/expressions_for.hcl new file mode 100644 index 0000000..e50a622 --- /dev/null +++ b/tests/snapshot/hcl/expressions_for.hcl @@ -0,0 +1,33 @@ +[for s in var.list : upper(s)] + +[for k, v in var.map : length(k) + length(v)] + +[for i, v in var.list : "${i} is ${v}"] + +{for s in var.list : s => upper(s)} + +[for s in var.list : upper(s) if s != ""] + +locals { + admin_users = { + for name, user in var.users : name => user if user.is_admin + } + regular_users = { + for name, user in var.users : name => user + if !user.is_admin + } + admin_users_list = [ + for name, user in var.users : name if user.is_admin + ] + regular_users_list = [ + for name, user in var.users : name + if !user.is_admin + ] +} + +locals { + users_by_role = { + for name, user in var.users : user.role => name... + } +} + diff --git a/tests/snapshot/hcl/expressions_for.hcl.snap b/tests/snapshot/hcl/expressions_for.hcl.snap new file mode 100644 index 0000000..fd39720 --- /dev/null +++ b/tests/snapshot/hcl/expressions_for.hcl.snap @@ -0,0 +1,330 @@ +>[for s in var.list : upper(s)] +#^ source.hcl punctuation.section.brackets.begin.hcl +# ^^^ source.hcl keyword.control.hcl +# ^ source.hcl +# ^ source.hcl variable.other.readwrite.hcl +# ^ source.hcl +# ^^ source.hcl keyword.operator.word.hcl +# ^ source.hcl +# ^^^ source.hcl variable.other.readwrite.hcl +# ^ source.hcl keyword.operator.accessor.hcl +# ^^^^ source.hcl variable.other.member.hcl +# ^ source.hcl +# ^ source.hcl keyword.operator.hcl +# ^ source.hcl +# ^^^^^ source.hcl meta.function-call.hcl variable.function.hcl +# ^ source.hcl meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^ source.hcl meta.function-call.hcl +# ^ source.hcl meta.function-call.hcl punctuation.section.parens.end.hcl +# ^ source.hcl punctuation.section.brackets.end.hcl +> +>[for k, v in var.map : length(k) + length(v)] +#^ source.hcl punctuation.section.brackets.begin.hcl +# ^^^ source.hcl keyword.control.hcl +# ^ source.hcl +# ^ source.hcl variable.other.readwrite.hcl +# ^ source.hcl punctuation.separator.hcl +# ^ source.hcl +# ^ source.hcl variable.other.readwrite.hcl +# ^ source.hcl +# ^^ source.hcl keyword.operator.word.hcl +# ^ source.hcl +# ^^^ source.hcl variable.other.readwrite.hcl +# ^ source.hcl keyword.operator.accessor.hcl +# ^^^ source.hcl variable.other.member.hcl +# ^ source.hcl +# ^ source.hcl keyword.operator.hcl +# ^ source.hcl +# ^^^^^^ source.hcl meta.function-call.hcl variable.function.hcl +# ^ source.hcl meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^ source.hcl meta.function-call.hcl +# ^ source.hcl meta.function-call.hcl punctuation.section.parens.end.hcl +# ^ source.hcl +# ^ source.hcl keyword.operator.arithmetic.hcl +# ^ source.hcl +# ^^^^^^ source.hcl meta.function-call.hcl variable.function.hcl +# ^ source.hcl meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^ source.hcl meta.function-call.hcl +# ^ source.hcl meta.function-call.hcl punctuation.section.parens.end.hcl +# ^ source.hcl punctuation.section.brackets.end.hcl +> +>[for i, v in var.list : "${i} is ${v}"] +#^ source.hcl punctuation.section.brackets.begin.hcl +# ^^^ source.hcl keyword.control.hcl +# ^ source.hcl +# ^ source.hcl variable.other.readwrite.hcl +# ^ source.hcl punctuation.separator.hcl +# ^ source.hcl +# ^ source.hcl variable.other.readwrite.hcl +# ^ source.hcl +# ^^ source.hcl keyword.operator.word.hcl +# ^ source.hcl +# ^^^ source.hcl variable.other.readwrite.hcl +# ^ source.hcl keyword.operator.accessor.hcl +# ^^^^ source.hcl variable.other.member.hcl +# ^ source.hcl +# ^ source.hcl keyword.operator.hcl +# ^ source.hcl +# ^ source.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^ source.hcl string.quoted.double.hcl meta.interpolation.hcl keyword.other.interpolation.begin.hcl +# ^ source.hcl string.quoted.double.hcl meta.interpolation.hcl variable.other.readwrite.hcl +# ^ source.hcl string.quoted.double.hcl meta.interpolation.hcl keyword.other.interpolation.end.hcl +# ^^^ source.hcl string.quoted.double.hcl +# ^ source.hcl string.quoted.double.hcl meta.interpolation.hcl +# ^^ source.hcl string.quoted.double.hcl meta.interpolation.hcl keyword.other.interpolation.begin.hcl +# ^ source.hcl string.quoted.double.hcl meta.interpolation.hcl variable.other.readwrite.hcl +# ^ source.hcl string.quoted.double.hcl meta.interpolation.hcl keyword.other.interpolation.end.hcl +# ^ source.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl punctuation.section.brackets.end.hcl +> +>{for s in var.list : s => upper(s)} +#^ source.hcl punctuation.section.braces.begin.hcl +# ^^^ source.hcl keyword.control.hcl +# ^ source.hcl +# ^ source.hcl variable.other.readwrite.hcl +# ^ source.hcl +# ^^ source.hcl keyword.operator.word.hcl +# ^ source.hcl +# ^^^ source.hcl variable.other.readwrite.hcl +# ^ source.hcl keyword.operator.accessor.hcl +# ^^^^ source.hcl variable.other.member.hcl +# ^ source.hcl +# ^ source.hcl keyword.operator.hcl +# ^ source.hcl +# ^ source.hcl variable.other.readwrite.hcl +# ^ source.hcl +# ^^ source.hcl storage.type.function.hcl +# ^ source.hcl +# ^^^^^ source.hcl meta.function-call.hcl variable.function.hcl +# ^ source.hcl meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^ source.hcl meta.function-call.hcl +# ^ source.hcl meta.function-call.hcl punctuation.section.parens.end.hcl +# ^ source.hcl punctuation.section.braces.end.hcl +> +>[for s in var.list : upper(s) if s != ""] +#^ source.hcl punctuation.section.brackets.begin.hcl +# ^^^ source.hcl keyword.control.hcl +# ^ source.hcl +# ^ source.hcl variable.other.readwrite.hcl +# ^ source.hcl +# ^^ source.hcl keyword.operator.word.hcl +# ^ source.hcl +# ^^^ source.hcl variable.other.readwrite.hcl +# ^ source.hcl keyword.operator.accessor.hcl +# ^^^^ source.hcl variable.other.member.hcl +# ^ source.hcl +# ^ source.hcl keyword.operator.hcl +# ^ source.hcl +# ^^^^^ source.hcl meta.function-call.hcl variable.function.hcl +# ^ source.hcl meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^ source.hcl meta.function-call.hcl +# ^ source.hcl meta.function-call.hcl punctuation.section.parens.end.hcl +# ^ source.hcl +# ^^ source.hcl keyword.control.conditional.hcl +# ^ source.hcl +# ^ source.hcl variable.other.readwrite.hcl +# ^ source.hcl +# ^^ source.hcl keyword.operator.hcl +# ^ source.hcl +# ^ source.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^ source.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl punctuation.section.brackets.end.hcl +> +>locals { +#^^^^^^ source.hcl meta.block.hcl entity.name.type.hcl +# ^ source.hcl meta.block.hcl +# ^ source.hcl meta.block.hcl punctuation.section.block.begin.hcl +> admin_users = { +#^^ source.hcl meta.block.hcl +# ^^^^^^^^^^^ source.hcl meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl meta.braces.hcl punctuation.section.braces.begin.hcl +> for name, user in var.users : name => user if user.is_admin +#^^^^ source.hcl meta.block.hcl meta.braces.hcl +# ^^^ source.hcl meta.block.hcl meta.braces.hcl keyword.control.hcl +# ^ source.hcl meta.block.hcl meta.braces.hcl +# ^^^^ source.hcl meta.block.hcl meta.braces.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl meta.braces.hcl punctuation.separator.hcl +# ^ source.hcl meta.block.hcl meta.braces.hcl +# ^^^^ source.hcl meta.block.hcl meta.braces.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl meta.braces.hcl +# ^^ source.hcl meta.block.hcl meta.braces.hcl keyword.operator.word.hcl +# ^ source.hcl meta.block.hcl meta.braces.hcl +# ^^^ source.hcl meta.block.hcl meta.braces.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl meta.braces.hcl keyword.operator.accessor.hcl +# ^^^^^ source.hcl meta.block.hcl meta.braces.hcl variable.other.member.hcl +# ^ source.hcl meta.block.hcl meta.braces.hcl +# ^ source.hcl meta.block.hcl meta.braces.hcl keyword.operator.hcl +# ^ source.hcl meta.block.hcl meta.braces.hcl +# ^^^^ source.hcl meta.block.hcl meta.braces.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl meta.braces.hcl +# ^^ source.hcl meta.block.hcl meta.braces.hcl storage.type.function.hcl +# ^ source.hcl meta.block.hcl meta.braces.hcl +# ^^^^ source.hcl meta.block.hcl meta.braces.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl meta.braces.hcl +# ^^ source.hcl meta.block.hcl meta.braces.hcl keyword.control.conditional.hcl +# ^ source.hcl meta.block.hcl meta.braces.hcl +# ^^^^ source.hcl meta.block.hcl meta.braces.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl meta.braces.hcl keyword.operator.accessor.hcl +# ^^^^^^^^ source.hcl meta.block.hcl meta.braces.hcl variable.other.member.hcl +> } +#^^ source.hcl meta.block.hcl meta.braces.hcl +# ^ source.hcl meta.block.hcl meta.braces.hcl punctuation.section.braces.end.hcl +> regular_users = { +#^^ source.hcl meta.block.hcl +# ^^^^^^^^^^^^^ source.hcl meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl meta.braces.hcl punctuation.section.braces.begin.hcl +> for name, user in var.users : name => user +#^^^^ source.hcl meta.block.hcl meta.braces.hcl +# ^^^ source.hcl meta.block.hcl meta.braces.hcl keyword.control.hcl +# ^ source.hcl meta.block.hcl meta.braces.hcl +# ^^^^ source.hcl meta.block.hcl meta.braces.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl meta.braces.hcl punctuation.separator.hcl +# ^ source.hcl meta.block.hcl meta.braces.hcl +# ^^^^ source.hcl meta.block.hcl meta.braces.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl meta.braces.hcl +# ^^ source.hcl meta.block.hcl meta.braces.hcl keyword.operator.word.hcl +# ^ source.hcl meta.block.hcl meta.braces.hcl +# ^^^ source.hcl meta.block.hcl meta.braces.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl meta.braces.hcl keyword.operator.accessor.hcl +# ^^^^^ source.hcl meta.block.hcl meta.braces.hcl variable.other.member.hcl +# ^ source.hcl meta.block.hcl meta.braces.hcl +# ^ source.hcl meta.block.hcl meta.braces.hcl keyword.operator.hcl +# ^ source.hcl meta.block.hcl meta.braces.hcl +# ^^^^ source.hcl meta.block.hcl meta.braces.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl meta.braces.hcl +# ^^ source.hcl meta.block.hcl meta.braces.hcl storage.type.function.hcl +# ^ source.hcl meta.block.hcl meta.braces.hcl +# ^^^^ source.hcl meta.block.hcl meta.braces.hcl variable.other.readwrite.hcl +> if !user.is_admin +#^^^^ source.hcl meta.block.hcl meta.braces.hcl +# ^^ source.hcl meta.block.hcl meta.braces.hcl keyword.control.conditional.hcl +# ^ source.hcl meta.block.hcl meta.braces.hcl +# ^ source.hcl meta.block.hcl meta.braces.hcl keyword.operator.logical.hcl +# ^^^^ source.hcl meta.block.hcl meta.braces.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl meta.braces.hcl keyword.operator.accessor.hcl +# ^^^^^^^^ source.hcl meta.block.hcl meta.braces.hcl variable.other.member.hcl +> } +#^^ source.hcl meta.block.hcl meta.braces.hcl +# ^ source.hcl meta.block.hcl meta.braces.hcl punctuation.section.braces.end.hcl +> admin_users_list = [ +#^^ source.hcl meta.block.hcl +# ^^^^^^^^^^^^^^^^ source.hcl meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl punctuation.section.brackets.begin.hcl +> for name, user in var.users : name if user.is_admin +#^^^^ source.hcl meta.block.hcl +# ^^^ source.hcl meta.block.hcl keyword.control.hcl +# ^ source.hcl meta.block.hcl +# ^^^^ source.hcl meta.block.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl punctuation.separator.hcl +# ^ source.hcl meta.block.hcl +# ^^^^ source.hcl meta.block.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl +# ^^ source.hcl meta.block.hcl keyword.operator.word.hcl +# ^ source.hcl meta.block.hcl +# ^^^ source.hcl meta.block.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl keyword.operator.accessor.hcl +# ^^^^^ source.hcl meta.block.hcl variable.other.member.hcl +# ^ source.hcl meta.block.hcl +# ^ source.hcl meta.block.hcl keyword.operator.hcl +# ^ source.hcl meta.block.hcl +# ^^^^ source.hcl meta.block.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl +# ^^ source.hcl meta.block.hcl keyword.control.conditional.hcl +# ^ source.hcl meta.block.hcl +# ^^^^ source.hcl meta.block.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl keyword.operator.accessor.hcl +# ^^^^^^^^ source.hcl meta.block.hcl variable.other.member.hcl +> ] +#^^ source.hcl meta.block.hcl +# ^ source.hcl meta.block.hcl punctuation.section.brackets.end.hcl +> regular_users_list = [ +#^^ source.hcl meta.block.hcl +# ^^^^^^^^^^^^^^^^^^ source.hcl meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl punctuation.section.brackets.begin.hcl +> for name, user in var.users : name +#^^^^ source.hcl meta.block.hcl +# ^^^ source.hcl meta.block.hcl keyword.control.hcl +# ^ source.hcl meta.block.hcl +# ^^^^ source.hcl meta.block.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl punctuation.separator.hcl +# ^ source.hcl meta.block.hcl +# ^^^^ source.hcl meta.block.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl +# ^^ source.hcl meta.block.hcl keyword.operator.word.hcl +# ^ source.hcl meta.block.hcl +# ^^^ source.hcl meta.block.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl keyword.operator.accessor.hcl +# ^^^^^ source.hcl meta.block.hcl variable.other.member.hcl +# ^ source.hcl meta.block.hcl +# ^ source.hcl meta.block.hcl keyword.operator.hcl +# ^ source.hcl meta.block.hcl +# ^^^^ source.hcl meta.block.hcl variable.other.readwrite.hcl +> if !user.is_admin +#^^^^ source.hcl meta.block.hcl +# ^^ source.hcl meta.block.hcl keyword.control.conditional.hcl +# ^ source.hcl meta.block.hcl +# ^ source.hcl meta.block.hcl keyword.operator.logical.hcl +# ^^^^ source.hcl meta.block.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl keyword.operator.accessor.hcl +# ^^^^^^^^ source.hcl meta.block.hcl variable.other.member.hcl +> ] +#^^ source.hcl meta.block.hcl +# ^ source.hcl meta.block.hcl punctuation.section.brackets.end.hcl +>} +#^ source.hcl meta.block.hcl punctuation.section.block.end.hcl +> +>locals { +#^^^^^^ source.hcl meta.block.hcl entity.name.type.hcl +# ^ source.hcl meta.block.hcl +# ^ source.hcl meta.block.hcl punctuation.section.block.begin.hcl +> users_by_role = { +#^^ source.hcl meta.block.hcl +# ^^^^^^^^^^^^^ source.hcl meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl meta.braces.hcl punctuation.section.braces.begin.hcl +> for name, user in var.users : user.role => name... +#^^^^ source.hcl meta.block.hcl meta.braces.hcl +# ^^^ source.hcl meta.block.hcl meta.braces.hcl keyword.control.hcl +# ^ source.hcl meta.block.hcl meta.braces.hcl +# ^^^^ source.hcl meta.block.hcl meta.braces.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl meta.braces.hcl punctuation.separator.hcl +# ^ source.hcl meta.block.hcl meta.braces.hcl +# ^^^^ source.hcl meta.block.hcl meta.braces.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl meta.braces.hcl +# ^^ source.hcl meta.block.hcl meta.braces.hcl keyword.operator.word.hcl +# ^ source.hcl meta.block.hcl meta.braces.hcl +# ^^^ source.hcl meta.block.hcl meta.braces.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl meta.braces.hcl keyword.operator.accessor.hcl +# ^^^^^ source.hcl meta.block.hcl meta.braces.hcl variable.other.member.hcl +# ^ source.hcl meta.block.hcl meta.braces.hcl +# ^ source.hcl meta.block.hcl meta.braces.hcl keyword.operator.hcl +# ^ source.hcl meta.block.hcl meta.braces.hcl +# ^^^^ source.hcl meta.block.hcl meta.braces.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl meta.braces.hcl keyword.operator.accessor.hcl +# ^^^^ source.hcl meta.block.hcl meta.braces.hcl variable.other.member.hcl +# ^ source.hcl meta.block.hcl meta.braces.hcl +# ^^ source.hcl meta.block.hcl meta.braces.hcl storage.type.function.hcl +# ^ source.hcl meta.block.hcl meta.braces.hcl +# ^^^^ source.hcl meta.block.hcl meta.braces.hcl variable.other.readwrite.hcl +# ^^^ source.hcl meta.block.hcl meta.braces.hcl keyword.operator.hcl +> } +#^^ source.hcl meta.block.hcl meta.braces.hcl +# ^ source.hcl meta.block.hcl meta.braces.hcl punctuation.section.braces.end.hcl +>} +#^ source.hcl meta.block.hcl punctuation.section.block.end.hcl +> +> \ No newline at end of file diff --git a/tests/snapshot/hcl/expressions_functions.hcl b/tests/snapshot/hcl/expressions_functions.hcl new file mode 100644 index 0000000..227e0d4 --- /dev/null +++ b/tests/snapshot/hcl/expressions_functions.hcl @@ -0,0 +1,37 @@ +# numeric + +abs(23) +ceil(5) +floor(5) +log(50, 10) +max(12, 54, 3) +min(12, 54, 3) +parseint("100", 10) +pow(3, 2) +signum(-13) + +# string + +chomp("hello\n") +format("Hello, %s!", "Ander") +formatlist("Hello, %s!", ["Valentina", "Ander", "Olivia", "Sam"]) +formatlist("%s, %s!", "Salutations", ["Valentina", "Ander", "Olivia", "Sam"]) +" items: ${indent(2, "[\n foo,\n bar,\n]\n")}" +join(", ", ["foo", "bar", "baz"]) +lower("HELLO") +regex("[a-z]+", "53453453.345345aaabbbccc23454") +regexall("[a-z]+", "1234abcd5678efgh9") +replace("1 + 2 + 3", "+", "-") +split(",", "foo,bar,baz") +strrev("hello") +substr("hello world", 1, 4) +title("hello world") +trim("?!hello?!", "!?") +trimprefix("helloworld", "hello") +trimsuffix("helloworld", "world") +trimspace(" hello\n\n") +upper("hello") + +# known + +foo("bar") diff --git a/tests/snapshot/hcl/expressions_functions.hcl.snap b/tests/snapshot/hcl/expressions_functions.hcl.snap new file mode 100644 index 0000000..ae332e0 --- /dev/null +++ b/tests/snapshot/hcl/expressions_functions.hcl.snap @@ -0,0 +1,360 @@ +># numeric +#^ source.hcl comment.line.number-sign.hcl punctuation.definition.comment.hcl +# ^^^^^^^^ source.hcl comment.line.number-sign.hcl +> +>abs(23) +#^^^ source.hcl meta.function-call.hcl variable.function.hcl +# ^ source.hcl meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^^ source.hcl meta.function-call.hcl constant.numeric.integer.hcl +# ^ source.hcl meta.function-call.hcl punctuation.section.parens.end.hcl +>ceil(5) +#^^^^ source.hcl meta.function-call.hcl variable.function.hcl +# ^ source.hcl meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^ source.hcl meta.function-call.hcl constant.numeric.integer.hcl +# ^ source.hcl meta.function-call.hcl punctuation.section.parens.end.hcl +>floor(5) +#^^^^^ source.hcl meta.function-call.hcl variable.function.hcl +# ^ source.hcl meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^ source.hcl meta.function-call.hcl constant.numeric.integer.hcl +# ^ source.hcl meta.function-call.hcl punctuation.section.parens.end.hcl +>log(50, 10) +#^^^ source.hcl meta.function-call.hcl variable.function.hcl +# ^ source.hcl meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^^ source.hcl meta.function-call.hcl constant.numeric.integer.hcl +# ^ source.hcl meta.function-call.hcl punctuation.separator.hcl +# ^ source.hcl meta.function-call.hcl +# ^^ source.hcl meta.function-call.hcl constant.numeric.integer.hcl +# ^ source.hcl meta.function-call.hcl punctuation.section.parens.end.hcl +>max(12, 54, 3) +#^^^ source.hcl meta.function-call.hcl variable.function.hcl +# ^ source.hcl meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^^ source.hcl meta.function-call.hcl constant.numeric.integer.hcl +# ^ source.hcl meta.function-call.hcl punctuation.separator.hcl +# ^ source.hcl meta.function-call.hcl +# ^^ source.hcl meta.function-call.hcl constant.numeric.integer.hcl +# ^ source.hcl meta.function-call.hcl punctuation.separator.hcl +# ^ source.hcl meta.function-call.hcl +# ^ source.hcl meta.function-call.hcl constant.numeric.integer.hcl +# ^ source.hcl meta.function-call.hcl punctuation.section.parens.end.hcl +>min(12, 54, 3) +#^^^ source.hcl meta.function-call.hcl variable.function.hcl +# ^ source.hcl meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^^ source.hcl meta.function-call.hcl constant.numeric.integer.hcl +# ^ source.hcl meta.function-call.hcl punctuation.separator.hcl +# ^ source.hcl meta.function-call.hcl +# ^^ source.hcl meta.function-call.hcl constant.numeric.integer.hcl +# ^ source.hcl meta.function-call.hcl punctuation.separator.hcl +# ^ source.hcl meta.function-call.hcl +# ^ source.hcl meta.function-call.hcl constant.numeric.integer.hcl +# ^ source.hcl meta.function-call.hcl punctuation.section.parens.end.hcl +>parseint("100", 10) +#^^^^^^^^ source.hcl meta.function-call.hcl variable.function.hcl +# ^ source.hcl meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^ source.hcl meta.function-call.hcl string.quoted.double.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl meta.function-call.hcl punctuation.separator.hcl +# ^ source.hcl meta.function-call.hcl +# ^^ source.hcl meta.function-call.hcl constant.numeric.integer.hcl +# ^ source.hcl meta.function-call.hcl punctuation.section.parens.end.hcl +>pow(3, 2) +#^^^ source.hcl meta.function-call.hcl variable.function.hcl +# ^ source.hcl meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^ source.hcl meta.function-call.hcl constant.numeric.integer.hcl +# ^ source.hcl meta.function-call.hcl punctuation.separator.hcl +# ^ source.hcl meta.function-call.hcl +# ^ source.hcl meta.function-call.hcl constant.numeric.integer.hcl +# ^ source.hcl meta.function-call.hcl punctuation.section.parens.end.hcl +>signum(-13) +#^^^^^^ source.hcl meta.function-call.hcl variable.function.hcl +# ^ source.hcl meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^ source.hcl meta.function-call.hcl keyword.operator.arithmetic.hcl +# ^^ source.hcl meta.function-call.hcl constant.numeric.integer.hcl +# ^ source.hcl meta.function-call.hcl punctuation.section.parens.end.hcl +> +># string +#^ source.hcl comment.line.number-sign.hcl punctuation.definition.comment.hcl +# ^^^^^^^ source.hcl comment.line.number-sign.hcl +> +>chomp("hello\n") +#^^^^^ source.hcl meta.function-call.hcl variable.function.hcl +# ^ source.hcl meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^ source.hcl meta.function-call.hcl string.quoted.double.hcl +# ^^ source.hcl meta.function-call.hcl string.quoted.double.hcl constant.character.escape.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl meta.function-call.hcl punctuation.section.parens.end.hcl +>format("Hello, %s!", "Ander") +#^^^^^^ source.hcl meta.function-call.hcl variable.function.hcl +# ^ source.hcl meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^^^^ source.hcl meta.function-call.hcl string.quoted.double.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl meta.function-call.hcl punctuation.separator.hcl +# ^ source.hcl meta.function-call.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^ source.hcl meta.function-call.hcl string.quoted.double.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl meta.function-call.hcl punctuation.section.parens.end.hcl +>formatlist("Hello, %s!", ["Valentina", "Ander", "Olivia", "Sam"]) +#^^^^^^^^^^ source.hcl meta.function-call.hcl variable.function.hcl +# ^ source.hcl meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^^^^ source.hcl meta.function-call.hcl string.quoted.double.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl meta.function-call.hcl punctuation.separator.hcl +# ^ source.hcl meta.function-call.hcl +# ^ source.hcl meta.function-call.hcl punctuation.section.brackets.begin.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^^^ source.hcl meta.function-call.hcl string.quoted.double.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl meta.function-call.hcl punctuation.separator.hcl +# ^ source.hcl meta.function-call.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^ source.hcl meta.function-call.hcl string.quoted.double.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl meta.function-call.hcl punctuation.separator.hcl +# ^ source.hcl meta.function-call.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^ source.hcl meta.function-call.hcl string.quoted.double.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl meta.function-call.hcl punctuation.separator.hcl +# ^ source.hcl meta.function-call.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^ source.hcl meta.function-call.hcl string.quoted.double.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl meta.function-call.hcl punctuation.section.brackets.end.hcl +# ^ source.hcl meta.function-call.hcl punctuation.section.parens.end.hcl +>formatlist("%s, %s!", "Salutations", ["Valentina", "Ander", "Olivia", "Sam"]) +#^^^^^^^^^^ source.hcl meta.function-call.hcl variable.function.hcl +# ^ source.hcl meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^ source.hcl meta.function-call.hcl string.quoted.double.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl meta.function-call.hcl punctuation.separator.hcl +# ^ source.hcl meta.function-call.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^^^^^ source.hcl meta.function-call.hcl string.quoted.double.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl meta.function-call.hcl punctuation.separator.hcl +# ^ source.hcl meta.function-call.hcl +# ^ source.hcl meta.function-call.hcl punctuation.section.brackets.begin.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^^^ source.hcl meta.function-call.hcl string.quoted.double.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl meta.function-call.hcl punctuation.separator.hcl +# ^ source.hcl meta.function-call.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^ source.hcl meta.function-call.hcl string.quoted.double.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl meta.function-call.hcl punctuation.separator.hcl +# ^ source.hcl meta.function-call.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^ source.hcl meta.function-call.hcl string.quoted.double.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl meta.function-call.hcl punctuation.separator.hcl +# ^ source.hcl meta.function-call.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^ source.hcl meta.function-call.hcl string.quoted.double.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl meta.function-call.hcl punctuation.section.brackets.end.hcl +# ^ source.hcl meta.function-call.hcl punctuation.section.parens.end.hcl +>" items: ${indent(2, "[\n foo,\n bar,\n]\n")}" +#^ source.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^^ source.hcl string.quoted.double.hcl +# ^ source.hcl string.quoted.double.hcl meta.interpolation.hcl +# ^^ source.hcl string.quoted.double.hcl meta.interpolation.hcl keyword.other.interpolation.begin.hcl +# ^^^^^^ source.hcl string.quoted.double.hcl meta.interpolation.hcl meta.function-call.hcl variable.function.hcl +# ^ source.hcl string.quoted.double.hcl meta.interpolation.hcl meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^ source.hcl string.quoted.double.hcl meta.interpolation.hcl meta.function-call.hcl constant.numeric.integer.hcl +# ^ source.hcl string.quoted.double.hcl meta.interpolation.hcl meta.function-call.hcl punctuation.separator.hcl +# ^ source.hcl string.quoted.double.hcl meta.interpolation.hcl meta.function-call.hcl +# ^ source.hcl string.quoted.double.hcl meta.interpolation.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^ source.hcl string.quoted.double.hcl meta.interpolation.hcl meta.function-call.hcl string.quoted.double.hcl +# ^^ source.hcl string.quoted.double.hcl meta.interpolation.hcl meta.function-call.hcl string.quoted.double.hcl constant.character.escape.hcl +# ^^^^^^ source.hcl string.quoted.double.hcl meta.interpolation.hcl meta.function-call.hcl string.quoted.double.hcl +# ^^ source.hcl string.quoted.double.hcl meta.interpolation.hcl meta.function-call.hcl string.quoted.double.hcl constant.character.escape.hcl +# ^^^^^^ source.hcl string.quoted.double.hcl meta.interpolation.hcl meta.function-call.hcl string.quoted.double.hcl +# ^^ source.hcl string.quoted.double.hcl meta.interpolation.hcl meta.function-call.hcl string.quoted.double.hcl constant.character.escape.hcl +# ^ source.hcl string.quoted.double.hcl meta.interpolation.hcl meta.function-call.hcl string.quoted.double.hcl +# ^^ source.hcl string.quoted.double.hcl meta.interpolation.hcl meta.function-call.hcl string.quoted.double.hcl constant.character.escape.hcl +# ^ source.hcl string.quoted.double.hcl meta.interpolation.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl string.quoted.double.hcl meta.interpolation.hcl meta.function-call.hcl punctuation.section.parens.end.hcl +# ^ source.hcl string.quoted.double.hcl meta.interpolation.hcl keyword.other.interpolation.end.hcl +# ^ source.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +>join(", ", ["foo", "bar", "baz"]) +#^^^^ source.hcl meta.function-call.hcl variable.function.hcl +# ^ source.hcl meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^ source.hcl meta.function-call.hcl string.quoted.double.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl meta.function-call.hcl punctuation.separator.hcl +# ^ source.hcl meta.function-call.hcl +# ^ source.hcl meta.function-call.hcl punctuation.section.brackets.begin.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^ source.hcl meta.function-call.hcl string.quoted.double.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl meta.function-call.hcl punctuation.separator.hcl +# ^ source.hcl meta.function-call.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^ source.hcl meta.function-call.hcl string.quoted.double.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl meta.function-call.hcl punctuation.separator.hcl +# ^ source.hcl meta.function-call.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^ source.hcl meta.function-call.hcl string.quoted.double.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl meta.function-call.hcl punctuation.section.brackets.end.hcl +# ^ source.hcl meta.function-call.hcl punctuation.section.parens.end.hcl +>lower("HELLO") +#^^^^^ source.hcl meta.function-call.hcl variable.function.hcl +# ^ source.hcl meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^ source.hcl meta.function-call.hcl string.quoted.double.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl meta.function-call.hcl punctuation.section.parens.end.hcl +>regex("[a-z]+", "53453453.345345aaabbbccc23454") +#^^^^^ source.hcl meta.function-call.hcl variable.function.hcl +# ^ source.hcl meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^ source.hcl meta.function-call.hcl string.quoted.double.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl meta.function-call.hcl punctuation.separator.hcl +# ^ source.hcl meta.function-call.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.hcl meta.function-call.hcl string.quoted.double.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl meta.function-call.hcl punctuation.section.parens.end.hcl +>regexall("[a-z]+", "1234abcd5678efgh9") +#^^^^^^^^ source.hcl meta.function-call.hcl variable.function.hcl +# ^ source.hcl meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^ source.hcl meta.function-call.hcl string.quoted.double.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl meta.function-call.hcl punctuation.separator.hcl +# ^ source.hcl meta.function-call.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^^^^^^^^^^^ source.hcl meta.function-call.hcl string.quoted.double.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl meta.function-call.hcl punctuation.section.parens.end.hcl +>replace("1 + 2 + 3", "+", "-") +#^^^^^^^ source.hcl meta.function-call.hcl variable.function.hcl +# ^ source.hcl meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^^^ source.hcl meta.function-call.hcl string.quoted.double.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl meta.function-call.hcl punctuation.separator.hcl +# ^ source.hcl meta.function-call.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl meta.function-call.hcl punctuation.separator.hcl +# ^ source.hcl meta.function-call.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl meta.function-call.hcl punctuation.section.parens.end.hcl +>split(",", "foo,bar,baz") +#^^^^^ source.hcl meta.function-call.hcl variable.function.hcl +# ^ source.hcl meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl meta.function-call.hcl punctuation.separator.hcl +# ^ source.hcl meta.function-call.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^^^^^ source.hcl meta.function-call.hcl string.quoted.double.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl meta.function-call.hcl punctuation.section.parens.end.hcl +>strrev("hello") +#^^^^^^ source.hcl meta.function-call.hcl variable.function.hcl +# ^ source.hcl meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^ source.hcl meta.function-call.hcl string.quoted.double.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl meta.function-call.hcl punctuation.section.parens.end.hcl +>substr("hello world", 1, 4) +#^^^^^^ source.hcl meta.function-call.hcl variable.function.hcl +# ^ source.hcl meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^^^^^ source.hcl meta.function-call.hcl string.quoted.double.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl meta.function-call.hcl punctuation.separator.hcl +# ^ source.hcl meta.function-call.hcl +# ^ source.hcl meta.function-call.hcl constant.numeric.integer.hcl +# ^ source.hcl meta.function-call.hcl punctuation.separator.hcl +# ^ source.hcl meta.function-call.hcl +# ^ source.hcl meta.function-call.hcl constant.numeric.integer.hcl +# ^ source.hcl meta.function-call.hcl punctuation.section.parens.end.hcl +>title("hello world") +#^^^^^ source.hcl meta.function-call.hcl variable.function.hcl +# ^ source.hcl meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^^^^^ source.hcl meta.function-call.hcl string.quoted.double.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl meta.function-call.hcl punctuation.section.parens.end.hcl +>trim("?!hello?!", "!?") +#^^^^ source.hcl meta.function-call.hcl variable.function.hcl +# ^ source.hcl meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^^^ source.hcl meta.function-call.hcl string.quoted.double.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl meta.function-call.hcl punctuation.separator.hcl +# ^ source.hcl meta.function-call.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^ source.hcl meta.function-call.hcl string.quoted.double.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl meta.function-call.hcl punctuation.section.parens.end.hcl +>trimprefix("helloworld", "hello") +#^^^^^^^^^^ source.hcl meta.function-call.hcl variable.function.hcl +# ^ source.hcl meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^^^^ source.hcl meta.function-call.hcl string.quoted.double.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl meta.function-call.hcl punctuation.separator.hcl +# ^ source.hcl meta.function-call.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^ source.hcl meta.function-call.hcl string.quoted.double.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl meta.function-call.hcl punctuation.section.parens.end.hcl +>trimsuffix("helloworld", "world") +#^^^^^^^^^^ source.hcl meta.function-call.hcl variable.function.hcl +# ^ source.hcl meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^^^^ source.hcl meta.function-call.hcl string.quoted.double.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl meta.function-call.hcl punctuation.separator.hcl +# ^ source.hcl meta.function-call.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^ source.hcl meta.function-call.hcl string.quoted.double.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl meta.function-call.hcl punctuation.section.parens.end.hcl +>trimspace(" hello\n\n") +#^^^^^^^^^ source.hcl meta.function-call.hcl variable.function.hcl +# ^ source.hcl meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^ source.hcl meta.function-call.hcl string.quoted.double.hcl +# ^^ source.hcl meta.function-call.hcl string.quoted.double.hcl constant.character.escape.hcl +# ^^ source.hcl meta.function-call.hcl string.quoted.double.hcl constant.character.escape.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl meta.function-call.hcl punctuation.section.parens.end.hcl +>upper("hello") +#^^^^^ source.hcl meta.function-call.hcl variable.function.hcl +# ^ source.hcl meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^ source.hcl meta.function-call.hcl string.quoted.double.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl meta.function-call.hcl punctuation.section.parens.end.hcl +> +># known +#^ source.hcl comment.line.number-sign.hcl punctuation.definition.comment.hcl +# ^^^^^^ source.hcl comment.line.number-sign.hcl +> +>foo("bar") +#^^^ source.hcl meta.function-call.hcl variable.function.hcl +# ^ source.hcl meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^ source.hcl meta.function-call.hcl string.quoted.double.hcl +# ^ source.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl meta.function-call.hcl punctuation.section.parens.end.hcl +> \ No newline at end of file diff --git a/tests/snapshot/hcl/expressions_operators.hcl b/tests/snapshot/hcl/expressions_operators.hcl new file mode 100644 index 0000000..36e2cb5 --- /dev/null +++ b/tests/snapshot/hcl/expressions_operators.hcl @@ -0,0 +1,25 @@ +# arithmetic + +1 + 2 * 3 / 4 + +5 % 6 + +-thing + +# equality + +thing1 == thing2 +thing1 != thing2 + +# comparison + +thing1 > thing2 +thing1 >= thing2 +thing1 < thing2 +thing1 <= thing2 + +# logical + +thing1 || thing2 +thing1 && thing2 +!thing1 diff --git a/tests/snapshot/hcl/expressions_operators.hcl.snap b/tests/snapshot/hcl/expressions_operators.hcl.snap new file mode 100644 index 0000000..d2eef5c --- /dev/null +++ b/tests/snapshot/hcl/expressions_operators.hcl.snap @@ -0,0 +1,80 @@ +># arithmetic +#^ source.hcl comment.line.number-sign.hcl punctuation.definition.comment.hcl +# ^^^^^^^^^^^ source.hcl comment.line.number-sign.hcl +> +>1 + 2 * 3 / 4 +#^ source.hcl constant.numeric.integer.hcl +# ^ source.hcl +# ^ source.hcl keyword.operator.arithmetic.hcl +# ^ source.hcl +# ^ source.hcl constant.numeric.integer.hcl +# ^ source.hcl +# ^ source.hcl keyword.operator.arithmetic.hcl +# ^ source.hcl +# ^ source.hcl constant.numeric.integer.hcl +# ^ source.hcl +# ^ source.hcl keyword.operator.arithmetic.hcl +# ^ source.hcl +# ^ source.hcl constant.numeric.integer.hcl +> +>5 % 6 +#^ source.hcl constant.numeric.integer.hcl +# ^ source.hcl +# ^ source.hcl keyword.operator.arithmetic.hcl +# ^ source.hcl +# ^ source.hcl constant.numeric.integer.hcl +> +>-thing +#^ source.hcl keyword.operator.arithmetic.hcl +# ^^^^^^ source.hcl +> +># equality +#^ source.hcl comment.line.number-sign.hcl punctuation.definition.comment.hcl +# ^^^^^^^^^ source.hcl comment.line.number-sign.hcl +> +>thing1 == thing2 +#^^^^^^^ source.hcl +# ^^ source.hcl keyword.operator.hcl +# ^^^^^^^^ source.hcl +>thing1 != thing2 +#^^^^^^^ source.hcl +# ^^ source.hcl keyword.operator.hcl +# ^^^^^^^^ source.hcl +> +># comparison +#^ source.hcl comment.line.number-sign.hcl punctuation.definition.comment.hcl +# ^^^^^^^^^^^ source.hcl comment.line.number-sign.hcl +> +>thing1 > thing2 +#^^^^^^^ source.hcl +# ^ source.hcl keyword.operator.hcl +# ^^^^^^^^ source.hcl +>thing1 >= thing2 +#^^^^^^^ source.hcl +# ^^ source.hcl keyword.operator.hcl +# ^^^^^^^^ source.hcl +>thing1 < thing2 +#^^^^^^^ source.hcl +# ^ source.hcl keyword.operator.hcl +# ^^^^^^^^ source.hcl +>thing1 <= thing2 +#^^^^^^^ source.hcl +# ^^ source.hcl keyword.operator.hcl +# ^^^^^^^^ source.hcl +> +># logical +#^ source.hcl comment.line.number-sign.hcl punctuation.definition.comment.hcl +# ^^^^^^^^ source.hcl comment.line.number-sign.hcl +> +>thing1 || thing2 +#^^^^^^^ source.hcl +# ^^ source.hcl keyword.operator.logical.hcl +# ^^^^^^^^ source.hcl +>thing1 && thing2 +#^^^^^^^ source.hcl +# ^^ source.hcl keyword.operator.logical.hcl +# ^^^^^^^^ source.hcl +>!thing1 +#^ source.hcl keyword.operator.logical.hcl +# ^^^^^^^ source.hcl +> \ No newline at end of file diff --git a/tests/snapshot/hcl/expressions_splat.hcl b/tests/snapshot/hcl/expressions_splat.hcl new file mode 100644 index 0000000..26a4ed9 --- /dev/null +++ b/tests/snapshot/hcl/expressions_splat.hcl @@ -0,0 +1,5 @@ +[for o in var.list : o.id] + +var.list[*].id + +var.list[*].interfaces[0].name diff --git a/tests/snapshot/hcl/expressions_splat.hcl.snap b/tests/snapshot/hcl/expressions_splat.hcl.snap new file mode 100644 index 0000000..fcb2118 --- /dev/null +++ b/tests/snapshot/hcl/expressions_splat.hcl.snap @@ -0,0 +1,44 @@ +>[for o in var.list : o.id] +#^ source.hcl punctuation.section.brackets.begin.hcl +# ^^^ source.hcl keyword.control.hcl +# ^ source.hcl +# ^ source.hcl variable.other.readwrite.hcl +# ^ source.hcl +# ^^ source.hcl keyword.operator.word.hcl +# ^ source.hcl +# ^^^ source.hcl variable.other.readwrite.hcl +# ^ source.hcl keyword.operator.accessor.hcl +# ^^^^ source.hcl variable.other.member.hcl +# ^ source.hcl +# ^ source.hcl keyword.operator.hcl +# ^ source.hcl +# ^ source.hcl variable.other.readwrite.hcl +# ^ source.hcl keyword.operator.accessor.hcl +# ^^ source.hcl variable.other.member.hcl +# ^ source.hcl punctuation.section.brackets.end.hcl +> +>var.list[*].id +#^^^ source.hcl +# ^ source.hcl keyword.operator.accessor.hcl +# ^^^^ source.hcl variable.other.member.hcl +# ^ source.hcl +# ^ source.hcl keyword.operator.splat.hcl +# ^ source.hcl +# ^ source.hcl keyword.operator.accessor.hcl +# ^^ source.hcl variable.other.member.hcl +> +>var.list[*].interfaces[0].name +#^^^ source.hcl +# ^ source.hcl keyword.operator.accessor.hcl +# ^^^^ source.hcl variable.other.member.hcl +# ^ source.hcl +# ^ source.hcl keyword.operator.splat.hcl +# ^ source.hcl +# ^ source.hcl keyword.operator.accessor.hcl +# ^^^^^^^^^^ source.hcl variable.other.member.hcl +# ^ source.hcl +# ^ source.hcl constant.numeric.integer.hcl +# ^ source.hcl +# ^ source.hcl keyword.operator.accessor.hcl +# ^^^^ source.hcl variable.other.member.hcl +> \ No newline at end of file diff --git a/tests/snapshot/hcl/expressions_strings.hcl b/tests/snapshot/hcl/expressions_strings.hcl new file mode 100644 index 0000000..45cda4e --- /dev/null +++ b/tests/snapshot/hcl/expressions_strings.hcl @@ -0,0 +1,44 @@ +"hello" + +"\n\r\t\"\\" + +"$${}" + +"%%{}" + +thing = <"hello" +#^ source.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^ source.hcl string.quoted.double.hcl +# ^ source.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +> +>"\n\r\t\"\\" +#^ source.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^ source.hcl string.quoted.double.hcl constant.character.escape.hcl +# ^^ source.hcl string.quoted.double.hcl constant.character.escape.hcl +# ^^ source.hcl string.quoted.double.hcl constant.character.escape.hcl +# ^^ source.hcl string.quoted.double.hcl constant.character.escape.hcl +# ^^ source.hcl string.quoted.double.hcl constant.character.escape.hcl +# ^ source.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +> +>"$${}" +#^ source.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^ source.hcl string.quoted.double.hcl +# ^ source.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +> +>"%%{}" +#^ source.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^ source.hcl string.quoted.double.hcl +# ^ source.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +> +>thing = <hello +#^^^^^^ source.hcl string.unquoted.heredoc.hcl +>world +#^^^^^^ source.hcl string.unquoted.heredoc.hcl +>EOT +#^^^^ source.hcl string.unquoted.heredoc.hcl keyword.control.heredoc.hcl +> +>block { +#^^^^^ source.hcl meta.block.hcl entity.name.type.hcl +# ^ source.hcl meta.block.hcl +# ^ source.hcl meta.block.hcl punctuation.section.block.begin.hcl +> value = <hello +#^^^^^^ source.hcl meta.block.hcl string.unquoted.heredoc.hcl +>world +#^^^^^^ source.hcl meta.block.hcl string.unquoted.heredoc.hcl +>EOT +#^^^^ source.hcl meta.block.hcl string.unquoted.heredoc.hcl keyword.control.heredoc.hcl +>} +#^ source.hcl meta.block.hcl punctuation.section.block.end.hcl +> +>block { +#^^^^^ source.hcl meta.block.hcl entity.name.type.hcl +# ^ source.hcl meta.block.hcl +# ^ source.hcl meta.block.hcl punctuation.section.block.begin.hcl +> value = <<-EOT +#^^ source.hcl meta.block.hcl +# ^^^^^ source.hcl meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl +# ^^^ source.hcl meta.block.hcl string.unquoted.heredoc.hcl keyword.operator.heredoc.hcl +# ^^^ source.hcl meta.block.hcl string.unquoted.heredoc.hcl keyword.control.heredoc.hcl +> hello +#^^^^^^^^ source.hcl meta.block.hcl string.unquoted.heredoc.hcl +> world +#^^^^^^^^^^ source.hcl meta.block.hcl string.unquoted.heredoc.hcl +> EOT +#^^^^^^ source.hcl meta.block.hcl string.unquoted.heredoc.hcl keyword.control.heredoc.hcl +>} +#^ source.hcl meta.block.hcl punctuation.section.block.end.hcl +> +>"Hello, ${var.name}!" +#^ source.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^ source.hcl string.quoted.double.hcl +# ^ source.hcl string.quoted.double.hcl meta.interpolation.hcl +# ^^ source.hcl string.quoted.double.hcl meta.interpolation.hcl keyword.other.interpolation.begin.hcl +# ^^^ source.hcl string.quoted.double.hcl meta.interpolation.hcl variable.other.readwrite.hcl +# ^ source.hcl string.quoted.double.hcl meta.interpolation.hcl keyword.operator.accessor.hcl +# ^^^^ source.hcl string.quoted.double.hcl meta.interpolation.hcl variable.other.member.hcl +# ^ source.hcl string.quoted.double.hcl meta.interpolation.hcl keyword.other.interpolation.end.hcl +# ^ source.hcl string.quoted.double.hcl +# ^ source.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +> +>"Hello, %{ if var.name != "" }${var.name}%{ else }unnamed%{ endif }!" +#^ source.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^ source.hcl string.quoted.double.hcl +# ^ source.hcl string.quoted.double.hcl meta.interpolation.hcl +# ^^ source.hcl string.quoted.double.hcl meta.interpolation.hcl keyword.other.interpolation.begin.hcl +# ^ source.hcl string.quoted.double.hcl meta.interpolation.hcl +# ^^ source.hcl string.quoted.double.hcl meta.interpolation.hcl keyword.control.hcl +# ^ source.hcl string.quoted.double.hcl meta.interpolation.hcl +# ^^^ source.hcl string.quoted.double.hcl meta.interpolation.hcl variable.other.readwrite.hcl +# ^ source.hcl string.quoted.double.hcl meta.interpolation.hcl keyword.operator.accessor.hcl +# ^^^^ source.hcl string.quoted.double.hcl meta.interpolation.hcl variable.other.member.hcl +# ^ source.hcl string.quoted.double.hcl meta.interpolation.hcl +# ^^ source.hcl string.quoted.double.hcl meta.interpolation.hcl keyword.operator.hcl +# ^ source.hcl string.quoted.double.hcl meta.interpolation.hcl +# ^ source.hcl string.quoted.double.hcl meta.interpolation.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^ source.hcl string.quoted.double.hcl meta.interpolation.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl string.quoted.double.hcl meta.interpolation.hcl +# ^ source.hcl string.quoted.double.hcl meta.interpolation.hcl keyword.other.interpolation.end.hcl +# ^^^^^^^^^^ source.hcl string.quoted.double.hcl +# ^ source.hcl string.quoted.double.hcl meta.interpolation.hcl +# ^^ source.hcl string.quoted.double.hcl meta.interpolation.hcl keyword.other.interpolation.begin.hcl +# ^ source.hcl string.quoted.double.hcl meta.interpolation.hcl +# ^^^^ source.hcl string.quoted.double.hcl meta.interpolation.hcl keyword.control.hcl +# ^ source.hcl string.quoted.double.hcl meta.interpolation.hcl +# ^ source.hcl string.quoted.double.hcl meta.interpolation.hcl keyword.other.interpolation.end.hcl +# ^^^^^^ source.hcl string.quoted.double.hcl +# ^ source.hcl string.quoted.double.hcl meta.interpolation.hcl +# ^^ source.hcl string.quoted.double.hcl meta.interpolation.hcl keyword.other.interpolation.begin.hcl +# ^ source.hcl string.quoted.double.hcl meta.interpolation.hcl +# ^^^^^ source.hcl string.quoted.double.hcl meta.interpolation.hcl keyword.control.hcl +# ^ source.hcl string.quoted.double.hcl meta.interpolation.hcl +# ^ source.hcl string.quoted.double.hcl meta.interpolation.hcl keyword.other.interpolation.end.hcl +# ^ source.hcl string.quoted.double.hcl +# ^ source.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +> +><%{ for ip in aws_instance.example.*.private_ip } +#^^ source.hcl string.unquoted.heredoc.hcl meta.interpolation.hcl keyword.other.interpolation.begin.hcl +# ^ source.hcl string.unquoted.heredoc.hcl meta.interpolation.hcl +# ^^^ source.hcl string.unquoted.heredoc.hcl meta.interpolation.hcl keyword.control.hcl +# ^ source.hcl string.unquoted.heredoc.hcl meta.interpolation.hcl +# ^^ source.hcl string.unquoted.heredoc.hcl meta.interpolation.hcl variable.other.readwrite.hcl +# ^ source.hcl string.unquoted.heredoc.hcl meta.interpolation.hcl +# ^^ source.hcl string.unquoted.heredoc.hcl meta.interpolation.hcl keyword.control.hcl +# ^ source.hcl string.unquoted.heredoc.hcl meta.interpolation.hcl +# ^^^^^^^^^^^^ source.hcl string.unquoted.heredoc.hcl meta.interpolation.hcl variable.other.readwrite.hcl +# ^ source.hcl string.unquoted.heredoc.hcl meta.interpolation.hcl keyword.operator.accessor.hcl +# ^^^^^^^ source.hcl string.unquoted.heredoc.hcl meta.interpolation.hcl variable.other.member.hcl +# ^ source.hcl string.unquoted.heredoc.hcl meta.interpolation.hcl keyword.operator.accessor.hcl +# ^^ source.hcl string.unquoted.heredoc.hcl meta.interpolation.hcl +# ^^^^^^^^^^ source.hcl string.unquoted.heredoc.hcl meta.interpolation.hcl variable.other.member.hcl +# ^ source.hcl string.unquoted.heredoc.hcl meta.interpolation.hcl +# ^ source.hcl string.unquoted.heredoc.hcl meta.interpolation.hcl keyword.other.interpolation.end.hcl +>server ${ip} +#^^^^^^ source.hcl string.unquoted.heredoc.hcl +# ^ source.hcl string.unquoted.heredoc.hcl meta.interpolation.hcl +# ^^ source.hcl string.unquoted.heredoc.hcl meta.interpolation.hcl keyword.other.interpolation.begin.hcl +# ^^ source.hcl string.unquoted.heredoc.hcl meta.interpolation.hcl variable.other.readwrite.hcl +# ^ source.hcl string.unquoted.heredoc.hcl meta.interpolation.hcl keyword.other.interpolation.end.hcl +>%{ endfor } +#^^ source.hcl string.unquoted.heredoc.hcl meta.interpolation.hcl keyword.other.interpolation.begin.hcl +# ^ source.hcl string.unquoted.heredoc.hcl meta.interpolation.hcl +# ^^^^^^ source.hcl string.unquoted.heredoc.hcl meta.interpolation.hcl keyword.control.hcl +# ^ source.hcl string.unquoted.heredoc.hcl meta.interpolation.hcl +# ^ source.hcl string.unquoted.heredoc.hcl meta.interpolation.hcl keyword.other.interpolation.end.hcl +>EOT +#^^^^ source.hcl string.unquoted.heredoc.hcl keyword.control.heredoc.hcl +> +><%{ for ip in aws_instance.example.*.private_ip ~} +#^^ source.hcl string.unquoted.heredoc.hcl meta.interpolation.hcl keyword.other.interpolation.begin.hcl +# ^ source.hcl string.unquoted.heredoc.hcl meta.interpolation.hcl +# ^^^ source.hcl string.unquoted.heredoc.hcl meta.interpolation.hcl keyword.control.hcl +# ^ source.hcl string.unquoted.heredoc.hcl meta.interpolation.hcl +# ^^ source.hcl string.unquoted.heredoc.hcl meta.interpolation.hcl variable.other.readwrite.hcl +# ^ source.hcl string.unquoted.heredoc.hcl meta.interpolation.hcl +# ^^ source.hcl string.unquoted.heredoc.hcl meta.interpolation.hcl keyword.control.hcl +# ^ source.hcl string.unquoted.heredoc.hcl meta.interpolation.hcl +# ^^^^^^^^^^^^ source.hcl string.unquoted.heredoc.hcl meta.interpolation.hcl variable.other.readwrite.hcl +# ^ source.hcl string.unquoted.heredoc.hcl meta.interpolation.hcl keyword.operator.accessor.hcl +# ^^^^^^^ source.hcl string.unquoted.heredoc.hcl meta.interpolation.hcl variable.other.member.hcl +# ^ source.hcl string.unquoted.heredoc.hcl meta.interpolation.hcl keyword.operator.accessor.hcl +# ^^ source.hcl string.unquoted.heredoc.hcl meta.interpolation.hcl +# ^^^^^^^^^^ source.hcl string.unquoted.heredoc.hcl meta.interpolation.hcl variable.other.member.hcl +# ^^ source.hcl string.unquoted.heredoc.hcl meta.interpolation.hcl keyword.operator.template.right.trim.hcl +# ^ source.hcl string.unquoted.heredoc.hcl meta.interpolation.hcl keyword.other.interpolation.end.hcl +>server ${ip} +#^^^^^^ source.hcl string.unquoted.heredoc.hcl +# ^ source.hcl string.unquoted.heredoc.hcl meta.interpolation.hcl +# ^^ source.hcl string.unquoted.heredoc.hcl meta.interpolation.hcl keyword.other.interpolation.begin.hcl +# ^^ source.hcl string.unquoted.heredoc.hcl meta.interpolation.hcl variable.other.readwrite.hcl +# ^ source.hcl string.unquoted.heredoc.hcl meta.interpolation.hcl keyword.other.interpolation.end.hcl +>%{ endfor ~} +#^^ source.hcl string.unquoted.heredoc.hcl meta.interpolation.hcl keyword.other.interpolation.begin.hcl +# ^ source.hcl string.unquoted.heredoc.hcl meta.interpolation.hcl +# ^^^^^^ source.hcl string.unquoted.heredoc.hcl meta.interpolation.hcl keyword.control.hcl +# ^^ source.hcl string.unquoted.heredoc.hcl meta.interpolation.hcl keyword.operator.template.right.trim.hcl +# ^ source.hcl string.unquoted.heredoc.hcl meta.interpolation.hcl keyword.other.interpolation.end.hcl +>EOT +#^^^^ source.hcl string.unquoted.heredoc.hcl keyword.control.heredoc.hcl +> +> +> \ No newline at end of file diff --git a/tests/snapshot/hcl/issue927.hcl b/tests/snapshot/hcl/issue927.hcl new file mode 100644 index 0000000..6e04208 --- /dev/null +++ b/tests/snapshot/hcl/issue927.hcl @@ -0,0 +1,16 @@ +variable "foo" {} +output "result-val" { value = var.foo } + +variable "some-var" { + default = "value" +} + +module "foo-mod" { + source = "./foo" + foo = var.some-var +} + +module "bar" { + source = "./foo" + foo = module.foo-mod.result-val +} \ No newline at end of file diff --git a/tests/snapshot/hcl/issue927.hcl.snap b/tests/snapshot/hcl/issue927.hcl.snap new file mode 100644 index 0000000..0ae95a8 --- /dev/null +++ b/tests/snapshot/hcl/issue927.hcl.snap @@ -0,0 +1,97 @@ +>variable "foo" {} +#^^^^^^^^ source.hcl meta.block.hcl entity.name.type.hcl +# ^ source.hcl meta.block.hcl +# ^^^^^ source.hcl meta.block.hcl variable.other.enummember.hcl +# ^ source.hcl meta.block.hcl +# ^ source.hcl meta.block.hcl punctuation.section.block.begin.hcl +# ^ source.hcl meta.block.hcl punctuation.section.block.end.hcl +>output "result-val" { value = var.foo } +#^^^^^^ source.hcl meta.block.hcl entity.name.type.hcl +# ^ source.hcl meta.block.hcl +# ^^^^^^^^^^^^ source.hcl meta.block.hcl variable.other.enummember.hcl +# ^ source.hcl meta.block.hcl +# ^ source.hcl meta.block.hcl punctuation.section.block.begin.hcl +# ^ source.hcl meta.block.hcl +# ^^^^^ source.hcl meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl +# ^^^ source.hcl meta.block.hcl +# ^ source.hcl meta.block.hcl keyword.operator.accessor.hcl +# ^^^ source.hcl meta.block.hcl variable.other.member.hcl +# ^ source.hcl meta.block.hcl +# ^ source.hcl meta.block.hcl punctuation.section.block.end.hcl +> +>variable "some-var" { +#^^^^^^^^ source.hcl meta.block.hcl entity.name.type.hcl +# ^ source.hcl meta.block.hcl +# ^^^^^^^^^^ source.hcl meta.block.hcl variable.other.enummember.hcl +# ^ source.hcl meta.block.hcl +# ^ source.hcl meta.block.hcl punctuation.section.block.begin.hcl +> default = "value" +#^^ source.hcl meta.block.hcl +# ^^^^^^^ source.hcl meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^ source.hcl meta.block.hcl string.quoted.double.hcl +# ^ source.hcl meta.block.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +>} +#^ source.hcl meta.block.hcl punctuation.section.block.end.hcl +> +>module "foo-mod" { +#^^^^^^ source.hcl meta.block.hcl entity.name.type.hcl +# ^ source.hcl meta.block.hcl +# ^^^^^^^^^ source.hcl meta.block.hcl variable.other.enummember.hcl +# ^ source.hcl meta.block.hcl +# ^ source.hcl meta.block.hcl punctuation.section.block.begin.hcl +> source = "./foo" +#^^ source.hcl meta.block.hcl +# ^^^^^^ source.hcl meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^ source.hcl meta.block.hcl string.quoted.double.hcl +# ^ source.hcl meta.block.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +> foo = var.some-var +#^^ source.hcl meta.block.hcl +# ^^^ source.hcl meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl +# ^^^ source.hcl meta.block.hcl +# ^ source.hcl meta.block.hcl keyword.operator.accessor.hcl +# ^^^^^^^^ source.hcl meta.block.hcl variable.other.member.hcl +>} +#^ source.hcl meta.block.hcl punctuation.section.block.end.hcl +> +>module "bar" { +#^^^^^^ source.hcl meta.block.hcl entity.name.type.hcl +# ^ source.hcl meta.block.hcl +# ^^^^^ source.hcl meta.block.hcl variable.other.enummember.hcl +# ^ source.hcl meta.block.hcl +# ^ source.hcl meta.block.hcl punctuation.section.block.begin.hcl +> source = "./foo" +#^^ source.hcl meta.block.hcl +# ^^^^^^ source.hcl meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^ source.hcl meta.block.hcl string.quoted.double.hcl +# ^ source.hcl meta.block.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +> foo = module.foo-mod.result-val +#^^ source.hcl meta.block.hcl +# ^^^ source.hcl meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl +# ^^^^^^ source.hcl meta.block.hcl +# ^ source.hcl meta.block.hcl keyword.operator.accessor.hcl +# ^^^^^^^ source.hcl meta.block.hcl variable.other.member.hcl +# ^ source.hcl meta.block.hcl keyword.operator.accessor.hcl +# ^^^^^^^^^^ source.hcl meta.block.hcl variable.other.member.hcl +>} +#^ source.hcl meta.block.hcl punctuation.section.block.end.hcl \ No newline at end of file diff --git a/tests/snapshot/hcl/modules.hcl b/tests/snapshot/hcl/modules.hcl new file mode 100644 index 0000000..91bac5d --- /dev/null +++ b/tests/snapshot/hcl/modules.hcl @@ -0,0 +1,11 @@ +module "servers" { + source = "./app-cluster" + + servers = 5 +} + +resource "aws_elb" "example" { + # ... + + instances = module.servers.instance_ids +} diff --git a/tests/snapshot/hcl/modules.hcl.snap b/tests/snapshot/hcl/modules.hcl.snap new file mode 100644 index 0000000..8b4645b --- /dev/null +++ b/tests/snapshot/hcl/modules.hcl.snap @@ -0,0 +1,53 @@ +>module "servers" { +#^^^^^^ source.hcl meta.block.hcl entity.name.type.hcl +# ^ source.hcl meta.block.hcl +# ^^^^^^^^^ source.hcl meta.block.hcl variable.other.enummember.hcl +# ^ source.hcl meta.block.hcl +# ^ source.hcl meta.block.hcl punctuation.section.block.begin.hcl +> source = "./app-cluster" +#^^ source.hcl meta.block.hcl +# ^^^^^^ source.hcl meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^^^^^^^ source.hcl meta.block.hcl string.quoted.double.hcl +# ^ source.hcl meta.block.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +> +> servers = 5 +#^^ source.hcl meta.block.hcl +# ^^^^^^^ source.hcl meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl constant.numeric.integer.hcl +>} +#^ source.hcl meta.block.hcl punctuation.section.block.end.hcl +> +>resource "aws_elb" "example" { +#^^^^^^^^ source.hcl meta.block.hcl entity.name.type.hcl +# ^ source.hcl meta.block.hcl +# ^^^^^^^^^ source.hcl meta.block.hcl variable.other.enummember.hcl +# ^ source.hcl meta.block.hcl +# ^^^^^^^^^ source.hcl meta.block.hcl variable.other.enummember.hcl +# ^ source.hcl meta.block.hcl +# ^ source.hcl meta.block.hcl punctuation.section.block.begin.hcl +> # ... +#^^ source.hcl meta.block.hcl +# ^ source.hcl meta.block.hcl comment.line.number-sign.hcl punctuation.definition.comment.hcl +# ^^^^ source.hcl meta.block.hcl comment.line.number-sign.hcl +> +> instances = module.servers.instance_ids +#^^ source.hcl meta.block.hcl +# ^^^^^^^^^ source.hcl meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl +# ^^^^^^ source.hcl meta.block.hcl +# ^ source.hcl meta.block.hcl keyword.operator.accessor.hcl +# ^^^^^^^ source.hcl meta.block.hcl variable.other.member.hcl +# ^ source.hcl meta.block.hcl keyword.operator.accessor.hcl +# ^^^^^^^^^^^^ source.hcl meta.block.hcl variable.other.member.hcl +>} +#^ source.hcl meta.block.hcl punctuation.section.block.end.hcl +> \ No newline at end of file diff --git a/tests/snapshot/hcl/nested_maps.hcl b/tests/snapshot/hcl/nested_maps.hcl new file mode 100644 index 0000000..61c546e --- /dev/null +++ b/tests/snapshot/hcl/nested_maps.hcl @@ -0,0 +1,27 @@ +ipam_configuration = { + us-east-1 = { + cidr = ["10.0.0.0/16"] + locale = "us-east-1" + + sub_pools = { + dev = { + cidr = ["10.0.0.0/20"] + allocation_default_netmask_length = 28 + + sub_pools = { + app_team_b = { + cidr = ["10.0.0.0/24"] + description = "app team b's space in us-east-1" + } + app_team_a = { + cidr = ["10.0.1.0/24"] + } + } + } + + stage = { + cidr = ["10.0.16.0/20"] + } + } + } +} diff --git a/tests/snapshot/hcl/nested_maps.hcl.snap b/tests/snapshot/hcl/nested_maps.hcl.snap new file mode 100644 index 0000000..d633552 --- /dev/null +++ b/tests/snapshot/hcl/nested_maps.hcl.snap @@ -0,0 +1,162 @@ +>ipam_configuration = { +#^^^^^^^^^^^^^^^^^^ source.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl variable.declaration.hcl +# ^ source.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl variable.declaration.hcl +# ^ source.hcl meta.braces.hcl punctuation.section.braces.begin.hcl +> us-east-1 = { +#^^ source.hcl meta.braces.hcl +# ^^^^^^^^^ source.hcl meta.braces.hcl meta.mapping.key.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.braces.hcl +# ^ source.hcl meta.braces.hcl keyword.operator.assignment.hcl +# ^ source.hcl meta.braces.hcl +# ^ source.hcl meta.braces.hcl meta.braces.hcl punctuation.section.braces.begin.hcl +> cidr = ["10.0.0.0/16"] +#^^^^ source.hcl meta.braces.hcl meta.braces.hcl +# ^^^^ source.hcl meta.braces.hcl meta.braces.hcl meta.mapping.key.hcl variable.other.readwrite.hcl +# ^^^ source.hcl meta.braces.hcl meta.braces.hcl +# ^ source.hcl meta.braces.hcl meta.braces.hcl keyword.operator.assignment.hcl +# ^ source.hcl meta.braces.hcl meta.braces.hcl +# ^ source.hcl meta.braces.hcl meta.braces.hcl +# ^ source.hcl meta.braces.hcl meta.braces.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^^^^^ source.hcl meta.braces.hcl meta.braces.hcl string.quoted.double.hcl +# ^ source.hcl meta.braces.hcl meta.braces.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^^ source.hcl meta.braces.hcl meta.braces.hcl +> locale = "us-east-1" +#^^^^ source.hcl meta.braces.hcl meta.braces.hcl +# ^^^^^^ source.hcl meta.braces.hcl meta.braces.hcl meta.mapping.key.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.braces.hcl meta.braces.hcl +# ^ source.hcl meta.braces.hcl meta.braces.hcl keyword.operator.assignment.hcl +# ^ source.hcl meta.braces.hcl meta.braces.hcl +# ^ source.hcl meta.braces.hcl meta.braces.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^^^ source.hcl meta.braces.hcl meta.braces.hcl string.quoted.double.hcl +# ^ source.hcl meta.braces.hcl meta.braces.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +> +> sub_pools = { +#^^^^ source.hcl meta.braces.hcl meta.braces.hcl +# ^^^^^^^^^ source.hcl meta.braces.hcl meta.braces.hcl meta.mapping.key.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.braces.hcl meta.braces.hcl +# ^ source.hcl meta.braces.hcl meta.braces.hcl keyword.operator.assignment.hcl +# ^ source.hcl meta.braces.hcl meta.braces.hcl +# ^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl punctuation.section.braces.begin.hcl +> dev = { +#^^^^^^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^^^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.mapping.key.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl keyword.operator.assignment.hcl +# ^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl punctuation.section.braces.begin.hcl +> cidr = ["10.0.0.0/20"] +#^^^^^^^^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^^^^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.mapping.key.hcl variable.other.readwrite.hcl +# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl keyword.operator.assignment.hcl +# ^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^^^^^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl string.quoted.double.hcl +# ^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +> allocation_default_netmask_length = 28 +#^^^^^^^^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.mapping.key.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl keyword.operator.assignment.hcl +# ^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl constant.numeric.integer.hcl +> +> sub_pools = { +#^^^^^^^^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^^^^^^^^^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.mapping.key.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl keyword.operator.assignment.hcl +# ^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl punctuation.section.braces.begin.hcl +> app_team_b = { +#^^^^^^^^^^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^^^^^^^^^^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.mapping.key.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl keyword.operator.assignment.hcl +# ^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl punctuation.section.braces.begin.hcl +> cidr = ["10.0.0.0/24"] +#^^^^^^^^^^^^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^^^^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.mapping.key.hcl variable.other.readwrite.hcl +# ^^^^^^^^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl keyword.operator.assignment.hcl +# ^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^^^^^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl string.quoted.double.hcl +# ^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +> description = "app team b's space in us-east-1" +#^^^^^^^^^^^^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^^^^^^^^^^^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.mapping.key.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl keyword.operator.assignment.hcl +# ^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl string.quoted.double.hcl +# ^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +> } +#^^^^^^^^^^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl punctuation.section.braces.end.hcl +> app_team_a = { +#^^^^^^^^^^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^^^^^^^^^^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.mapping.key.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl keyword.operator.assignment.hcl +# ^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl punctuation.section.braces.begin.hcl +> cidr = ["10.0.1.0/24"] +#^^^^^^^^^^^^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^^^^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.mapping.key.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl keyword.operator.assignment.hcl +# ^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^^^^^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl string.quoted.double.hcl +# ^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +> } +#^^^^^^^^^^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl punctuation.section.braces.end.hcl +> } +#^^^^^^^^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl punctuation.section.braces.end.hcl +> } +#^^^^^^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl punctuation.section.braces.end.hcl +> +> stage = { +#^^^^^^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^^^^^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.mapping.key.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl keyword.operator.assignment.hcl +# ^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl punctuation.section.braces.begin.hcl +> cidr = ["10.0.16.0/20"] +#^^^^^^^^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^^^^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.mapping.key.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl keyword.operator.assignment.hcl +# ^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^^^^^^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl string.quoted.double.hcl +# ^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +> } +#^^^^^^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl punctuation.section.braces.end.hcl +> } +#^^^^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^ source.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl punctuation.section.braces.end.hcl +> } +#^^ source.hcl meta.braces.hcl meta.braces.hcl +# ^ source.hcl meta.braces.hcl meta.braces.hcl punctuation.section.braces.end.hcl +>} +#^ source.hcl meta.braces.hcl punctuation.section.braces.end.hcl +> \ No newline at end of file diff --git a/tests/snapshot/hcl/providers.hcl b/tests/snapshot/hcl/providers.hcl new file mode 100644 index 0000000..c8ee90b --- /dev/null +++ b/tests/snapshot/hcl/providers.hcl @@ -0,0 +1,4 @@ +provider "google" { + project = "acme-app" + region = "us-central1" +} diff --git a/tests/snapshot/hcl/providers.hcl.snap b/tests/snapshot/hcl/providers.hcl.snap new file mode 100644 index 0000000..c52c3a8 --- /dev/null +++ b/tests/snapshot/hcl/providers.hcl.snap @@ -0,0 +1,27 @@ +>provider "google" { +#^^^^^^^^ source.hcl meta.block.hcl entity.name.type.hcl +# ^ source.hcl meta.block.hcl +# ^^^^^^^^ source.hcl meta.block.hcl variable.other.enummember.hcl +# ^ source.hcl meta.block.hcl +# ^ source.hcl meta.block.hcl punctuation.section.block.begin.hcl +> project = "acme-app" +#^^ source.hcl meta.block.hcl +# ^^^^^^^ source.hcl meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^^ source.hcl meta.block.hcl string.quoted.double.hcl +# ^ source.hcl meta.block.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +> region = "us-central1" +#^^ source.hcl meta.block.hcl +# ^^^^^^ source.hcl meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^^ source.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^^^^^ source.hcl meta.block.hcl string.quoted.double.hcl +# ^ source.hcl meta.block.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +>} +#^ source.hcl meta.block.hcl punctuation.section.block.end.hcl +> \ No newline at end of file diff --git a/tests/snapshot/hcl/variables_input.hcl b/tests/snapshot/hcl/variables_input.hcl new file mode 100644 index 0000000..ceca28c --- /dev/null +++ b/tests/snapshot/hcl/variables_input.hcl @@ -0,0 +1,35 @@ +# input variables + +variable "image_id" { + type = string +} + +variable "availability_zone_names" { + type = list(string) + default = ["us-west-1a"] +} + +variable "docker_ports" { + type = list(object({ + internal = number + external = number + protocol = string + })) + default = [ + { + internal = 8300 + external = 8300 + protocol = "tcp" + } + ] +} + +variable "image_id" { + type = string + description = "The id of the machine image (AMI) to use for the server." + + validation { + condition = length(var.image_id) > 4 && substr(var.image_id, 0, 4) == "ami-" + error_message = "The image_id value must be a valid AMI id, starting with \"ami-\"." + } +} diff --git a/tests/snapshot/hcl/variables_input.hcl.snap b/tests/snapshot/hcl/variables_input.hcl.snap new file mode 100644 index 0000000..8585c96 --- /dev/null +++ b/tests/snapshot/hcl/variables_input.hcl.snap @@ -0,0 +1,219 @@ +># input variables +#^ source.hcl comment.line.number-sign.hcl punctuation.definition.comment.hcl +# ^^^^^^^^^^^^^^^^ source.hcl comment.line.number-sign.hcl +> +>variable "image_id" { +#^^^^^^^^ source.hcl meta.block.hcl entity.name.type.hcl +# ^ source.hcl meta.block.hcl +# ^^^^^^^^^^ source.hcl meta.block.hcl variable.other.enummember.hcl +# ^ source.hcl meta.block.hcl +# ^ source.hcl meta.block.hcl punctuation.section.block.begin.hcl +> type = string +#^^ source.hcl meta.block.hcl +# ^^^^ source.hcl meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl +# ^^^^^^ source.hcl meta.block.hcl storage.type.hcl +>} +#^ source.hcl meta.block.hcl punctuation.section.block.end.hcl +> +>variable "availability_zone_names" { +#^^^^^^^^ source.hcl meta.block.hcl entity.name.type.hcl +# ^ source.hcl meta.block.hcl +# ^^^^^^^^^^^^^^^^^^^^^^^^^ source.hcl meta.block.hcl variable.other.enummember.hcl +# ^ source.hcl meta.block.hcl +# ^ source.hcl meta.block.hcl punctuation.section.block.begin.hcl +> type = list(string) +#^^ source.hcl meta.block.hcl +# ^^^^ source.hcl meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^^^^ source.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl +# ^^^^ source.hcl meta.block.hcl meta.function-call.hcl variable.function.hcl +# ^ source.hcl meta.block.hcl meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^^^^^^ source.hcl meta.block.hcl meta.function-call.hcl storage.type.hcl +# ^ source.hcl meta.block.hcl meta.function-call.hcl punctuation.section.parens.end.hcl +> default = ["us-west-1a"] +#^^ source.hcl meta.block.hcl +# ^^^^^^^ source.hcl meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl punctuation.section.brackets.begin.hcl +# ^ source.hcl meta.block.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^^^^ source.hcl meta.block.hcl string.quoted.double.hcl +# ^ source.hcl meta.block.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl meta.block.hcl punctuation.section.brackets.end.hcl +>} +#^ source.hcl meta.block.hcl punctuation.section.block.end.hcl +> +>variable "docker_ports" { +#^^^^^^^^ source.hcl meta.block.hcl entity.name.type.hcl +# ^ source.hcl meta.block.hcl +# ^^^^^^^^^^^^^^ source.hcl meta.block.hcl variable.other.enummember.hcl +# ^ source.hcl meta.block.hcl +# ^ source.hcl meta.block.hcl punctuation.section.block.begin.hcl +> type = list(object({ +#^^ source.hcl meta.block.hcl +# ^^^^ source.hcl meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl +# ^^^^ source.hcl meta.block.hcl meta.function-call.hcl variable.function.hcl +# ^ source.hcl meta.block.hcl meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^^^^^^ source.hcl meta.block.hcl meta.function-call.hcl meta.function-call.hcl support.function.builtin.hcl +# ^ source.hcl meta.block.hcl meta.function-call.hcl meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^ source.hcl meta.block.hcl meta.function-call.hcl meta.function-call.hcl punctuation.section.braces.begin.hcl +> internal = number +#^^^^ source.hcl meta.block.hcl meta.function-call.hcl meta.function-call.hcl +# ^^^^^^^^ source.hcl meta.block.hcl meta.function-call.hcl meta.function-call.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl meta.function-call.hcl meta.function-call.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl meta.function-call.hcl meta.function-call.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl meta.block.hcl meta.function-call.hcl meta.function-call.hcl variable.declaration.hcl +# ^^^^^^ source.hcl meta.block.hcl meta.function-call.hcl meta.function-call.hcl storage.type.hcl +> external = number +#^^^^ source.hcl meta.block.hcl meta.function-call.hcl meta.function-call.hcl +# ^^^^^^^^ source.hcl meta.block.hcl meta.function-call.hcl meta.function-call.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl meta.function-call.hcl meta.function-call.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl meta.function-call.hcl meta.function-call.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl meta.block.hcl meta.function-call.hcl meta.function-call.hcl variable.declaration.hcl +# ^^^^^^ source.hcl meta.block.hcl meta.function-call.hcl meta.function-call.hcl storage.type.hcl +> protocol = string +#^^^^ source.hcl meta.block.hcl meta.function-call.hcl meta.function-call.hcl +# ^^^^^^^^ source.hcl meta.block.hcl meta.function-call.hcl meta.function-call.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl meta.function-call.hcl meta.function-call.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl meta.function-call.hcl meta.function-call.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl meta.block.hcl meta.function-call.hcl meta.function-call.hcl variable.declaration.hcl +# ^^^^^^ source.hcl meta.block.hcl meta.function-call.hcl meta.function-call.hcl storage.type.hcl +> })) +#^^ source.hcl meta.block.hcl meta.function-call.hcl meta.function-call.hcl +# ^ source.hcl meta.block.hcl meta.function-call.hcl meta.function-call.hcl punctuation.section.braces.end.hcl +# ^ source.hcl meta.block.hcl meta.function-call.hcl meta.function-call.hcl punctuation.section.parens.end.hcl +# ^ source.hcl meta.block.hcl meta.function-call.hcl punctuation.section.parens.end.hcl +> default = [ +#^^ source.hcl meta.block.hcl +# ^^^^^^^ source.hcl meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl punctuation.section.brackets.begin.hcl +> { +#^^^^ source.hcl meta.block.hcl +# ^ source.hcl meta.block.hcl meta.braces.hcl punctuation.section.braces.begin.hcl +> internal = 8300 +#^^^^^^ source.hcl meta.block.hcl meta.braces.hcl +# ^^^^^^^^ source.hcl meta.block.hcl meta.braces.hcl meta.mapping.key.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl meta.braces.hcl +# ^ source.hcl meta.block.hcl meta.braces.hcl keyword.operator.assignment.hcl +# ^ source.hcl meta.block.hcl meta.braces.hcl +# ^^^^ source.hcl meta.block.hcl meta.braces.hcl constant.numeric.integer.hcl +> external = 8300 +#^^^^^^ source.hcl meta.block.hcl meta.braces.hcl +# ^^^^^^^^ source.hcl meta.block.hcl meta.braces.hcl meta.mapping.key.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl meta.braces.hcl +# ^ source.hcl meta.block.hcl meta.braces.hcl keyword.operator.assignment.hcl +# ^ source.hcl meta.block.hcl meta.braces.hcl +# ^^^^ source.hcl meta.block.hcl meta.braces.hcl constant.numeric.integer.hcl +> protocol = "tcp" +#^^^^^^ source.hcl meta.block.hcl meta.braces.hcl +# ^^^^^^^^ source.hcl meta.block.hcl meta.braces.hcl meta.mapping.key.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl meta.braces.hcl +# ^ source.hcl meta.block.hcl meta.braces.hcl keyword.operator.assignment.hcl +# ^ source.hcl meta.block.hcl meta.braces.hcl +# ^ source.hcl meta.block.hcl meta.braces.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^ source.hcl meta.block.hcl meta.braces.hcl string.quoted.double.hcl +# ^ source.hcl meta.block.hcl meta.braces.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +> } +#^^^^ source.hcl meta.block.hcl meta.braces.hcl +# ^ source.hcl meta.block.hcl meta.braces.hcl punctuation.section.braces.end.hcl +> ] +#^^ source.hcl meta.block.hcl +# ^ source.hcl meta.block.hcl punctuation.section.brackets.end.hcl +>} +#^ source.hcl meta.block.hcl punctuation.section.block.end.hcl +> +>variable "image_id" { +#^^^^^^^^ source.hcl meta.block.hcl entity.name.type.hcl +# ^ source.hcl meta.block.hcl +# ^^^^^^^^^^ source.hcl meta.block.hcl variable.other.enummember.hcl +# ^ source.hcl meta.block.hcl +# ^ source.hcl meta.block.hcl punctuation.section.block.begin.hcl +> type = string +#^^ source.hcl meta.block.hcl +# ^^^^ source.hcl meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^^^^^^^^ source.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl +# ^^^^^^ source.hcl meta.block.hcl storage.type.hcl +> description = "The id of the machine image (AMI) to use for the server." +#^^ source.hcl meta.block.hcl +# ^^^^^^^^^^^ source.hcl meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.hcl meta.block.hcl string.quoted.double.hcl +# ^ source.hcl meta.block.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +> +> validation { +#^^ source.hcl meta.block.hcl +# ^^^^^^^^^^ source.hcl meta.block.hcl meta.block.hcl entity.name.type.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl punctuation.section.block.begin.hcl +> condition = length(var.image_id) > 4 && substr(var.image_id, 0, 4) == "ami-" +#^^^^ source.hcl meta.block.hcl meta.block.hcl +# ^^^^^^^^^ source.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^^^^^ source.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl +# ^^^^^^ source.hcl meta.block.hcl meta.block.hcl meta.function-call.hcl variable.function.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^^^ source.hcl meta.block.hcl meta.block.hcl meta.function-call.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl meta.function-call.hcl keyword.operator.accessor.hcl +# ^^^^^^^^ source.hcl meta.block.hcl meta.block.hcl meta.function-call.hcl variable.other.member.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl meta.function-call.hcl punctuation.section.parens.end.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl keyword.operator.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl constant.numeric.integer.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl +# ^^ source.hcl meta.block.hcl meta.block.hcl keyword.operator.logical.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl +# ^^^^^^ source.hcl meta.block.hcl meta.block.hcl meta.function-call.hcl variable.function.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^^^ source.hcl meta.block.hcl meta.block.hcl meta.function-call.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl meta.function-call.hcl keyword.operator.accessor.hcl +# ^^^^^^^^ source.hcl meta.block.hcl meta.block.hcl meta.function-call.hcl variable.other.member.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl meta.function-call.hcl punctuation.separator.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl meta.function-call.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl meta.function-call.hcl constant.numeric.integer.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl meta.function-call.hcl punctuation.separator.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl meta.function-call.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl meta.function-call.hcl constant.numeric.integer.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl meta.function-call.hcl punctuation.section.parens.end.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl +# ^^ source.hcl meta.block.hcl meta.block.hcl keyword.operator.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^ source.hcl meta.block.hcl meta.block.hcl string.quoted.double.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +> error_message = "The image_id value must be a valid AMI id, starting with \"ami-\"." +#^^^^ source.hcl meta.block.hcl meta.block.hcl +# ^^^^^^^^^^^^^ source.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.hcl meta.block.hcl meta.block.hcl string.quoted.double.hcl +# ^^ source.hcl meta.block.hcl meta.block.hcl string.quoted.double.hcl constant.character.escape.hcl +# ^^^^ source.hcl meta.block.hcl meta.block.hcl string.quoted.double.hcl +# ^^ source.hcl meta.block.hcl meta.block.hcl string.quoted.double.hcl constant.character.escape.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl string.quoted.double.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +> } +#^^ source.hcl meta.block.hcl meta.block.hcl +# ^ source.hcl meta.block.hcl meta.block.hcl punctuation.section.block.end.hcl +>} +#^ source.hcl meta.block.hcl punctuation.section.block.end.hcl +> \ No newline at end of file diff --git a/tests/snapshot/hcl/variables_local.hcl b/tests/snapshot/hcl/variables_local.hcl new file mode 100644 index 0000000..52f2a27 --- /dev/null +++ b/tests/snapshot/hcl/variables_local.hcl @@ -0,0 +1,23 @@ +locals { + service_name = "forum" + owner = "Community Team" +} + +locals { + # Ids for multiple sets of EC2 instances, merged together + instance_ids = concat(aws_instance.blue.*.id, aws_instance.green.*.id) +} + +locals { + # Common tags to be assigned to all resources + common_tags = { + Service = local.service_name + Owner = local.owner + } +} + +resource "aws_instance" "example" { + # ... + + tags = local.common_tags +} diff --git a/tests/snapshot/hcl/variables_local.hcl.snap b/tests/snapshot/hcl/variables_local.hcl.snap new file mode 100644 index 0000000..0614fb3 --- /dev/null +++ b/tests/snapshot/hcl/variables_local.hcl.snap @@ -0,0 +1,118 @@ +>locals { +#^^^^^^ source.hcl meta.block.hcl entity.name.type.hcl +# ^ source.hcl meta.block.hcl +# ^ source.hcl meta.block.hcl punctuation.section.block.begin.hcl +> service_name = "forum" +#^^ source.hcl meta.block.hcl +# ^^^^^^^^^^^^ source.hcl meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^ source.hcl meta.block.hcl string.quoted.double.hcl +# ^ source.hcl meta.block.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +> owner = "Community Team" +#^^ source.hcl meta.block.hcl +# ^^^^^ source.hcl meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^^^^^^^^ source.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^^^^^^^^ source.hcl meta.block.hcl string.quoted.double.hcl +# ^ source.hcl meta.block.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +>} +#^ source.hcl meta.block.hcl punctuation.section.block.end.hcl +> +>locals { +#^^^^^^ source.hcl meta.block.hcl entity.name.type.hcl +# ^ source.hcl meta.block.hcl +# ^ source.hcl meta.block.hcl punctuation.section.block.begin.hcl +> # Ids for multiple sets of EC2 instances, merged together +#^^ source.hcl meta.block.hcl +# ^ source.hcl meta.block.hcl comment.line.number-sign.hcl punctuation.definition.comment.hcl +# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.hcl meta.block.hcl comment.line.number-sign.hcl +> instance_ids = concat(aws_instance.blue.*.id, aws_instance.green.*.id) +#^^ source.hcl meta.block.hcl +# ^^^^^^^^^^^^ source.hcl meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl +# ^^^^^^ source.hcl meta.block.hcl meta.function-call.hcl variable.function.hcl +# ^ source.hcl meta.block.hcl meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^^^^^^^^^^^^ source.hcl meta.block.hcl meta.function-call.hcl +# ^ source.hcl meta.block.hcl meta.function-call.hcl keyword.operator.accessor.hcl +# ^^^^ source.hcl meta.block.hcl meta.function-call.hcl variable.other.member.hcl +# ^ source.hcl meta.block.hcl meta.function-call.hcl keyword.operator.accessor.hcl +# ^^ source.hcl meta.block.hcl meta.function-call.hcl +# ^^ source.hcl meta.block.hcl meta.function-call.hcl variable.other.member.hcl +# ^ source.hcl meta.block.hcl meta.function-call.hcl punctuation.separator.hcl +# ^^^^^^^^^^^^^ source.hcl meta.block.hcl meta.function-call.hcl +# ^ source.hcl meta.block.hcl meta.function-call.hcl keyword.operator.accessor.hcl +# ^^^^^ source.hcl meta.block.hcl meta.function-call.hcl variable.other.member.hcl +# ^ source.hcl meta.block.hcl meta.function-call.hcl keyword.operator.accessor.hcl +# ^^ source.hcl meta.block.hcl meta.function-call.hcl +# ^^ source.hcl meta.block.hcl meta.function-call.hcl variable.other.member.hcl +# ^ source.hcl meta.block.hcl meta.function-call.hcl punctuation.section.parens.end.hcl +>} +#^ source.hcl meta.block.hcl punctuation.section.block.end.hcl +> +>locals { +#^^^^^^ source.hcl meta.block.hcl entity.name.type.hcl +# ^ source.hcl meta.block.hcl +# ^ source.hcl meta.block.hcl punctuation.section.block.begin.hcl +> # Common tags to be assigned to all resources +#^^ source.hcl meta.block.hcl +# ^ source.hcl meta.block.hcl comment.line.number-sign.hcl punctuation.definition.comment.hcl +# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.hcl meta.block.hcl comment.line.number-sign.hcl +> common_tags = { +#^^ source.hcl meta.block.hcl +# ^^^^^^^^^^^ source.hcl meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl meta.braces.hcl punctuation.section.braces.begin.hcl +> Service = local.service_name +#^^^^ source.hcl meta.block.hcl meta.braces.hcl +# ^^^^^^^ source.hcl meta.block.hcl meta.braces.hcl meta.mapping.key.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl meta.braces.hcl +# ^ source.hcl meta.block.hcl meta.braces.hcl keyword.operator.assignment.hcl +# ^ source.hcl meta.block.hcl meta.braces.hcl +# ^^^^^^^^^^^^^^^^^^^ source.hcl meta.block.hcl meta.braces.hcl +> Owner = local.owner +#^^^^ source.hcl meta.block.hcl meta.braces.hcl +# ^^^^^ source.hcl meta.block.hcl meta.braces.hcl meta.mapping.key.hcl variable.other.readwrite.hcl +# ^^^ source.hcl meta.block.hcl meta.braces.hcl +# ^ source.hcl meta.block.hcl meta.braces.hcl keyword.operator.assignment.hcl +# ^ source.hcl meta.block.hcl meta.braces.hcl +# ^^^^^^^^^^^^ source.hcl meta.block.hcl meta.braces.hcl +> } +#^^ source.hcl meta.block.hcl meta.braces.hcl +# ^ source.hcl meta.block.hcl meta.braces.hcl punctuation.section.braces.end.hcl +>} +#^ source.hcl meta.block.hcl punctuation.section.block.end.hcl +> +>resource "aws_instance" "example" { +#^^^^^^^^ source.hcl meta.block.hcl entity.name.type.hcl +# ^ source.hcl meta.block.hcl +# ^^^^^^^^^^^^^^ source.hcl meta.block.hcl variable.other.enummember.hcl +# ^ source.hcl meta.block.hcl +# ^^^^^^^^^ source.hcl meta.block.hcl variable.other.enummember.hcl +# ^ source.hcl meta.block.hcl +# ^ source.hcl meta.block.hcl punctuation.section.block.begin.hcl +> # ... +#^^ source.hcl meta.block.hcl +# ^ source.hcl meta.block.hcl comment.line.number-sign.hcl punctuation.definition.comment.hcl +# ^^^^ source.hcl meta.block.hcl comment.line.number-sign.hcl +> +> tags = local.common_tags +#^^ source.hcl meta.block.hcl +# ^^^^ source.hcl meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl +# ^^^^^ source.hcl meta.block.hcl +# ^ source.hcl meta.block.hcl keyword.operator.accessor.hcl +# ^^^^^^^^^^^ source.hcl meta.block.hcl variable.other.member.hcl +>} +#^ source.hcl meta.block.hcl punctuation.section.block.end.hcl +> \ No newline at end of file diff --git a/tests/snapshot/hcl/variables_output.hcl b/tests/snapshot/hcl/variables_output.hcl new file mode 100644 index 0000000..50feee3 --- /dev/null +++ b/tests/snapshot/hcl/variables_output.hcl @@ -0,0 +1,12 @@ +output "instance_ip_addr" { + value = aws_instance.server.private_ip +} + +output "instance_ip_addr" { + value = aws_instance.server.private_ip + description = "The private IP address of the main server instance." + + depends_on = [ + aws_security_group_rule.local_access, + ] +} diff --git a/tests/snapshot/hcl/variables_output.hcl.snap b/tests/snapshot/hcl/variables_output.hcl.snap new file mode 100644 index 0000000..9ff52ee --- /dev/null +++ b/tests/snapshot/hcl/variables_output.hcl.snap @@ -0,0 +1,66 @@ +>output "instance_ip_addr" { +#^^^^^^ source.hcl meta.block.hcl entity.name.type.hcl +# ^ source.hcl meta.block.hcl +# ^^^^^^^^^^^^^^^^^^ source.hcl meta.block.hcl variable.other.enummember.hcl +# ^ source.hcl meta.block.hcl +# ^ source.hcl meta.block.hcl punctuation.section.block.begin.hcl +> value = aws_instance.server.private_ip +#^^ source.hcl meta.block.hcl +# ^^^^^ source.hcl meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl +# ^^^^^^^^^^^^ source.hcl meta.block.hcl +# ^ source.hcl meta.block.hcl keyword.operator.accessor.hcl +# ^^^^^^ source.hcl meta.block.hcl variable.other.member.hcl +# ^ source.hcl meta.block.hcl keyword.operator.accessor.hcl +# ^^^^^^^^^^ source.hcl meta.block.hcl variable.other.member.hcl +>} +#^ source.hcl meta.block.hcl punctuation.section.block.end.hcl +> +>output "instance_ip_addr" { +#^^^^^^ source.hcl meta.block.hcl entity.name.type.hcl +# ^ source.hcl meta.block.hcl +# ^^^^^^^^^^^^^^^^^^ source.hcl meta.block.hcl variable.other.enummember.hcl +# ^ source.hcl meta.block.hcl +# ^ source.hcl meta.block.hcl punctuation.section.block.begin.hcl +> value = aws_instance.server.private_ip +#^^ source.hcl meta.block.hcl +# ^^^^^ source.hcl meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^^^^^^^ source.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl +# ^^^^^^^^^^^^ source.hcl meta.block.hcl +# ^ source.hcl meta.block.hcl keyword.operator.accessor.hcl +# ^^^^^^ source.hcl meta.block.hcl variable.other.member.hcl +# ^ source.hcl meta.block.hcl keyword.operator.accessor.hcl +# ^^^^^^^^^^ source.hcl meta.block.hcl variable.other.member.hcl +> description = "The private IP address of the main server instance." +#^^ source.hcl meta.block.hcl +# ^^^^^^^^^^^ source.hcl meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.hcl meta.block.hcl string.quoted.double.hcl +# ^ source.hcl meta.block.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +> +> depends_on = [ +#^^ source.hcl meta.block.hcl +# ^^^^^^^^^^ source.hcl meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl meta.block.hcl punctuation.section.brackets.begin.hcl +> aws_security_group_rule.local_access, +#^^^^ source.hcl meta.block.hcl +# ^^^^^^^^^^^^^^^^^^^^^^^ source.hcl meta.block.hcl variable.other.readwrite.hcl +# ^ source.hcl meta.block.hcl keyword.operator.accessor.hcl +# ^^^^^^^^^^^^ source.hcl meta.block.hcl variable.other.member.hcl +# ^ source.hcl meta.block.hcl punctuation.separator.hcl +> ] +#^^ source.hcl meta.block.hcl +# ^ source.hcl meta.block.hcl punctuation.section.brackets.end.hcl +>} +#^ source.hcl meta.block.hcl punctuation.section.block.end.hcl +> \ No newline at end of file diff --git a/tests/snapshot/terraform/basic.tf.snap b/tests/snapshot/terraform/basic.tf.snap index 82b60c6..7c45c59 100644 --- a/tests/snapshot/terraform/basic.tf.snap +++ b/tests/snapshot/terraform/basic.tf.snap @@ -1,118 +1,112 @@ ># line comment -#^ source.terraform comment.line.number-sign.hcl punctuation.definition.comment.terraform -# ^^^^^^^^^^^^^ source.terraform comment.line.number-sign.hcl +#^ source.hcl.terraform comment.line.number-sign.hcl punctuation.definition.comment.hcl +# ^^^^^^^^^^^^^ source.hcl.terraform comment.line.number-sign.hcl > >// line comment -#^^ source.terraform comment.line.double-slash.hcl punctuation.definition.comment.terraform -# ^^^^^^^^^^^^^ source.terraform comment.line.double-slash.hcl +#^^ source.hcl.terraform comment.line.double-slash.hcl punctuation.definition.comment.hcl +# ^^^^^^^^^^^^^ source.hcl.terraform comment.line.double-slash.hcl > >/* -#^^ source.terraform comment.block.hcl punctuation.definition.comment.terraform +#^^ source.hcl.terraform comment.block.hcl punctuation.definition.comment.hcl > Block comment -#^^^^^^^^^^^^^^^^ source.terraform comment.block.hcl +#^^^^^^^^^^^^^^^^ source.hcl.terraform comment.block.hcl >*/ -#^^ source.terraform comment.block.hcl punctuation.definition.comment.terraform +#^^ source.hcl.terraform comment.block.hcl punctuation.definition.comment.hcl > >terraform { -#^^^^^^^^^ source.terraform meta.block.terraform entity.name.type.terraform -# ^ source.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform punctuation.section.block.begin.terraform +#^^^^^^^^^ source.hcl.terraform meta.block.hcl entity.name.type.terraform +# ^ source.hcl.terraform meta.block.hcl +# ^ source.hcl.terraform meta.block.hcl punctuation.section.block.begin.hcl > required_providers { -#^^ source.terraform meta.block.terraform -# ^^^^^^^^^^^^^^^^^^ source.terraform meta.block.terraform meta.block.terraform entity.name.label.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform punctuation.section.block.begin.terraform +#^^ source.hcl.terraform meta.block.hcl +# ^^^^^^^^^^^^^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl entity.name.label.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl punctuation.section.block.begin.hcl > azurerm = { -#^^^^ source.terraform meta.block.terraform meta.block.terraform -# ^^^^^^^ source.terraform meta.block.terraform meta.block.terraform variable.declaration.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform variable.declaration.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform meta.braces.terraform punctuation.section.braces.begin.terraform +#^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl +# ^^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.braces.hcl punctuation.section.braces.begin.hcl > source = "hashicorp/azurerm" -#^^^^^^ source.terraform meta.block.terraform meta.block.terraform meta.braces.terraform -# ^^^^^^ source.terraform meta.block.terraform meta.block.terraform meta.braces.terraform meta.mapping.key.terraform variable.other.readwrite.terraform -# ^^ source.terraform meta.block.terraform meta.block.terraform meta.braces.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform meta.braces.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform meta.braces.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform meta.braces.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^^^^^^^^^^^^^^^ source.terraform meta.block.terraform meta.block.terraform meta.braces.terraform string.quoted.double.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform meta.braces.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform +#^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.braces.hcl +# ^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.braces.hcl meta.mapping.key.hcl variable.other.readwrite.hcl +# ^^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.braces.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.braces.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.braces.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.braces.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^^^^^^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.braces.hcl string.quoted.double.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.braces.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl > version = "~> 2.65" -#^^^^^^ source.terraform meta.block.terraform meta.block.terraform meta.braces.terraform -# ^^^^^^^ source.terraform meta.block.terraform meta.block.terraform meta.braces.terraform meta.mapping.key.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform meta.braces.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform meta.braces.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform meta.braces.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform meta.braces.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^^^^^ source.terraform meta.block.terraform meta.block.terraform meta.braces.terraform string.quoted.double.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform meta.braces.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform +#^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.braces.hcl +# ^^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.braces.hcl meta.mapping.key.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.braces.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.braces.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.braces.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.braces.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.braces.hcl string.quoted.double.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.braces.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl > } -#^^^^ source.terraform meta.block.terraform meta.block.terraform meta.braces.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform meta.braces.terraform punctuation.section.braces.end.terraform +#^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.braces.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.braces.hcl punctuation.section.braces.end.hcl > } -#^^ source.terraform meta.block.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform punctuation.section.block.end.terraform +#^^ source.hcl.terraform meta.block.hcl meta.block.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl punctuation.section.block.end.hcl > > required_version = ">= 1.1.0" -#^^ source.terraform meta.block.terraform -# ^^^^^^^^^^^^^^^^ source.terraform meta.block.terraform variable.declaration.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^^^^^^ source.terraform meta.block.terraform string.quoted.double.terraform -# ^ source.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform +#^^ source.hcl.terraform meta.block.hcl +# ^^^^^^^^^^^^^^^^ source.hcl.terraform meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^^ source.hcl.terraform meta.block.hcl string.quoted.double.hcl +# ^ source.hcl.terraform meta.block.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl >} -#^ source.terraform meta.block.terraform punctuation.section.block.end.terraform +#^ source.hcl.terraform meta.block.hcl punctuation.section.block.end.hcl > >provider "azurerm" { -#^^^^^^^^ source.terraform meta.block.terraform entity.name.type.terraform -# ^ source.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform entity.name.tag.terraform entity.name.tag.begin.terraform -# ^^^^^^^ source.terraform meta.block.terraform entity.name.tag.terraform -# ^ source.terraform meta.block.terraform entity.name.tag.terraform entity.name.tag.end.terraform -# ^ source.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform punctuation.section.block.begin.terraform +#^^^^^^^^ source.hcl.terraform meta.block.hcl entity.name.type.terraform +# ^ source.hcl.terraform meta.block.hcl +# ^^^^^^^^^ source.hcl.terraform meta.block.hcl variable.other.enummember.hcl +# ^ source.hcl.terraform meta.block.hcl +# ^ source.hcl.terraform meta.block.hcl punctuation.section.block.begin.hcl > features {} -#^^ source.terraform meta.block.terraform -# ^^^^^^^^ source.terraform meta.block.terraform meta.block.terraform entity.name.label.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform punctuation.section.block.begin.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform punctuation.section.block.end.terraform +#^^ source.hcl.terraform meta.block.hcl +# ^^^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl entity.name.label.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl punctuation.section.block.begin.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl punctuation.section.block.end.hcl >} -#^ source.terraform meta.block.terraform punctuation.section.block.end.terraform +#^ source.hcl.terraform meta.block.hcl punctuation.section.block.end.hcl > >resource "azurerm_resource_group" "rg" { -#^^^^^^^^ source.terraform meta.block.terraform entity.name.type.terraform -# ^ source.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform entity.name.tag.terraform entity.name.tag.begin.terraform -# ^^^^^^^^^^^^^^^^^^^^^^ source.terraform meta.block.terraform entity.name.tag.terraform -# ^ source.terraform meta.block.terraform entity.name.tag.terraform entity.name.tag.end.terraform -# ^ source.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform entity.name.tag.terraform entity.name.tag.begin.terraform -# ^^ source.terraform meta.block.terraform entity.name.tag.terraform -# ^ source.terraform meta.block.terraform entity.name.tag.terraform entity.name.tag.end.terraform -# ^ source.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform punctuation.section.block.begin.terraform +#^^^^^^^^ source.hcl.terraform meta.block.hcl entity.name.type.terraform +# ^ source.hcl.terraform meta.block.hcl +# ^^^^^^^^^^^^^^^^^^^^^^^^ source.hcl.terraform meta.block.hcl variable.other.enummember.hcl +# ^ source.hcl.terraform meta.block.hcl +# ^^^^ source.hcl.terraform meta.block.hcl variable.other.enummember.hcl +# ^ source.hcl.terraform meta.block.hcl +# ^ source.hcl.terraform meta.block.hcl punctuation.section.block.begin.hcl > name = "myTFResourceGroup" -#^^ source.terraform meta.block.terraform -# ^^^^ source.terraform meta.block.terraform variable.declaration.terraform variable.other.readwrite.terraform -# ^^^^^ source.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^^^^^^^^^^^^^^^ source.terraform meta.block.terraform string.quoted.double.terraform -# ^ source.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform +#^^ source.hcl.terraform meta.block.hcl +# ^^^^ source.hcl.terraform meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^^^^^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^^^^^^^^^^^ source.hcl.terraform meta.block.hcl string.quoted.double.hcl +# ^ source.hcl.terraform meta.block.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl > location = "westus2" -#^^ source.terraform meta.block.terraform -# ^^^^^^^^ source.terraform meta.block.terraform variable.declaration.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^^^^^ source.terraform meta.block.terraform string.quoted.double.terraform -# ^ source.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform +#^^ source.hcl.terraform meta.block.hcl +# ^^^^^^^^ source.hcl.terraform meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^ source.hcl.terraform meta.block.hcl string.quoted.double.hcl +# ^ source.hcl.terraform meta.block.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl >} -#^ source.terraform meta.block.terraform punctuation.section.block.end.terraform +#^ source.hcl.terraform meta.block.hcl punctuation.section.block.end.hcl > \ No newline at end of file diff --git a/tests/snapshot/terraform/blocks.tf.snap b/tests/snapshot/terraform/blocks.tf.snap index 6837774..3251eb3 100644 --- a/tests/snapshot/terraform/blocks.tf.snap +++ b/tests/snapshot/terraform/blocks.tf.snap @@ -1,59 +1,55 @@ >resource "aws_instance" "web" { -#^^^^^^^^ source.terraform meta.block.terraform entity.name.type.terraform -# ^ source.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform entity.name.tag.terraform entity.name.tag.begin.terraform -# ^^^^^^^^^^^^ source.terraform meta.block.terraform entity.name.tag.terraform -# ^ source.terraform meta.block.terraform entity.name.tag.terraform entity.name.tag.end.terraform -# ^ source.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform entity.name.tag.terraform entity.name.tag.begin.terraform -# ^^^ source.terraform meta.block.terraform entity.name.tag.terraform -# ^ source.terraform meta.block.terraform entity.name.tag.terraform entity.name.tag.end.terraform -# ^ source.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform punctuation.section.block.begin.terraform +#^^^^^^^^ source.hcl.terraform meta.block.hcl entity.name.type.terraform +# ^ source.hcl.terraform meta.block.hcl +# ^^^^^^^^^^^^^^ source.hcl.terraform meta.block.hcl variable.other.enummember.hcl +# ^ source.hcl.terraform meta.block.hcl +# ^^^^^ source.hcl.terraform meta.block.hcl variable.other.enummember.hcl +# ^ source.hcl.terraform meta.block.hcl +# ^ source.hcl.terraform meta.block.hcl punctuation.section.block.begin.hcl > ami = "ami-a1b2c3d4" -#^^ source.terraform meta.block.terraform -# ^^^ source.terraform meta.block.terraform variable.declaration.terraform variable.other.readwrite.terraform -# ^^^^^^^^^^^ source.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^^^^^^^^^^ source.terraform meta.block.terraform string.quoted.double.terraform -# ^ source.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform +#^^ source.hcl.terraform meta.block.hcl +# ^^^ source.hcl.terraform meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^^^^^^^^^^^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^^^^^^ source.hcl.terraform meta.block.hcl string.quoted.double.hcl +# ^ source.hcl.terraform meta.block.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl > instance_type = "t2.micro" -#^^ source.terraform meta.block.terraform -# ^^^^^^^^^^^^^ source.terraform meta.block.terraform variable.declaration.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^^^^^^ source.terraform meta.block.terraform string.quoted.double.terraform -# ^ source.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform +#^^ source.hcl.terraform meta.block.hcl +# ^^^^^^^^^^^^^ source.hcl.terraform meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^^ source.hcl.terraform meta.block.hcl string.quoted.double.hcl +# ^ source.hcl.terraform meta.block.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl > timeouts { -#^^ source.terraform meta.block.terraform -# ^^^^^^^^ source.terraform meta.block.terraform meta.block.terraform entity.name.label.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform punctuation.section.block.begin.terraform +#^^ source.hcl.terraform meta.block.hcl +# ^^^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl entity.name.label.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl punctuation.section.block.begin.hcl > create = "60m" -#^^^^ source.terraform meta.block.terraform meta.block.terraform -# ^^^^^^ source.terraform meta.block.terraform meta.block.terraform variable.declaration.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform variable.declaration.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^ source.terraform meta.block.terraform meta.block.terraform string.quoted.double.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform +#^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl +# ^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^ source.hcl.terraform meta.block.hcl meta.block.hcl string.quoted.double.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl > delete = "2h" -#^^^^ source.terraform meta.block.terraform meta.block.terraform -# ^^^^^^ source.terraform meta.block.terraform meta.block.terraform variable.declaration.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform variable.declaration.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^ source.terraform meta.block.terraform meta.block.terraform string.quoted.double.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform +#^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl +# ^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^ source.hcl.terraform meta.block.hcl meta.block.hcl string.quoted.double.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl > } -#^^ source.terraform meta.block.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform punctuation.section.block.end.terraform +#^^ source.hcl.terraform meta.block.hcl meta.block.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl punctuation.section.block.end.hcl >} -#^ source.terraform meta.block.terraform punctuation.section.block.end.terraform +#^ source.hcl.terraform meta.block.hcl punctuation.section.block.end.hcl > \ No newline at end of file diff --git a/tests/snapshot/terraform/comments.tf.snap b/tests/snapshot/terraform/comments.tf.snap index 5d11eba..51073d5 100644 --- a/tests/snapshot/terraform/comments.tf.snap +++ b/tests/snapshot/terraform/comments.tf.snap @@ -1,15 +1,15 @@ ># line comment -#^ source.terraform comment.line.number-sign.hcl punctuation.definition.comment.terraform -# ^^^^^^^^^^^^^ source.terraform comment.line.number-sign.hcl +#^ source.hcl.terraform comment.line.number-sign.hcl punctuation.definition.comment.hcl +# ^^^^^^^^^^^^^ source.hcl.terraform comment.line.number-sign.hcl > >// line comment -#^^ source.terraform comment.line.double-slash.hcl punctuation.definition.comment.terraform -# ^^^^^^^^^^^^^ source.terraform comment.line.double-slash.hcl +#^^ source.hcl.terraform comment.line.double-slash.hcl punctuation.definition.comment.hcl +# ^^^^^^^^^^^^^ source.hcl.terraform comment.line.double-slash.hcl > >/* -#^^ source.terraform comment.block.hcl punctuation.definition.comment.terraform +#^^ source.hcl.terraform comment.block.hcl punctuation.definition.comment.hcl > Block comment -#^^^^^^^^^^^^^^^^ source.terraform comment.block.hcl +#^^^^^^^^^^^^^^^^ source.hcl.terraform comment.block.hcl >*/ -#^^ source.terraform comment.block.hcl punctuation.definition.comment.terraform +#^^ source.hcl.terraform comment.block.hcl punctuation.definition.comment.hcl > \ No newline at end of file diff --git a/tests/snapshot/terraform/data_sources.tf.snap b/tests/snapshot/terraform/data_sources.tf.snap index d90849d..89f667e 100644 --- a/tests/snapshot/terraform/data_sources.tf.snap +++ b/tests/snapshot/terraform/data_sources.tf.snap @@ -1,62 +1,58 @@ >data "aws_ami" "example" { -#^^^^ source.terraform meta.block.terraform entity.name.type.terraform -# ^ source.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform entity.name.tag.terraform entity.name.tag.begin.terraform -# ^^^^^^^ source.terraform meta.block.terraform entity.name.tag.terraform -# ^ source.terraform meta.block.terraform entity.name.tag.terraform entity.name.tag.end.terraform -# ^ source.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform entity.name.tag.terraform entity.name.tag.begin.terraform -# ^^^^^^^ source.terraform meta.block.terraform entity.name.tag.terraform -# ^ source.terraform meta.block.terraform entity.name.tag.terraform entity.name.tag.end.terraform -# ^ source.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform punctuation.section.block.begin.terraform +#^^^^ source.hcl.terraform meta.block.hcl entity.name.type.terraform +# ^ source.hcl.terraform meta.block.hcl +# ^^^^^^^^^ source.hcl.terraform meta.block.hcl variable.other.enummember.hcl +# ^ source.hcl.terraform meta.block.hcl +# ^^^^^^^^^ source.hcl.terraform meta.block.hcl variable.other.enummember.hcl +# ^ source.hcl.terraform meta.block.hcl +# ^ source.hcl.terraform meta.block.hcl punctuation.section.block.begin.hcl > most_recent = true -#^^ source.terraform meta.block.terraform -# ^^^^^^^^^^^ source.terraform meta.block.terraform variable.declaration.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform -# ^^^^ source.terraform meta.block.terraform constant.language.terraform +#^^ source.hcl.terraform meta.block.hcl +# ^^^^^^^^^^^ source.hcl.terraform meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^^^^ source.hcl.terraform meta.block.hcl constant.language.hcl > > owners = ["self"] -#^^ source.terraform meta.block.terraform -# ^^^^^^ source.terraform meta.block.terraform variable.declaration.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform punctuation.section.brackets.begin.terraform -# ^ source.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^^ source.terraform meta.block.terraform string.quoted.double.terraform -# ^ source.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform -# ^ source.terraform meta.block.terraform punctuation.section.brackets.end.terraform +#^^ source.hcl.terraform meta.block.hcl +# ^^^^^^ source.hcl.terraform meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl punctuation.section.brackets.begin.hcl +# ^ source.hcl.terraform meta.block.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^ source.hcl.terraform meta.block.hcl string.quoted.double.hcl +# ^ source.hcl.terraform meta.block.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl.terraform meta.block.hcl punctuation.section.brackets.end.hcl > tags = { -#^^ source.terraform meta.block.terraform -# ^^^^ source.terraform meta.block.terraform variable.declaration.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform meta.braces.terraform punctuation.section.braces.begin.terraform +#^^ source.hcl.terraform meta.block.hcl +# ^^^^ source.hcl.terraform meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl meta.braces.hcl punctuation.section.braces.begin.hcl > Name = "app-server" -#^^^^ source.terraform meta.block.terraform meta.braces.terraform -# ^^^^ source.terraform meta.block.terraform meta.braces.terraform meta.mapping.key.terraform variable.other.readwrite.terraform -# ^^^ source.terraform meta.block.terraform meta.braces.terraform -# ^ source.terraform meta.block.terraform meta.braces.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.block.terraform meta.braces.terraform -# ^ source.terraform meta.block.terraform meta.braces.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^^^^^^^^ source.terraform meta.block.terraform meta.braces.terraform string.quoted.double.terraform -# ^ source.terraform meta.block.terraform meta.braces.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform +#^^^^ source.hcl.terraform meta.block.hcl meta.braces.hcl +# ^^^^ source.hcl.terraform meta.block.hcl meta.braces.hcl meta.mapping.key.hcl variable.other.readwrite.hcl +# ^^^ source.hcl.terraform meta.block.hcl meta.braces.hcl +# ^ source.hcl.terraform meta.block.hcl meta.braces.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.block.hcl meta.braces.hcl +# ^ source.hcl.terraform meta.block.hcl meta.braces.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^^^^ source.hcl.terraform meta.block.hcl meta.braces.hcl string.quoted.double.hcl +# ^ source.hcl.terraform meta.block.hcl meta.braces.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl > Tested = "true" -#^^^^ source.terraform meta.block.terraform meta.braces.terraform -# ^^^^^^ source.terraform meta.block.terraform meta.braces.terraform meta.mapping.key.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.block.terraform meta.braces.terraform -# ^ source.terraform meta.block.terraform meta.braces.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.block.terraform meta.braces.terraform -# ^ source.terraform meta.block.terraform meta.braces.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^^ source.terraform meta.block.terraform meta.braces.terraform string.quoted.double.terraform -# ^ source.terraform meta.block.terraform meta.braces.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform +#^^^^ source.hcl.terraform meta.block.hcl meta.braces.hcl +# ^^^^^^ source.hcl.terraform meta.block.hcl meta.braces.hcl meta.mapping.key.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl meta.braces.hcl +# ^ source.hcl.terraform meta.block.hcl meta.braces.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.block.hcl meta.braces.hcl +# ^ source.hcl.terraform meta.block.hcl meta.braces.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^ source.hcl.terraform meta.block.hcl meta.braces.hcl string.quoted.double.hcl +# ^ source.hcl.terraform meta.block.hcl meta.braces.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl > } -#^^ source.terraform meta.block.terraform meta.braces.terraform -# ^ source.terraform meta.block.terraform meta.braces.terraform punctuation.section.braces.end.terraform +#^^ source.hcl.terraform meta.block.hcl meta.braces.hcl +# ^ source.hcl.terraform meta.block.hcl meta.braces.hcl punctuation.section.braces.end.hcl >} -#^ source.terraform meta.block.terraform punctuation.section.block.end.terraform +#^ source.hcl.terraform meta.block.hcl punctuation.section.block.end.hcl > \ No newline at end of file diff --git a/tests/snapshot/terraform/expressions_conditional.tf.snap b/tests/snapshot/terraform/expressions_conditional.tf.snap index 6e9470b..8953d4f 100644 --- a/tests/snapshot/terraform/expressions_conditional.tf.snap +++ b/tests/snapshot/terraform/expressions_conditional.tf.snap @@ -1,53 +1,53 @@ >var.a != "" ? var.a : "default-a" -#^^^ source.terraform support.constant.terraform -# ^ source.terraform keyword.operator.accessor.terraform -# ^ source.terraform variable.other.member.terraform -# ^ source.terraform -# ^^ source.terraform keyword.operator.terraform -# ^ source.terraform -# ^ source.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^ source.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform -# ^ source.terraform -# ^ source.terraform keyword.operator.terraform -# ^ source.terraform -# ^^^ source.terraform support.constant.terraform -# ^ source.terraform keyword.operator.accessor.terraform -# ^ source.terraform variable.other.member.terraform -# ^ source.terraform -# ^ source.terraform -# ^ source.terraform -# ^ source.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^^^^^^^ source.terraform string.quoted.double.terraform -# ^ source.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform +#^^^ source.hcl.terraform support.constant.terraform +# ^ source.hcl.terraform keyword.operator.accessor.hcl +# ^ source.hcl.terraform variable.other.member.hcl +# ^ source.hcl.terraform +# ^^ source.hcl.terraform keyword.operator.hcl +# ^ source.hcl.terraform +# ^ source.hcl.terraform string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^ source.hcl.terraform string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl.terraform +# ^ source.hcl.terraform keyword.operator.hcl +# ^ source.hcl.terraform +# ^^^ source.hcl.terraform support.constant.terraform +# ^ source.hcl.terraform keyword.operator.accessor.hcl +# ^ source.hcl.terraform variable.other.member.hcl +# ^ source.hcl.terraform +# ^ source.hcl.terraform +# ^ source.hcl.terraform +# ^ source.hcl.terraform string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^^^ source.hcl.terraform string.quoted.double.hcl +# ^ source.hcl.terraform string.quoted.double.hcl punctuation.definition.string.end.hcl >var.example ? tostring(12) : "hello" -#^^^ source.terraform support.constant.terraform -# ^ source.terraform keyword.operator.accessor.terraform -# ^^^^^^^ source.terraform variable.other.member.terraform -# ^ source.terraform -# ^ source.terraform keyword.operator.terraform -# ^ source.terraform -# ^^^^^^^^ source.terraform meta.function-call.terraform support.function.builtin.terraform -# ^ source.terraform meta.function-call.terraform punctuation.section.parens.begin.terraform -# ^^ source.terraform meta.function-call.terraform constant.numeric.integer.terraform -# ^ source.terraform meta.function-call.terraform punctuation.section.parens.end.terraform -# ^ source.terraform -# ^ source.terraform -# ^ source.terraform -# ^ source.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^^^ source.terraform string.quoted.double.terraform -# ^ source.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform +#^^^ source.hcl.terraform support.constant.terraform +# ^ source.hcl.terraform keyword.operator.accessor.hcl +# ^^^^^^^ source.hcl.terraform variable.other.member.hcl +# ^ source.hcl.terraform +# ^ source.hcl.terraform keyword.operator.hcl +# ^ source.hcl.terraform +# ^^^^^^^^ source.hcl.terraform meta.function-call.hcl support.function.builtin.terraform +# ^ source.hcl.terraform meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^^ source.hcl.terraform meta.function-call.hcl constant.numeric.integer.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.section.parens.end.hcl +# ^ source.hcl.terraform +# ^ source.hcl.terraform +# ^ source.hcl.terraform +# ^ source.hcl.terraform string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^ source.hcl.terraform string.quoted.double.hcl +# ^ source.hcl.terraform string.quoted.double.hcl punctuation.definition.string.end.hcl >var.example ? 12 : "hello" -#^^^ source.terraform support.constant.terraform -# ^ source.terraform keyword.operator.accessor.terraform -# ^^^^^^^ source.terraform variable.other.member.terraform -# ^ source.terraform -# ^ source.terraform keyword.operator.terraform -# ^ source.terraform -# ^^ source.terraform constant.numeric.integer.terraform -# ^ source.terraform -# ^ source.terraform -# ^ source.terraform -# ^ source.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^^^ source.terraform string.quoted.double.terraform -# ^ source.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform +#^^^ source.hcl.terraform support.constant.terraform +# ^ source.hcl.terraform keyword.operator.accessor.hcl +# ^^^^^^^ source.hcl.terraform variable.other.member.hcl +# ^ source.hcl.terraform +# ^ source.hcl.terraform keyword.operator.hcl +# ^ source.hcl.terraform +# ^^ source.hcl.terraform constant.numeric.integer.hcl +# ^ source.hcl.terraform +# ^ source.hcl.terraform +# ^ source.hcl.terraform +# ^ source.hcl.terraform string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^ source.hcl.terraform string.quoted.double.hcl +# ^ source.hcl.terraform string.quoted.double.hcl punctuation.definition.string.end.hcl > \ No newline at end of file diff --git a/tests/snapshot/terraform/expressions_dynamic.tf.snap b/tests/snapshot/terraform/expressions_dynamic.tf.snap index af74639..415e6f5 100644 --- a/tests/snapshot/terraform/expressions_dynamic.tf.snap +++ b/tests/snapshot/terraform/expressions_dynamic.tf.snap @@ -1,178 +1,168 @@ >resource "thing" "name" { -#^^^^^^^^ source.terraform meta.block.terraform entity.name.type.terraform -# ^ source.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform entity.name.tag.terraform entity.name.tag.begin.terraform -# ^^^^^ source.terraform meta.block.terraform entity.name.tag.terraform -# ^ source.terraform meta.block.terraform entity.name.tag.terraform entity.name.tag.end.terraform -# ^ source.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform entity.name.tag.terraform entity.name.tag.begin.terraform -# ^^^^ source.terraform meta.block.terraform entity.name.tag.terraform -# ^ source.terraform meta.block.terraform entity.name.tag.terraform entity.name.tag.end.terraform -# ^ source.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform punctuation.section.block.begin.terraform +#^^^^^^^^ source.hcl.terraform meta.block.hcl entity.name.type.terraform +# ^ source.hcl.terraform meta.block.hcl +# ^^^^^^^ source.hcl.terraform meta.block.hcl variable.other.enummember.hcl +# ^ source.hcl.terraform meta.block.hcl +# ^^^^^^ source.hcl.terraform meta.block.hcl variable.other.enummember.hcl +# ^ source.hcl.terraform meta.block.hcl +# ^ source.hcl.terraform meta.block.hcl punctuation.section.block.begin.hcl > name = "tf-test-name" -#^^ source.terraform meta.block.terraform -# ^^^^ source.terraform meta.block.terraform variable.declaration.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^^^^^^^^^^ source.terraform meta.block.terraform string.quoted.double.terraform -# ^ source.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform +#^^ source.hcl.terraform meta.block.hcl +# ^^^^ source.hcl.terraform meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^^^^^^ source.hcl.terraform meta.block.hcl string.quoted.double.hcl +# ^ source.hcl.terraform meta.block.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl > > dynamic "setting" { -#^^ source.terraform meta.block.terraform -# ^^^^^^^ source.terraform meta.block.terraform meta.block.terraform entity.name.label.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform entity.name.tag.terraform entity.name.tag.begin.terraform -# ^^^^^^^ source.terraform meta.block.terraform meta.block.terraform entity.name.tag.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform entity.name.tag.terraform entity.name.tag.end.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform punctuation.section.block.begin.terraform +#^^ source.hcl.terraform meta.block.hcl +# ^^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl entity.name.label.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl +# ^^^^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl variable.other.enummember.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl punctuation.section.block.begin.hcl > for_each = var.settings -#^^^^ source.terraform meta.block.terraform meta.block.terraform -# ^^^^^^^^ source.terraform meta.block.terraform meta.block.terraform variable.declaration.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform variable.declaration.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform variable.declaration.terraform -# ^^^ source.terraform meta.block.terraform meta.block.terraform support.constant.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform keyword.operator.accessor.terraform -# ^^^^^^^^ source.terraform meta.block.terraform meta.block.terraform variable.other.member.terraform +#^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl +# ^^^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl variable.declaration.hcl +# ^^^ source.hcl.terraform meta.block.hcl meta.block.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl keyword.operator.accessor.hcl +# ^^^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl variable.other.member.hcl > content { -#^^^^ source.terraform meta.block.terraform meta.block.terraform -# ^^^^^^^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform entity.name.label.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform punctuation.section.block.begin.terraform +#^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl +# ^^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl entity.name.label.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl punctuation.section.block.begin.hcl > namespace = setting.value["namespace"] -#^^^^^^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform -# ^^^^^^^^^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform variable.declaration.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform variable.declaration.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform variable.declaration.terraform -# ^^^^^^^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform keyword.operator.accessor.terraform -# ^^^^^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform variable.other.member.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform punctuation.section.brackets.begin.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^^^^^^^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform string.quoted.double.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform punctuation.section.brackets.end.terraform +#^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl +# ^^^^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl +# ^^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl keyword.operator.accessor.hcl +# ^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl variable.other.member.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl punctuation.section.brackets.begin.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl string.quoted.double.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl punctuation.section.brackets.end.hcl > name = setting.value["name"] -#^^^^^^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform -# ^^^^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform variable.declaration.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform variable.declaration.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform variable.declaration.terraform -# ^^^^^^^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform keyword.operator.accessor.terraform -# ^^^^^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform variable.other.member.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform punctuation.section.brackets.begin.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform string.quoted.double.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform punctuation.section.brackets.end.terraform +#^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl +# ^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl +# ^^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl keyword.operator.accessor.hcl +# ^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl variable.other.member.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl punctuation.section.brackets.begin.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl string.quoted.double.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl punctuation.section.brackets.end.hcl > value = setting.value["value"] -#^^^^^^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform -# ^^^^^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform variable.declaration.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform variable.declaration.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform variable.declaration.terraform -# ^^^^^^^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform keyword.operator.accessor.terraform -# ^^^^^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform variable.other.member.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform punctuation.section.brackets.begin.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^^^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform string.quoted.double.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform punctuation.section.brackets.end.terraform +#^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl +# ^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl +# ^^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl keyword.operator.accessor.hcl +# ^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl variable.other.member.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl punctuation.section.brackets.begin.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl string.quoted.double.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl punctuation.section.brackets.end.hcl > } -#^^^^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform punctuation.section.block.end.terraform +#^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl punctuation.section.block.end.hcl > } -#^^ source.terraform meta.block.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform punctuation.section.block.end.terraform +#^^ source.hcl.terraform meta.block.hcl meta.block.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl punctuation.section.block.end.hcl > > dynamic "origin_group" { -#^^ source.terraform meta.block.terraform -# ^^^^^^^ source.terraform meta.block.terraform meta.block.terraform entity.name.label.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform entity.name.tag.terraform entity.name.tag.begin.terraform -# ^^^^^^^^^^^^ source.terraform meta.block.terraform meta.block.terraform entity.name.tag.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform entity.name.tag.terraform entity.name.tag.end.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform punctuation.section.block.begin.terraform +#^^ source.hcl.terraform meta.block.hcl +# ^^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl entity.name.label.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl +# ^^^^^^^^^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl variable.other.enummember.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl punctuation.section.block.begin.hcl > for_each = var.load_balancer_origin_groups -#^^^^ source.terraform meta.block.terraform meta.block.terraform -# ^^^^^^^^ source.terraform meta.block.terraform meta.block.terraform variable.declaration.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform variable.declaration.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform variable.declaration.terraform -# ^^^ source.terraform meta.block.terraform meta.block.terraform support.constant.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform keyword.operator.accessor.terraform -# ^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.terraform meta.block.terraform meta.block.terraform variable.other.member.terraform +#^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl +# ^^^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl variable.declaration.hcl +# ^^^ source.hcl.terraform meta.block.hcl meta.block.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl keyword.operator.accessor.hcl +# ^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl variable.other.member.hcl > content { -#^^^^ source.terraform meta.block.terraform meta.block.terraform -# ^^^^^^^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform entity.name.label.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform punctuation.section.block.begin.terraform +#^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl +# ^^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl entity.name.label.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl punctuation.section.block.begin.hcl > name = origin_group.key -#^^^^^^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform -# ^^^^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform variable.declaration.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform variable.declaration.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform variable.declaration.terraform -# ^^^^^^^^^^^^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform keyword.operator.accessor.terraform -# ^^^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform variable.other.member.terraform +#^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl +# ^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl +# ^^^^^^^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl keyword.operator.accessor.hcl +# ^^^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl variable.other.member.hcl > > dynamic "origin" { -#^^^^^^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform -# ^^^^^^^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform meta.block.terraform entity.name.label.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform meta.block.terraform entity.name.tag.terraform entity.name.tag.begin.terraform -# ^^^^^^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform meta.block.terraform entity.name.tag.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform meta.block.terraform entity.name.tag.terraform entity.name.tag.end.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform meta.block.terraform punctuation.section.block.begin.terraform +#^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl +# ^^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl entity.name.label.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl +# ^^^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl variable.other.enummember.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl punctuation.section.block.begin.hcl > for_each = origin_group.value.origins -#^^^^^^^^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform meta.block.terraform -# ^^^^^^^^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform meta.block.terraform variable.declaration.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform meta.block.terraform variable.declaration.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform meta.block.terraform variable.declaration.terraform -# ^^^^^^^^^^^^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform meta.block.terraform keyword.operator.accessor.terraform -# ^^^^^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform meta.block.terraform variable.other.member.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform meta.block.terraform keyword.operator.accessor.terraform -# ^^^^^^^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform meta.block.terraform variable.other.member.terraform +#^^^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl +# ^^^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl +# ^^^^^^^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl keyword.operator.accessor.hcl +# ^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl variable.other.member.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl keyword.operator.accessor.hcl +# ^^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl variable.other.member.hcl > content { -#^^^^^^^^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform meta.block.terraform -# ^^^^^^^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform meta.block.terraform meta.block.terraform entity.name.label.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform meta.block.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform meta.block.terraform meta.block.terraform punctuation.section.block.begin.terraform +#^^^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl +# ^^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl entity.name.label.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl punctuation.section.block.begin.hcl > hostname = origin.value.hostname -#^^^^^^^^^^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform meta.block.terraform meta.block.terraform -# ^^^^^^^^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform meta.block.terraform meta.block.terraform variable.declaration.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform meta.block.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform meta.block.terraform meta.block.terraform variable.declaration.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform meta.block.terraform meta.block.terraform variable.declaration.terraform -# ^^^^^^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform meta.block.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform meta.block.terraform meta.block.terraform keyword.operator.accessor.terraform -# ^^^^^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform meta.block.terraform meta.block.terraform variable.other.member.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform meta.block.terraform meta.block.terraform keyword.operator.accessor.terraform -# ^^^^^^^^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform meta.block.terraform meta.block.terraform variable.other.member.terraform +#^^^^^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl +# ^^^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl variable.declaration.hcl +# ^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl keyword.operator.accessor.hcl +# ^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl variable.other.member.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl keyword.operator.accessor.hcl +# ^^^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl variable.other.member.hcl > } -#^^^^^^^^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform meta.block.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform meta.block.terraform meta.block.terraform punctuation.section.block.end.terraform +#^^^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl punctuation.section.block.end.hcl > } -#^^^^^^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform meta.block.terraform punctuation.section.block.end.terraform +#^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl punctuation.section.block.end.hcl > } -#^^^^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform meta.block.terraform punctuation.section.block.end.terraform +#^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl punctuation.section.block.end.hcl > } -#^^ source.terraform meta.block.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform punctuation.section.block.end.terraform +#^^ source.hcl.terraform meta.block.hcl meta.block.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl punctuation.section.block.end.hcl >} -#^ source.terraform meta.block.terraform punctuation.section.block.end.terraform +#^ source.hcl.terraform meta.block.hcl punctuation.section.block.end.hcl > \ No newline at end of file diff --git a/tests/snapshot/terraform/expressions_for.tf.snap b/tests/snapshot/terraform/expressions_for.tf.snap index dcd4676..a8849f1 100644 --- a/tests/snapshot/terraform/expressions_for.tf.snap +++ b/tests/snapshot/terraform/expressions_for.tf.snap @@ -1,330 +1,330 @@ >[for s in var.list : upper(s)] -#^ source.terraform punctuation.section.brackets.begin.terraform -# ^^^ source.terraform keyword.control.terraform -# ^ source.terraform -# ^ source.terraform variable.other.readwrite.terraform -# ^ source.terraform -# ^^ source.terraform keyword.operator.word.terraform -# ^ source.terraform -# ^^^ source.terraform support.constant.terraform -# ^ source.terraform keyword.operator.accessor.terraform -# ^^^^ source.terraform variable.other.member.terraform -# ^ source.terraform -# ^ source.terraform keyword.operator.terraform -# ^ source.terraform -# ^^^^^ source.terraform meta.function-call.terraform support.function.builtin.terraform -# ^ source.terraform meta.function-call.terraform punctuation.section.parens.begin.terraform -# ^ source.terraform meta.function-call.terraform -# ^ source.terraform meta.function-call.terraform punctuation.section.parens.end.terraform -# ^ source.terraform punctuation.section.brackets.end.terraform +#^ source.hcl.terraform punctuation.section.brackets.begin.hcl +# ^^^ source.hcl.terraform keyword.control.hcl +# ^ source.hcl.terraform +# ^ source.hcl.terraform variable.other.readwrite.hcl +# ^ source.hcl.terraform +# ^^ source.hcl.terraform keyword.operator.word.hcl +# ^ source.hcl.terraform +# ^^^ source.hcl.terraform variable.other.readwrite.hcl +# ^ source.hcl.terraform keyword.operator.accessor.hcl +# ^^^^ source.hcl.terraform variable.other.member.hcl +# ^ source.hcl.terraform +# ^ source.hcl.terraform keyword.operator.hcl +# ^ source.hcl.terraform +# ^^^^^ source.hcl.terraform meta.function-call.hcl variable.function.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^ source.hcl.terraform meta.function-call.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.section.parens.end.hcl +# ^ source.hcl.terraform punctuation.section.brackets.end.hcl > >[for k, v in var.map : length(k) + length(v)] -#^ source.terraform punctuation.section.brackets.begin.terraform -# ^^^ source.terraform keyword.control.terraform -# ^ source.terraform -# ^ source.terraform variable.other.readwrite.terraform -# ^ source.terraform punctuation.separator.terraform -# ^ source.terraform -# ^ source.terraform variable.other.readwrite.terraform -# ^ source.terraform -# ^^ source.terraform keyword.operator.word.terraform -# ^ source.terraform -# ^^^ source.terraform support.constant.terraform -# ^ source.terraform keyword.operator.accessor.terraform -# ^^^ source.terraform variable.other.member.terraform -# ^ source.terraform -# ^ source.terraform keyword.operator.terraform -# ^ source.terraform -# ^^^^^^ source.terraform meta.function-call.terraform support.function.builtin.terraform -# ^ source.terraform meta.function-call.terraform punctuation.section.parens.begin.terraform -# ^ source.terraform meta.function-call.terraform -# ^ source.terraform meta.function-call.terraform punctuation.section.parens.end.terraform -# ^ source.terraform -# ^ source.terraform keyword.operator.arithmetic.terraform -# ^ source.terraform -# ^^^^^^ source.terraform meta.function-call.terraform support.function.builtin.terraform -# ^ source.terraform meta.function-call.terraform punctuation.section.parens.begin.terraform -# ^ source.terraform meta.function-call.terraform -# ^ source.terraform meta.function-call.terraform punctuation.section.parens.end.terraform -# ^ source.terraform punctuation.section.brackets.end.terraform +#^ source.hcl.terraform punctuation.section.brackets.begin.hcl +# ^^^ source.hcl.terraform keyword.control.hcl +# ^ source.hcl.terraform +# ^ source.hcl.terraform variable.other.readwrite.hcl +# ^ source.hcl.terraform punctuation.separator.hcl +# ^ source.hcl.terraform +# ^ source.hcl.terraform variable.other.readwrite.hcl +# ^ source.hcl.terraform +# ^^ source.hcl.terraform keyword.operator.word.hcl +# ^ source.hcl.terraform +# ^^^ source.hcl.terraform variable.other.readwrite.hcl +# ^ source.hcl.terraform keyword.operator.accessor.hcl +# ^^^ source.hcl.terraform variable.other.member.hcl +# ^ source.hcl.terraform +# ^ source.hcl.terraform keyword.operator.hcl +# ^ source.hcl.terraform +# ^^^^^^ source.hcl.terraform meta.function-call.hcl variable.function.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^ source.hcl.terraform meta.function-call.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.section.parens.end.hcl +# ^ source.hcl.terraform +# ^ source.hcl.terraform keyword.operator.arithmetic.hcl +# ^ source.hcl.terraform +# ^^^^^^ source.hcl.terraform meta.function-call.hcl variable.function.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^ source.hcl.terraform meta.function-call.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.section.parens.end.hcl +# ^ source.hcl.terraform punctuation.section.brackets.end.hcl > >[for i, v in var.list : "${i} is ${v}"] -#^ source.terraform punctuation.section.brackets.begin.terraform -# ^^^ source.terraform keyword.control.terraform -# ^ source.terraform -# ^ source.terraform variable.other.readwrite.terraform -# ^ source.terraform punctuation.separator.terraform -# ^ source.terraform -# ^ source.terraform variable.other.readwrite.terraform -# ^ source.terraform -# ^^ source.terraform keyword.operator.word.terraform -# ^ source.terraform -# ^^^ source.terraform support.constant.terraform -# ^ source.terraform keyword.operator.accessor.terraform -# ^^^^ source.terraform variable.other.member.terraform -# ^ source.terraform -# ^ source.terraform keyword.operator.terraform -# ^ source.terraform -# ^ source.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^ source.terraform string.quoted.double.terraform meta.interpolation.terraform keyword.other.interpolation.begin.terraform -# ^ source.terraform string.quoted.double.terraform meta.interpolation.terraform variable.other.readwrite.terraform -# ^ source.terraform string.quoted.double.terraform meta.interpolation.terraform keyword.other.interpolation.end.terraform -# ^^^ source.terraform string.quoted.double.terraform -# ^ source.terraform string.quoted.double.terraform meta.interpolation.terraform -# ^^ source.terraform string.quoted.double.terraform meta.interpolation.terraform keyword.other.interpolation.begin.terraform -# ^ source.terraform string.quoted.double.terraform meta.interpolation.terraform variable.other.readwrite.terraform -# ^ source.terraform string.quoted.double.terraform meta.interpolation.terraform keyword.other.interpolation.end.terraform -# ^ source.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform -# ^ source.terraform punctuation.section.brackets.end.terraform +#^ source.hcl.terraform punctuation.section.brackets.begin.hcl +# ^^^ source.hcl.terraform keyword.control.hcl +# ^ source.hcl.terraform +# ^ source.hcl.terraform variable.other.readwrite.hcl +# ^ source.hcl.terraform punctuation.separator.hcl +# ^ source.hcl.terraform +# ^ source.hcl.terraform variable.other.readwrite.hcl +# ^ source.hcl.terraform +# ^^ source.hcl.terraform keyword.operator.word.hcl +# ^ source.hcl.terraform +# ^^^ source.hcl.terraform variable.other.readwrite.hcl +# ^ source.hcl.terraform keyword.operator.accessor.hcl +# ^^^^ source.hcl.terraform variable.other.member.hcl +# ^ source.hcl.terraform +# ^ source.hcl.terraform keyword.operator.hcl +# ^ source.hcl.terraform +# ^ source.hcl.terraform string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^ source.hcl.terraform string.quoted.double.hcl meta.interpolation.hcl keyword.other.interpolation.begin.hcl +# ^ source.hcl.terraform string.quoted.double.hcl meta.interpolation.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform string.quoted.double.hcl meta.interpolation.hcl keyword.other.interpolation.end.hcl +# ^^^ source.hcl.terraform string.quoted.double.hcl +# ^ source.hcl.terraform string.quoted.double.hcl meta.interpolation.hcl +# ^^ source.hcl.terraform string.quoted.double.hcl meta.interpolation.hcl keyword.other.interpolation.begin.hcl +# ^ source.hcl.terraform string.quoted.double.hcl meta.interpolation.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform string.quoted.double.hcl meta.interpolation.hcl keyword.other.interpolation.end.hcl +# ^ source.hcl.terraform string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl.terraform punctuation.section.brackets.end.hcl > >{for s in var.list : s => upper(s)} -#^ source.terraform punctuation.section.braces.begin.terraform -# ^^^ source.terraform keyword.control.terraform -# ^ source.terraform -# ^ source.terraform variable.other.readwrite.terraform -# ^ source.terraform -# ^^ source.terraform keyword.operator.word.terraform -# ^ source.terraform -# ^^^ source.terraform support.constant.terraform -# ^ source.terraform keyword.operator.accessor.terraform -# ^^^^ source.terraform variable.other.member.terraform -# ^ source.terraform -# ^ source.terraform keyword.operator.terraform -# ^ source.terraform -# ^ source.terraform variable.other.readwrite.terraform -# ^ source.terraform -# ^^ source.terraform storage.type.function.terraform -# ^ source.terraform -# ^^^^^ source.terraform meta.function-call.terraform support.function.builtin.terraform -# ^ source.terraform meta.function-call.terraform punctuation.section.parens.begin.terraform -# ^ source.terraform meta.function-call.terraform -# ^ source.terraform meta.function-call.terraform punctuation.section.parens.end.terraform -# ^ source.terraform punctuation.section.braces.end.terraform +#^ source.hcl.terraform punctuation.section.braces.begin.hcl +# ^^^ source.hcl.terraform keyword.control.hcl +# ^ source.hcl.terraform +# ^ source.hcl.terraform variable.other.readwrite.hcl +# ^ source.hcl.terraform +# ^^ source.hcl.terraform keyword.operator.word.hcl +# ^ source.hcl.terraform +# ^^^ source.hcl.terraform variable.other.readwrite.hcl +# ^ source.hcl.terraform keyword.operator.accessor.hcl +# ^^^^ source.hcl.terraform variable.other.member.hcl +# ^ source.hcl.terraform +# ^ source.hcl.terraform keyword.operator.hcl +# ^ source.hcl.terraform +# ^ source.hcl.terraform variable.other.readwrite.hcl +# ^ source.hcl.terraform +# ^^ source.hcl.terraform storage.type.function.hcl +# ^ source.hcl.terraform +# ^^^^^ source.hcl.terraform meta.function-call.hcl variable.function.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^ source.hcl.terraform meta.function-call.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.section.parens.end.hcl +# ^ source.hcl.terraform punctuation.section.braces.end.hcl > >[for s in var.list : upper(s) if s != ""] -#^ source.terraform punctuation.section.brackets.begin.terraform -# ^^^ source.terraform keyword.control.terraform -# ^ source.terraform -# ^ source.terraform variable.other.readwrite.terraform -# ^ source.terraform -# ^^ source.terraform keyword.operator.word.terraform -# ^ source.terraform -# ^^^ source.terraform support.constant.terraform -# ^ source.terraform keyword.operator.accessor.terraform -# ^^^^ source.terraform variable.other.member.terraform -# ^ source.terraform -# ^ source.terraform keyword.operator.terraform -# ^ source.terraform -# ^^^^^ source.terraform meta.function-call.terraform support.function.builtin.terraform -# ^ source.terraform meta.function-call.terraform punctuation.section.parens.begin.terraform -# ^ source.terraform meta.function-call.terraform -# ^ source.terraform meta.function-call.terraform punctuation.section.parens.end.terraform -# ^ source.terraform -# ^^ source.terraform keyword.control.conditional.terraform -# ^ source.terraform -# ^ source.terraform variable.other.readwrite.terraform -# ^ source.terraform -# ^^ source.terraform keyword.operator.terraform -# ^ source.terraform -# ^ source.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^ source.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform -# ^ source.terraform punctuation.section.brackets.end.terraform +#^ source.hcl.terraform punctuation.section.brackets.begin.hcl +# ^^^ source.hcl.terraform keyword.control.hcl +# ^ source.hcl.terraform +# ^ source.hcl.terraform variable.other.readwrite.hcl +# ^ source.hcl.terraform +# ^^ source.hcl.terraform keyword.operator.word.hcl +# ^ source.hcl.terraform +# ^^^ source.hcl.terraform variable.other.readwrite.hcl +# ^ source.hcl.terraform keyword.operator.accessor.hcl +# ^^^^ source.hcl.terraform variable.other.member.hcl +# ^ source.hcl.terraform +# ^ source.hcl.terraform keyword.operator.hcl +# ^ source.hcl.terraform +# ^^^^^ source.hcl.terraform meta.function-call.hcl variable.function.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^ source.hcl.terraform meta.function-call.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.section.parens.end.hcl +# ^ source.hcl.terraform +# ^^ source.hcl.terraform keyword.control.conditional.hcl +# ^ source.hcl.terraform +# ^ source.hcl.terraform variable.other.readwrite.hcl +# ^ source.hcl.terraform +# ^^ source.hcl.terraform keyword.operator.hcl +# ^ source.hcl.terraform +# ^ source.hcl.terraform string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^ source.hcl.terraform string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl.terraform punctuation.section.brackets.end.hcl > >locals { -#^^^^^^ source.terraform meta.block.terraform entity.name.type.terraform -# ^ source.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform punctuation.section.block.begin.terraform +#^^^^^^ source.hcl.terraform meta.block.hcl entity.name.type.terraform +# ^ source.hcl.terraform meta.block.hcl +# ^ source.hcl.terraform meta.block.hcl punctuation.section.block.begin.hcl > admin_users = { -#^^ source.terraform meta.block.terraform -# ^^^^^^^^^^^ source.terraform meta.block.terraform variable.declaration.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform meta.braces.terraform punctuation.section.braces.begin.terraform +#^^ source.hcl.terraform meta.block.hcl +# ^^^^^^^^^^^ source.hcl.terraform meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl meta.braces.hcl punctuation.section.braces.begin.hcl > for name, user in var.users : name => user if user.is_admin -#^^^^ source.terraform meta.block.terraform meta.braces.terraform -# ^^^ source.terraform meta.block.terraform meta.braces.terraform keyword.control.terraform -# ^ source.terraform meta.block.terraform meta.braces.terraform -# ^^^^ source.terraform meta.block.terraform meta.braces.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.block.terraform meta.braces.terraform punctuation.separator.terraform -# ^ source.terraform meta.block.terraform meta.braces.terraform -# ^^^^ source.terraform meta.block.terraform meta.braces.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.block.terraform meta.braces.terraform -# ^^ source.terraform meta.block.terraform meta.braces.terraform keyword.operator.word.terraform -# ^ source.terraform meta.block.terraform meta.braces.terraform -# ^^^ source.terraform meta.block.terraform meta.braces.terraform support.constant.terraform -# ^ source.terraform meta.block.terraform meta.braces.terraform keyword.operator.accessor.terraform -# ^^^^^ source.terraform meta.block.terraform meta.braces.terraform variable.other.member.terraform -# ^ source.terraform meta.block.terraform meta.braces.terraform -# ^ source.terraform meta.block.terraform meta.braces.terraform keyword.operator.terraform -# ^ source.terraform meta.block.terraform meta.braces.terraform -# ^^^^ source.terraform meta.block.terraform meta.braces.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.block.terraform meta.braces.terraform -# ^^ source.terraform meta.block.terraform meta.braces.terraform storage.type.function.terraform -# ^ source.terraform meta.block.terraform meta.braces.terraform -# ^^^^ source.terraform meta.block.terraform meta.braces.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.block.terraform meta.braces.terraform -# ^^ source.terraform meta.block.terraform meta.braces.terraform keyword.control.conditional.terraform -# ^ source.terraform meta.block.terraform meta.braces.terraform -# ^^^^ source.terraform meta.block.terraform meta.braces.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.block.terraform meta.braces.terraform keyword.operator.accessor.terraform -# ^^^^^^^^ source.terraform meta.block.terraform meta.braces.terraform variable.other.member.terraform +#^^^^ source.hcl.terraform meta.block.hcl meta.braces.hcl +# ^^^ source.hcl.terraform meta.block.hcl meta.braces.hcl keyword.control.hcl +# ^ source.hcl.terraform meta.block.hcl meta.braces.hcl +# ^^^^ source.hcl.terraform meta.block.hcl meta.braces.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl meta.braces.hcl punctuation.separator.hcl +# ^ source.hcl.terraform meta.block.hcl meta.braces.hcl +# ^^^^ source.hcl.terraform meta.block.hcl meta.braces.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl meta.braces.hcl +# ^^ source.hcl.terraform meta.block.hcl meta.braces.hcl keyword.operator.word.hcl +# ^ source.hcl.terraform meta.block.hcl meta.braces.hcl +# ^^^ source.hcl.terraform meta.block.hcl meta.braces.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl meta.braces.hcl keyword.operator.accessor.hcl +# ^^^^^ source.hcl.terraform meta.block.hcl meta.braces.hcl variable.other.member.hcl +# ^ source.hcl.terraform meta.block.hcl meta.braces.hcl +# ^ source.hcl.terraform meta.block.hcl meta.braces.hcl keyword.operator.hcl +# ^ source.hcl.terraform meta.block.hcl meta.braces.hcl +# ^^^^ source.hcl.terraform meta.block.hcl meta.braces.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl meta.braces.hcl +# ^^ source.hcl.terraform meta.block.hcl meta.braces.hcl storage.type.function.hcl +# ^ source.hcl.terraform meta.block.hcl meta.braces.hcl +# ^^^^ source.hcl.terraform meta.block.hcl meta.braces.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl meta.braces.hcl +# ^^ source.hcl.terraform meta.block.hcl meta.braces.hcl keyword.control.conditional.hcl +# ^ source.hcl.terraform meta.block.hcl meta.braces.hcl +# ^^^^ source.hcl.terraform meta.block.hcl meta.braces.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl meta.braces.hcl keyword.operator.accessor.hcl +# ^^^^^^^^ source.hcl.terraform meta.block.hcl meta.braces.hcl variable.other.member.hcl > } -#^^ source.terraform meta.block.terraform meta.braces.terraform -# ^ source.terraform meta.block.terraform meta.braces.terraform punctuation.section.braces.end.terraform +#^^ source.hcl.terraform meta.block.hcl meta.braces.hcl +# ^ source.hcl.terraform meta.block.hcl meta.braces.hcl punctuation.section.braces.end.hcl > regular_users = { -#^^ source.terraform meta.block.terraform -# ^^^^^^^^^^^^^ source.terraform meta.block.terraform variable.declaration.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform meta.braces.terraform punctuation.section.braces.begin.terraform +#^^ source.hcl.terraform meta.block.hcl +# ^^^^^^^^^^^^^ source.hcl.terraform meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl meta.braces.hcl punctuation.section.braces.begin.hcl > for name, user in var.users : name => user -#^^^^ source.terraform meta.block.terraform meta.braces.terraform -# ^^^ source.terraform meta.block.terraform meta.braces.terraform keyword.control.terraform -# ^ source.terraform meta.block.terraform meta.braces.terraform -# ^^^^ source.terraform meta.block.terraform meta.braces.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.block.terraform meta.braces.terraform punctuation.separator.terraform -# ^ source.terraform meta.block.terraform meta.braces.terraform -# ^^^^ source.terraform meta.block.terraform meta.braces.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.block.terraform meta.braces.terraform -# ^^ source.terraform meta.block.terraform meta.braces.terraform keyword.operator.word.terraform -# ^ source.terraform meta.block.terraform meta.braces.terraform -# ^^^ source.terraform meta.block.terraform meta.braces.terraform support.constant.terraform -# ^ source.terraform meta.block.terraform meta.braces.terraform keyword.operator.accessor.terraform -# ^^^^^ source.terraform meta.block.terraform meta.braces.terraform variable.other.member.terraform -# ^ source.terraform meta.block.terraform meta.braces.terraform -# ^ source.terraform meta.block.terraform meta.braces.terraform keyword.operator.terraform -# ^ source.terraform meta.block.terraform meta.braces.terraform -# ^^^^ source.terraform meta.block.terraform meta.braces.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.block.terraform meta.braces.terraform -# ^^ source.terraform meta.block.terraform meta.braces.terraform storage.type.function.terraform -# ^ source.terraform meta.block.terraform meta.braces.terraform -# ^^^^ source.terraform meta.block.terraform meta.braces.terraform variable.other.readwrite.terraform +#^^^^ source.hcl.terraform meta.block.hcl meta.braces.hcl +# ^^^ source.hcl.terraform meta.block.hcl meta.braces.hcl keyword.control.hcl +# ^ source.hcl.terraform meta.block.hcl meta.braces.hcl +# ^^^^ source.hcl.terraform meta.block.hcl meta.braces.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl meta.braces.hcl punctuation.separator.hcl +# ^ source.hcl.terraform meta.block.hcl meta.braces.hcl +# ^^^^ source.hcl.terraform meta.block.hcl meta.braces.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl meta.braces.hcl +# ^^ source.hcl.terraform meta.block.hcl meta.braces.hcl keyword.operator.word.hcl +# ^ source.hcl.terraform meta.block.hcl meta.braces.hcl +# ^^^ source.hcl.terraform meta.block.hcl meta.braces.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl meta.braces.hcl keyword.operator.accessor.hcl +# ^^^^^ source.hcl.terraform meta.block.hcl meta.braces.hcl variable.other.member.hcl +# ^ source.hcl.terraform meta.block.hcl meta.braces.hcl +# ^ source.hcl.terraform meta.block.hcl meta.braces.hcl keyword.operator.hcl +# ^ source.hcl.terraform meta.block.hcl meta.braces.hcl +# ^^^^ source.hcl.terraform meta.block.hcl meta.braces.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl meta.braces.hcl +# ^^ source.hcl.terraform meta.block.hcl meta.braces.hcl storage.type.function.hcl +# ^ source.hcl.terraform meta.block.hcl meta.braces.hcl +# ^^^^ source.hcl.terraform meta.block.hcl meta.braces.hcl variable.other.readwrite.hcl > if !user.is_admin -#^^^^ source.terraform meta.block.terraform meta.braces.terraform -# ^^ source.terraform meta.block.terraform meta.braces.terraform keyword.control.conditional.terraform -# ^ source.terraform meta.block.terraform meta.braces.terraform -# ^ source.terraform meta.block.terraform meta.braces.terraform keyword.operator.logical.terraform -# ^^^^ source.terraform meta.block.terraform meta.braces.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.block.terraform meta.braces.terraform keyword.operator.accessor.terraform -# ^^^^^^^^ source.terraform meta.block.terraform meta.braces.terraform variable.other.member.terraform +#^^^^ source.hcl.terraform meta.block.hcl meta.braces.hcl +# ^^ source.hcl.terraform meta.block.hcl meta.braces.hcl keyword.control.conditional.hcl +# ^ source.hcl.terraform meta.block.hcl meta.braces.hcl +# ^ source.hcl.terraform meta.block.hcl meta.braces.hcl keyword.operator.logical.hcl +# ^^^^ source.hcl.terraform meta.block.hcl meta.braces.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl meta.braces.hcl keyword.operator.accessor.hcl +# ^^^^^^^^ source.hcl.terraform meta.block.hcl meta.braces.hcl variable.other.member.hcl > } -#^^ source.terraform meta.block.terraform meta.braces.terraform -# ^ source.terraform meta.block.terraform meta.braces.terraform punctuation.section.braces.end.terraform +#^^ source.hcl.terraform meta.block.hcl meta.braces.hcl +# ^ source.hcl.terraform meta.block.hcl meta.braces.hcl punctuation.section.braces.end.hcl > admin_users_list = [ -#^^ source.terraform meta.block.terraform -# ^^^^^^^^^^^^^^^^ source.terraform meta.block.terraform variable.declaration.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform punctuation.section.brackets.begin.terraform +#^^ source.hcl.terraform meta.block.hcl +# ^^^^^^^^^^^^^^^^ source.hcl.terraform meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl punctuation.section.brackets.begin.hcl > for name, user in var.users : name if user.is_admin -#^^^^ source.terraform meta.block.terraform -# ^^^ source.terraform meta.block.terraform keyword.control.terraform -# ^ source.terraform meta.block.terraform -# ^^^^ source.terraform meta.block.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.block.terraform punctuation.separator.terraform -# ^ source.terraform meta.block.terraform -# ^^^^ source.terraform meta.block.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.block.terraform -# ^^ source.terraform meta.block.terraform keyword.operator.word.terraform -# ^ source.terraform meta.block.terraform -# ^^^ source.terraform meta.block.terraform support.constant.terraform -# ^ source.terraform meta.block.terraform keyword.operator.accessor.terraform -# ^^^^^ source.terraform meta.block.terraform variable.other.member.terraform -# ^ source.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform keyword.operator.terraform -# ^ source.terraform meta.block.terraform -# ^^^^ source.terraform meta.block.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.block.terraform -# ^^ source.terraform meta.block.terraform keyword.control.conditional.terraform -# ^ source.terraform meta.block.terraform -# ^^^^ source.terraform meta.block.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.block.terraform keyword.operator.accessor.terraform -# ^^^^^^^^ source.terraform meta.block.terraform variable.other.member.terraform +#^^^^ source.hcl.terraform meta.block.hcl +# ^^^ source.hcl.terraform meta.block.hcl keyword.control.hcl +# ^ source.hcl.terraform meta.block.hcl +# ^^^^ source.hcl.terraform meta.block.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl punctuation.separator.hcl +# ^ source.hcl.terraform meta.block.hcl +# ^^^^ source.hcl.terraform meta.block.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl +# ^^ source.hcl.terraform meta.block.hcl keyword.operator.word.hcl +# ^ source.hcl.terraform meta.block.hcl +# ^^^ source.hcl.terraform meta.block.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl keyword.operator.accessor.hcl +# ^^^^^ source.hcl.terraform meta.block.hcl variable.other.member.hcl +# ^ source.hcl.terraform meta.block.hcl +# ^ source.hcl.terraform meta.block.hcl keyword.operator.hcl +# ^ source.hcl.terraform meta.block.hcl +# ^^^^ source.hcl.terraform meta.block.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl +# ^^ source.hcl.terraform meta.block.hcl keyword.control.conditional.hcl +# ^ source.hcl.terraform meta.block.hcl +# ^^^^ source.hcl.terraform meta.block.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl keyword.operator.accessor.hcl +# ^^^^^^^^ source.hcl.terraform meta.block.hcl variable.other.member.hcl > ] -#^^ source.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform punctuation.section.brackets.end.terraform +#^^ source.hcl.terraform meta.block.hcl +# ^ source.hcl.terraform meta.block.hcl punctuation.section.brackets.end.hcl > regular_users_list = [ -#^^ source.terraform meta.block.terraform -# ^^^^^^^^^^^^^^^^^^ source.terraform meta.block.terraform variable.declaration.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform punctuation.section.brackets.begin.terraform +#^^ source.hcl.terraform meta.block.hcl +# ^^^^^^^^^^^^^^^^^^ source.hcl.terraform meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl punctuation.section.brackets.begin.hcl > for name, user in var.users : name -#^^^^ source.terraform meta.block.terraform -# ^^^ source.terraform meta.block.terraform keyword.control.terraform -# ^ source.terraform meta.block.terraform -# ^^^^ source.terraform meta.block.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.block.terraform punctuation.separator.terraform -# ^ source.terraform meta.block.terraform -# ^^^^ source.terraform meta.block.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.block.terraform -# ^^ source.terraform meta.block.terraform keyword.operator.word.terraform -# ^ source.terraform meta.block.terraform -# ^^^ source.terraform meta.block.terraform support.constant.terraform -# ^ source.terraform meta.block.terraform keyword.operator.accessor.terraform -# ^^^^^ source.terraform meta.block.terraform variable.other.member.terraform -# ^ source.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform keyword.operator.terraform -# ^ source.terraform meta.block.terraform -# ^^^^ source.terraform meta.block.terraform variable.other.readwrite.terraform +#^^^^ source.hcl.terraform meta.block.hcl +# ^^^ source.hcl.terraform meta.block.hcl keyword.control.hcl +# ^ source.hcl.terraform meta.block.hcl +# ^^^^ source.hcl.terraform meta.block.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl punctuation.separator.hcl +# ^ source.hcl.terraform meta.block.hcl +# ^^^^ source.hcl.terraform meta.block.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl +# ^^ source.hcl.terraform meta.block.hcl keyword.operator.word.hcl +# ^ source.hcl.terraform meta.block.hcl +# ^^^ source.hcl.terraform meta.block.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl keyword.operator.accessor.hcl +# ^^^^^ source.hcl.terraform meta.block.hcl variable.other.member.hcl +# ^ source.hcl.terraform meta.block.hcl +# ^ source.hcl.terraform meta.block.hcl keyword.operator.hcl +# ^ source.hcl.terraform meta.block.hcl +# ^^^^ source.hcl.terraform meta.block.hcl variable.other.readwrite.hcl > if !user.is_admin -#^^^^ source.terraform meta.block.terraform -# ^^ source.terraform meta.block.terraform keyword.control.conditional.terraform -# ^ source.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform keyword.operator.logical.terraform -# ^^^^ source.terraform meta.block.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.block.terraform keyword.operator.accessor.terraform -# ^^^^^^^^ source.terraform meta.block.terraform variable.other.member.terraform +#^^^^ source.hcl.terraform meta.block.hcl +# ^^ source.hcl.terraform meta.block.hcl keyword.control.conditional.hcl +# ^ source.hcl.terraform meta.block.hcl +# ^ source.hcl.terraform meta.block.hcl keyword.operator.logical.hcl +# ^^^^ source.hcl.terraform meta.block.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl keyword.operator.accessor.hcl +# ^^^^^^^^ source.hcl.terraform meta.block.hcl variable.other.member.hcl > ] -#^^ source.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform punctuation.section.brackets.end.terraform +#^^ source.hcl.terraform meta.block.hcl +# ^ source.hcl.terraform meta.block.hcl punctuation.section.brackets.end.hcl >} -#^ source.terraform meta.block.terraform punctuation.section.block.end.terraform +#^ source.hcl.terraform meta.block.hcl punctuation.section.block.end.hcl > >locals { -#^^^^^^ source.terraform meta.block.terraform entity.name.type.terraform -# ^ source.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform punctuation.section.block.begin.terraform +#^^^^^^ source.hcl.terraform meta.block.hcl entity.name.type.terraform +# ^ source.hcl.terraform meta.block.hcl +# ^ source.hcl.terraform meta.block.hcl punctuation.section.block.begin.hcl > users_by_role = { -#^^ source.terraform meta.block.terraform -# ^^^^^^^^^^^^^ source.terraform meta.block.terraform variable.declaration.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform meta.braces.terraform punctuation.section.braces.begin.terraform +#^^ source.hcl.terraform meta.block.hcl +# ^^^^^^^^^^^^^ source.hcl.terraform meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl meta.braces.hcl punctuation.section.braces.begin.hcl > for name, user in var.users : user.role => name... -#^^^^ source.terraform meta.block.terraform meta.braces.terraform -# ^^^ source.terraform meta.block.terraform meta.braces.terraform keyword.control.terraform -# ^ source.terraform meta.block.terraform meta.braces.terraform -# ^^^^ source.terraform meta.block.terraform meta.braces.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.block.terraform meta.braces.terraform punctuation.separator.terraform -# ^ source.terraform meta.block.terraform meta.braces.terraform -# ^^^^ source.terraform meta.block.terraform meta.braces.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.block.terraform meta.braces.terraform -# ^^ source.terraform meta.block.terraform meta.braces.terraform keyword.operator.word.terraform -# ^ source.terraform meta.block.terraform meta.braces.terraform -# ^^^ source.terraform meta.block.terraform meta.braces.terraform support.constant.terraform -# ^ source.terraform meta.block.terraform meta.braces.terraform keyword.operator.accessor.terraform -# ^^^^^ source.terraform meta.block.terraform meta.braces.terraform variable.other.member.terraform -# ^ source.terraform meta.block.terraform meta.braces.terraform -# ^ source.terraform meta.block.terraform meta.braces.terraform keyword.operator.terraform -# ^ source.terraform meta.block.terraform meta.braces.terraform -# ^^^^ source.terraform meta.block.terraform meta.braces.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.block.terraform meta.braces.terraform keyword.operator.accessor.terraform -# ^^^^ source.terraform meta.block.terraform meta.braces.terraform variable.other.member.terraform -# ^ source.terraform meta.block.terraform meta.braces.terraform -# ^^ source.terraform meta.block.terraform meta.braces.terraform storage.type.function.terraform -# ^ source.terraform meta.block.terraform meta.braces.terraform -# ^^^^ source.terraform meta.block.terraform meta.braces.terraform variable.other.readwrite.terraform -# ^^^ source.terraform meta.block.terraform meta.braces.terraform keyword.operator.terraform +#^^^^ source.hcl.terraform meta.block.hcl meta.braces.hcl +# ^^^ source.hcl.terraform meta.block.hcl meta.braces.hcl keyword.control.hcl +# ^ source.hcl.terraform meta.block.hcl meta.braces.hcl +# ^^^^ source.hcl.terraform meta.block.hcl meta.braces.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl meta.braces.hcl punctuation.separator.hcl +# ^ source.hcl.terraform meta.block.hcl meta.braces.hcl +# ^^^^ source.hcl.terraform meta.block.hcl meta.braces.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl meta.braces.hcl +# ^^ source.hcl.terraform meta.block.hcl meta.braces.hcl keyword.operator.word.hcl +# ^ source.hcl.terraform meta.block.hcl meta.braces.hcl +# ^^^ source.hcl.terraform meta.block.hcl meta.braces.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl meta.braces.hcl keyword.operator.accessor.hcl +# ^^^^^ source.hcl.terraform meta.block.hcl meta.braces.hcl variable.other.member.hcl +# ^ source.hcl.terraform meta.block.hcl meta.braces.hcl +# ^ source.hcl.terraform meta.block.hcl meta.braces.hcl keyword.operator.hcl +# ^ source.hcl.terraform meta.block.hcl meta.braces.hcl +# ^^^^ source.hcl.terraform meta.block.hcl meta.braces.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl meta.braces.hcl keyword.operator.accessor.hcl +# ^^^^ source.hcl.terraform meta.block.hcl meta.braces.hcl variable.other.member.hcl +# ^ source.hcl.terraform meta.block.hcl meta.braces.hcl +# ^^ source.hcl.terraform meta.block.hcl meta.braces.hcl storage.type.function.hcl +# ^ source.hcl.terraform meta.block.hcl meta.braces.hcl +# ^^^^ source.hcl.terraform meta.block.hcl meta.braces.hcl variable.other.readwrite.hcl +# ^^^ source.hcl.terraform meta.block.hcl meta.braces.hcl keyword.operator.hcl > } -#^^ source.terraform meta.block.terraform meta.braces.terraform -# ^ source.terraform meta.block.terraform meta.braces.terraform punctuation.section.braces.end.terraform +#^^ source.hcl.terraform meta.block.hcl meta.braces.hcl +# ^ source.hcl.terraform meta.block.hcl meta.braces.hcl punctuation.section.braces.end.hcl >} -#^ source.terraform meta.block.terraform punctuation.section.block.end.terraform +#^ source.hcl.terraform meta.block.hcl punctuation.section.block.end.hcl > > \ No newline at end of file diff --git a/tests/snapshot/terraform/expressions_functions.tf b/tests/snapshot/terraform/expressions_functions.tf index 0d4a8e9..227e0d4 100644 --- a/tests/snapshot/terraform/expressions_functions.tf +++ b/tests/snapshot/terraform/expressions_functions.tf @@ -31,3 +31,7 @@ trimprefix("helloworld", "hello") trimsuffix("helloworld", "world") trimspace(" hello\n\n") upper("hello") + +# known + +foo("bar") diff --git a/tests/snapshot/terraform/expressions_functions.tf.snap b/tests/snapshot/terraform/expressions_functions.tf.snap index ece1bd8..2052393 100644 --- a/tests/snapshot/terraform/expressions_functions.tf.snap +++ b/tests/snapshot/terraform/expressions_functions.tf.snap @@ -1,348 +1,360 @@ ># numeric -#^ source.terraform comment.line.number-sign.hcl punctuation.definition.comment.terraform -# ^^^^^^^^ source.terraform comment.line.number-sign.hcl +#^ source.hcl.terraform comment.line.number-sign.hcl punctuation.definition.comment.hcl +# ^^^^^^^^ source.hcl.terraform comment.line.number-sign.hcl > >abs(23) -#^^^ source.terraform meta.function-call.terraform support.function.builtin.terraform -# ^ source.terraform meta.function-call.terraform punctuation.section.parens.begin.terraform -# ^^ source.terraform meta.function-call.terraform constant.numeric.integer.terraform -# ^ source.terraform meta.function-call.terraform punctuation.section.parens.end.terraform +#^^^ source.hcl.terraform meta.function-call.hcl support.function.builtin.terraform +# ^ source.hcl.terraform meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^^ source.hcl.terraform meta.function-call.hcl constant.numeric.integer.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.section.parens.end.hcl >ceil(5) -#^^^^ source.terraform meta.function-call.terraform support.function.builtin.terraform -# ^ source.terraform meta.function-call.terraform punctuation.section.parens.begin.terraform -# ^ source.terraform meta.function-call.terraform constant.numeric.integer.terraform -# ^ source.terraform meta.function-call.terraform punctuation.section.parens.end.terraform +#^^^^ source.hcl.terraform meta.function-call.hcl support.function.builtin.terraform +# ^ source.hcl.terraform meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^ source.hcl.terraform meta.function-call.hcl constant.numeric.integer.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.section.parens.end.hcl >floor(5) -#^^^^^ source.terraform meta.function-call.terraform support.function.builtin.terraform -# ^ source.terraform meta.function-call.terraform punctuation.section.parens.begin.terraform -# ^ source.terraform meta.function-call.terraform constant.numeric.integer.terraform -# ^ source.terraform meta.function-call.terraform punctuation.section.parens.end.terraform +#^^^^^ source.hcl.terraform meta.function-call.hcl support.function.builtin.terraform +# ^ source.hcl.terraform meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^ source.hcl.terraform meta.function-call.hcl constant.numeric.integer.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.section.parens.end.hcl >log(50, 10) -#^^^ source.terraform meta.function-call.terraform support.function.builtin.terraform -# ^ source.terraform meta.function-call.terraform punctuation.section.parens.begin.terraform -# ^^ source.terraform meta.function-call.terraform constant.numeric.integer.terraform -# ^ source.terraform meta.function-call.terraform punctuation.separator.terraform -# ^ source.terraform meta.function-call.terraform -# ^^ source.terraform meta.function-call.terraform constant.numeric.integer.terraform -# ^ source.terraform meta.function-call.terraform punctuation.section.parens.end.terraform +#^^^ source.hcl.terraform meta.function-call.hcl support.function.builtin.terraform +# ^ source.hcl.terraform meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^^ source.hcl.terraform meta.function-call.hcl constant.numeric.integer.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.separator.hcl +# ^ source.hcl.terraform meta.function-call.hcl +# ^^ source.hcl.terraform meta.function-call.hcl constant.numeric.integer.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.section.parens.end.hcl >max(12, 54, 3) -#^^^ source.terraform meta.function-call.terraform support.function.builtin.terraform -# ^ source.terraform meta.function-call.terraform punctuation.section.parens.begin.terraform -# ^^ source.terraform meta.function-call.terraform constant.numeric.integer.terraform -# ^ source.terraform meta.function-call.terraform punctuation.separator.terraform -# ^ source.terraform meta.function-call.terraform -# ^^ source.terraform meta.function-call.terraform constant.numeric.integer.terraform -# ^ source.terraform meta.function-call.terraform punctuation.separator.terraform -# ^ source.terraform meta.function-call.terraform -# ^ source.terraform meta.function-call.terraform constant.numeric.integer.terraform -# ^ source.terraform meta.function-call.terraform punctuation.section.parens.end.terraform +#^^^ source.hcl.terraform meta.function-call.hcl support.function.builtin.terraform +# ^ source.hcl.terraform meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^^ source.hcl.terraform meta.function-call.hcl constant.numeric.integer.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.separator.hcl +# ^ source.hcl.terraform meta.function-call.hcl +# ^^ source.hcl.terraform meta.function-call.hcl constant.numeric.integer.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.separator.hcl +# ^ source.hcl.terraform meta.function-call.hcl +# ^ source.hcl.terraform meta.function-call.hcl constant.numeric.integer.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.section.parens.end.hcl >min(12, 54, 3) -#^^^ source.terraform meta.function-call.terraform support.function.builtin.terraform -# ^ source.terraform meta.function-call.terraform punctuation.section.parens.begin.terraform -# ^^ source.terraform meta.function-call.terraform constant.numeric.integer.terraform -# ^ source.terraform meta.function-call.terraform punctuation.separator.terraform -# ^ source.terraform meta.function-call.terraform -# ^^ source.terraform meta.function-call.terraform constant.numeric.integer.terraform -# ^ source.terraform meta.function-call.terraform punctuation.separator.terraform -# ^ source.terraform meta.function-call.terraform -# ^ source.terraform meta.function-call.terraform constant.numeric.integer.terraform -# ^ source.terraform meta.function-call.terraform punctuation.section.parens.end.terraform +#^^^ source.hcl.terraform meta.function-call.hcl support.function.builtin.terraform +# ^ source.hcl.terraform meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^^ source.hcl.terraform meta.function-call.hcl constant.numeric.integer.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.separator.hcl +# ^ source.hcl.terraform meta.function-call.hcl +# ^^ source.hcl.terraform meta.function-call.hcl constant.numeric.integer.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.separator.hcl +# ^ source.hcl.terraform meta.function-call.hcl +# ^ source.hcl.terraform meta.function-call.hcl constant.numeric.integer.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.section.parens.end.hcl >parseint("100", 10) -#^^^^^^^^ source.terraform meta.function-call.terraform variable.function.terraform -# ^ source.terraform meta.function-call.terraform punctuation.section.parens.begin.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^ source.terraform meta.function-call.terraform string.quoted.double.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform -# ^ source.terraform meta.function-call.terraform punctuation.separator.terraform -# ^ source.terraform meta.function-call.terraform -# ^^ source.terraform meta.function-call.terraform constant.numeric.integer.terraform -# ^ source.terraform meta.function-call.terraform punctuation.section.parens.end.terraform +#^^^^^^^^ source.hcl.terraform meta.function-call.hcl variable.function.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.separator.hcl +# ^ source.hcl.terraform meta.function-call.hcl +# ^^ source.hcl.terraform meta.function-call.hcl constant.numeric.integer.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.section.parens.end.hcl >pow(3, 2) -#^^^ source.terraform meta.function-call.terraform support.function.builtin.terraform -# ^ source.terraform meta.function-call.terraform punctuation.section.parens.begin.terraform -# ^ source.terraform meta.function-call.terraform constant.numeric.integer.terraform -# ^ source.terraform meta.function-call.terraform punctuation.separator.terraform -# ^ source.terraform meta.function-call.terraform -# ^ source.terraform meta.function-call.terraform constant.numeric.integer.terraform -# ^ source.terraform meta.function-call.terraform punctuation.section.parens.end.terraform +#^^^ source.hcl.terraform meta.function-call.hcl support.function.builtin.terraform +# ^ source.hcl.terraform meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^ source.hcl.terraform meta.function-call.hcl constant.numeric.integer.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.separator.hcl +# ^ source.hcl.terraform meta.function-call.hcl +# ^ source.hcl.terraform meta.function-call.hcl constant.numeric.integer.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.section.parens.end.hcl >signum(-13) -#^^^^^^ source.terraform meta.function-call.terraform support.function.builtin.terraform -# ^ source.terraform meta.function-call.terraform punctuation.section.parens.begin.terraform -# ^ source.terraform meta.function-call.terraform keyword.operator.arithmetic.terraform -# ^^ source.terraform meta.function-call.terraform constant.numeric.integer.terraform -# ^ source.terraform meta.function-call.terraform punctuation.section.parens.end.terraform +#^^^^^^ source.hcl.terraform meta.function-call.hcl support.function.builtin.terraform +# ^ source.hcl.terraform meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^ source.hcl.terraform meta.function-call.hcl keyword.operator.arithmetic.hcl +# ^^ source.hcl.terraform meta.function-call.hcl constant.numeric.integer.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.section.parens.end.hcl > ># string -#^ source.terraform comment.line.number-sign.hcl punctuation.definition.comment.terraform -# ^^^^^^^ source.terraform comment.line.number-sign.hcl +#^ source.hcl.terraform comment.line.number-sign.hcl punctuation.definition.comment.hcl +# ^^^^^^^ source.hcl.terraform comment.line.number-sign.hcl > >chomp("hello\n") -#^^^^^ source.terraform meta.function-call.terraform support.function.builtin.terraform -# ^ source.terraform meta.function-call.terraform punctuation.section.parens.begin.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^^^ source.terraform meta.function-call.terraform string.quoted.double.terraform -# ^^ source.terraform meta.function-call.terraform string.quoted.double.terraform constant.character.escape.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform -# ^ source.terraform meta.function-call.terraform punctuation.section.parens.end.terraform +#^^^^^ source.hcl.terraform meta.function-call.hcl support.function.builtin.terraform +# ^ source.hcl.terraform meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl +# ^^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl constant.character.escape.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.section.parens.end.hcl >format("Hello, %s!", "Ander") -#^^^^^^ source.terraform meta.function-call.terraform support.function.builtin.terraform -# ^ source.terraform meta.function-call.terraform punctuation.section.parens.begin.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^^^^^^^^ source.terraform meta.function-call.terraform string.quoted.double.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform -# ^ source.terraform meta.function-call.terraform punctuation.separator.terraform -# ^ source.terraform meta.function-call.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^^^ source.terraform meta.function-call.terraform string.quoted.double.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform -# ^ source.terraform meta.function-call.terraform punctuation.section.parens.end.terraform +#^^^^^^ source.hcl.terraform meta.function-call.hcl support.function.builtin.terraform +# ^ source.hcl.terraform meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^^^^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.separator.hcl +# ^ source.hcl.terraform meta.function-call.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.section.parens.end.hcl >formatlist("Hello, %s!", ["Valentina", "Ander", "Olivia", "Sam"]) -#^^^^^^^^^^ source.terraform meta.function-call.terraform support.function.builtin.terraform -# ^ source.terraform meta.function-call.terraform punctuation.section.parens.begin.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^^^^^^^^ source.terraform meta.function-call.terraform string.quoted.double.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform -# ^ source.terraform meta.function-call.terraform punctuation.separator.terraform -# ^ source.terraform meta.function-call.terraform -# ^ source.terraform meta.function-call.terraform punctuation.section.brackets.begin.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^^^^^^^ source.terraform meta.function-call.terraform string.quoted.double.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform -# ^ source.terraform meta.function-call.terraform punctuation.separator.terraform -# ^ source.terraform meta.function-call.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^^^ source.terraform meta.function-call.terraform string.quoted.double.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform -# ^ source.terraform meta.function-call.terraform punctuation.separator.terraform -# ^ source.terraform meta.function-call.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^^^^ source.terraform meta.function-call.terraform string.quoted.double.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform -# ^ source.terraform meta.function-call.terraform punctuation.separator.terraform -# ^ source.terraform meta.function-call.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^ source.terraform meta.function-call.terraform string.quoted.double.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform -# ^ source.terraform meta.function-call.terraform punctuation.section.brackets.end.terraform -# ^ source.terraform meta.function-call.terraform punctuation.section.parens.end.terraform +#^^^^^^^^^^ source.hcl.terraform meta.function-call.hcl support.function.builtin.terraform +# ^ source.hcl.terraform meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^^^^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.separator.hcl +# ^ source.hcl.terraform meta.function-call.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.section.brackets.begin.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^^^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.separator.hcl +# ^ source.hcl.terraform meta.function-call.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.separator.hcl +# ^ source.hcl.terraform meta.function-call.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.separator.hcl +# ^ source.hcl.terraform meta.function-call.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.section.brackets.end.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.section.parens.end.hcl >formatlist("%s, %s!", "Salutations", ["Valentina", "Ander", "Olivia", "Sam"]) -#^^^^^^^^^^ source.terraform meta.function-call.terraform support.function.builtin.terraform -# ^ source.terraform meta.function-call.terraform punctuation.section.parens.begin.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^^^^^ source.terraform meta.function-call.terraform string.quoted.double.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform -# ^ source.terraform meta.function-call.terraform punctuation.separator.terraform -# ^ source.terraform meta.function-call.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^^^^^^^^^ source.terraform meta.function-call.terraform string.quoted.double.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform -# ^ source.terraform meta.function-call.terraform punctuation.separator.terraform -# ^ source.terraform meta.function-call.terraform -# ^ source.terraform meta.function-call.terraform punctuation.section.brackets.begin.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^^^^^^^ source.terraform meta.function-call.terraform string.quoted.double.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform -# ^ source.terraform meta.function-call.terraform punctuation.separator.terraform -# ^ source.terraform meta.function-call.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^^^ source.terraform meta.function-call.terraform string.quoted.double.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform -# ^ source.terraform meta.function-call.terraform punctuation.separator.terraform -# ^ source.terraform meta.function-call.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^^^^ source.terraform meta.function-call.terraform string.quoted.double.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform -# ^ source.terraform meta.function-call.terraform punctuation.separator.terraform -# ^ source.terraform meta.function-call.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^ source.terraform meta.function-call.terraform string.quoted.double.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform -# ^ source.terraform meta.function-call.terraform punctuation.section.brackets.end.terraform -# ^ source.terraform meta.function-call.terraform punctuation.section.parens.end.terraform +#^^^^^^^^^^ source.hcl.terraform meta.function-call.hcl support.function.builtin.terraform +# ^ source.hcl.terraform meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.separator.hcl +# ^ source.hcl.terraform meta.function-call.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^^^^^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.separator.hcl +# ^ source.hcl.terraform meta.function-call.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.section.brackets.begin.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^^^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.separator.hcl +# ^ source.hcl.terraform meta.function-call.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.separator.hcl +# ^ source.hcl.terraform meta.function-call.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.separator.hcl +# ^ source.hcl.terraform meta.function-call.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.section.brackets.end.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.section.parens.end.hcl >" items: ${indent(2, "[\n foo,\n bar,\n]\n")}" -#^ source.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^^^^^^ source.terraform string.quoted.double.terraform -# ^ source.terraform string.quoted.double.terraform meta.interpolation.terraform -# ^^ source.terraform string.quoted.double.terraform meta.interpolation.terraform keyword.other.interpolation.begin.terraform -# ^^^^^^ source.terraform string.quoted.double.terraform meta.interpolation.terraform meta.function-call.terraform support.function.builtin.terraform -# ^ source.terraform string.quoted.double.terraform meta.interpolation.terraform meta.function-call.terraform punctuation.section.parens.begin.terraform -# ^ source.terraform string.quoted.double.terraform meta.interpolation.terraform meta.function-call.terraform constant.numeric.integer.terraform -# ^ source.terraform string.quoted.double.terraform meta.interpolation.terraform meta.function-call.terraform punctuation.separator.terraform -# ^ source.terraform string.quoted.double.terraform meta.interpolation.terraform meta.function-call.terraform -# ^ source.terraform string.quoted.double.terraform meta.interpolation.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^ source.terraform string.quoted.double.terraform meta.interpolation.terraform meta.function-call.terraform string.quoted.double.terraform -# ^^ source.terraform string.quoted.double.terraform meta.interpolation.terraform meta.function-call.terraform string.quoted.double.terraform constant.character.escape.terraform -# ^^^^^^ source.terraform string.quoted.double.terraform meta.interpolation.terraform meta.function-call.terraform string.quoted.double.terraform -# ^^ source.terraform string.quoted.double.terraform meta.interpolation.terraform meta.function-call.terraform string.quoted.double.terraform constant.character.escape.terraform -# ^^^^^^ source.terraform string.quoted.double.terraform meta.interpolation.terraform meta.function-call.terraform string.quoted.double.terraform -# ^^ source.terraform string.quoted.double.terraform meta.interpolation.terraform meta.function-call.terraform string.quoted.double.terraform constant.character.escape.terraform -# ^ source.terraform string.quoted.double.terraform meta.interpolation.terraform meta.function-call.terraform string.quoted.double.terraform -# ^^ source.terraform string.quoted.double.terraform meta.interpolation.terraform meta.function-call.terraform string.quoted.double.terraform constant.character.escape.terraform -# ^ source.terraform string.quoted.double.terraform meta.interpolation.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform -# ^ source.terraform string.quoted.double.terraform meta.interpolation.terraform meta.function-call.terraform punctuation.section.parens.end.terraform -# ^ source.terraform string.quoted.double.terraform meta.interpolation.terraform keyword.other.interpolation.end.terraform -# ^ source.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform +#^ source.hcl.terraform string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^^ source.hcl.terraform string.quoted.double.hcl +# ^ source.hcl.terraform string.quoted.double.hcl meta.interpolation.hcl +# ^^ source.hcl.terraform string.quoted.double.hcl meta.interpolation.hcl keyword.other.interpolation.begin.hcl +# ^^^^^^ source.hcl.terraform string.quoted.double.hcl meta.interpolation.hcl meta.function-call.hcl variable.function.hcl +# ^ source.hcl.terraform string.quoted.double.hcl meta.interpolation.hcl meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^ source.hcl.terraform string.quoted.double.hcl meta.interpolation.hcl meta.function-call.hcl constant.numeric.integer.hcl +# ^ source.hcl.terraform string.quoted.double.hcl meta.interpolation.hcl meta.function-call.hcl punctuation.separator.hcl +# ^ source.hcl.terraform string.quoted.double.hcl meta.interpolation.hcl meta.function-call.hcl +# ^ source.hcl.terraform string.quoted.double.hcl meta.interpolation.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^ source.hcl.terraform string.quoted.double.hcl meta.interpolation.hcl meta.function-call.hcl string.quoted.double.hcl +# ^^ source.hcl.terraform string.quoted.double.hcl meta.interpolation.hcl meta.function-call.hcl string.quoted.double.hcl constant.character.escape.hcl +# ^^^^^^ source.hcl.terraform string.quoted.double.hcl meta.interpolation.hcl meta.function-call.hcl string.quoted.double.hcl +# ^^ source.hcl.terraform string.quoted.double.hcl meta.interpolation.hcl meta.function-call.hcl string.quoted.double.hcl constant.character.escape.hcl +# ^^^^^^ source.hcl.terraform string.quoted.double.hcl meta.interpolation.hcl meta.function-call.hcl string.quoted.double.hcl +# ^^ source.hcl.terraform string.quoted.double.hcl meta.interpolation.hcl meta.function-call.hcl string.quoted.double.hcl constant.character.escape.hcl +# ^ source.hcl.terraform string.quoted.double.hcl meta.interpolation.hcl meta.function-call.hcl string.quoted.double.hcl +# ^^ source.hcl.terraform string.quoted.double.hcl meta.interpolation.hcl meta.function-call.hcl string.quoted.double.hcl constant.character.escape.hcl +# ^ source.hcl.terraform string.quoted.double.hcl meta.interpolation.hcl meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl.terraform string.quoted.double.hcl meta.interpolation.hcl meta.function-call.hcl punctuation.section.parens.end.hcl +# ^ source.hcl.terraform string.quoted.double.hcl meta.interpolation.hcl keyword.other.interpolation.end.hcl +# ^ source.hcl.terraform string.quoted.double.hcl punctuation.definition.string.end.hcl >join(", ", ["foo", "bar", "baz"]) -#^^^^ source.terraform meta.function-call.terraform support.function.builtin.terraform -# ^ source.terraform meta.function-call.terraform punctuation.section.parens.begin.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^ source.terraform meta.function-call.terraform string.quoted.double.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform -# ^ source.terraform meta.function-call.terraform punctuation.separator.terraform -# ^ source.terraform meta.function-call.terraform -# ^ source.terraform meta.function-call.terraform punctuation.section.brackets.begin.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^ source.terraform meta.function-call.terraform string.quoted.double.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform -# ^ source.terraform meta.function-call.terraform punctuation.separator.terraform -# ^ source.terraform meta.function-call.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^ source.terraform meta.function-call.terraform string.quoted.double.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform -# ^ source.terraform meta.function-call.terraform punctuation.separator.terraform -# ^ source.terraform meta.function-call.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^ source.terraform meta.function-call.terraform string.quoted.double.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform -# ^ source.terraform meta.function-call.terraform punctuation.section.brackets.end.terraform -# ^ source.terraform meta.function-call.terraform punctuation.section.parens.end.terraform +#^^^^ source.hcl.terraform meta.function-call.hcl support.function.builtin.terraform +# ^ source.hcl.terraform meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.separator.hcl +# ^ source.hcl.terraform meta.function-call.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.section.brackets.begin.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.separator.hcl +# ^ source.hcl.terraform meta.function-call.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.separator.hcl +# ^ source.hcl.terraform meta.function-call.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.section.brackets.end.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.section.parens.end.hcl >lower("HELLO") -#^^^^^ source.terraform meta.function-call.terraform support.function.builtin.terraform -# ^ source.terraform meta.function-call.terraform punctuation.section.parens.begin.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^^^ source.terraform meta.function-call.terraform string.quoted.double.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform -# ^ source.terraform meta.function-call.terraform punctuation.section.parens.end.terraform +#^^^^^ source.hcl.terraform meta.function-call.hcl support.function.builtin.terraform +# ^ source.hcl.terraform meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.section.parens.end.hcl >regex("[a-z]+", "53453453.345345aaabbbccc23454") -#^^^^^ source.terraform meta.function-call.terraform support.function.builtin.terraform -# ^ source.terraform meta.function-call.terraform punctuation.section.parens.begin.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^^^^ source.terraform meta.function-call.terraform string.quoted.double.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform -# ^ source.terraform meta.function-call.terraform punctuation.separator.terraform -# ^ source.terraform meta.function-call.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.terraform meta.function-call.terraform string.quoted.double.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform -# ^ source.terraform meta.function-call.terraform punctuation.section.parens.end.terraform +#^^^^^ source.hcl.terraform meta.function-call.hcl support.function.builtin.terraform +# ^ source.hcl.terraform meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.separator.hcl +# ^ source.hcl.terraform meta.function-call.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.section.parens.end.hcl >regexall("[a-z]+", "1234abcd5678efgh9") -#^^^^^^^^ source.terraform meta.function-call.terraform support.function.builtin.terraform -# ^ source.terraform meta.function-call.terraform punctuation.section.parens.begin.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^^^^ source.terraform meta.function-call.terraform string.quoted.double.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform -# ^ source.terraform meta.function-call.terraform punctuation.separator.terraform -# ^ source.terraform meta.function-call.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^^^^^^^^^^^^^^^ source.terraform meta.function-call.terraform string.quoted.double.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform -# ^ source.terraform meta.function-call.terraform punctuation.section.parens.end.terraform +#^^^^^^^^ source.hcl.terraform meta.function-call.hcl support.function.builtin.terraform +# ^ source.hcl.terraform meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.separator.hcl +# ^ source.hcl.terraform meta.function-call.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^^^^^^^^^^^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.section.parens.end.hcl >replace("1 + 2 + 3", "+", "-") -#^^^^^^^ source.terraform meta.function-call.terraform support.function.builtin.terraform -# ^ source.terraform meta.function-call.terraform punctuation.section.parens.begin.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^^^^^^^ source.terraform meta.function-call.terraform string.quoted.double.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform -# ^ source.terraform meta.function-call.terraform punctuation.separator.terraform -# ^ source.terraform meta.function-call.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform -# ^ source.terraform meta.function-call.terraform punctuation.separator.terraform -# ^ source.terraform meta.function-call.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform -# ^ source.terraform meta.function-call.terraform punctuation.section.parens.end.terraform +#^^^^^^^ source.hcl.terraform meta.function-call.hcl support.function.builtin.terraform +# ^ source.hcl.terraform meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^^^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.separator.hcl +# ^ source.hcl.terraform meta.function-call.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.separator.hcl +# ^ source.hcl.terraform meta.function-call.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.section.parens.end.hcl >split(",", "foo,bar,baz") -#^^^^^ source.terraform meta.function-call.terraform support.function.builtin.terraform -# ^ source.terraform meta.function-call.terraform punctuation.section.parens.begin.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform -# ^ source.terraform meta.function-call.terraform punctuation.separator.terraform -# ^ source.terraform meta.function-call.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^^^^^^^^^ source.terraform meta.function-call.terraform string.quoted.double.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform -# ^ source.terraform meta.function-call.terraform punctuation.section.parens.end.terraform +#^^^^^ source.hcl.terraform meta.function-call.hcl support.function.builtin.terraform +# ^ source.hcl.terraform meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.separator.hcl +# ^ source.hcl.terraform meta.function-call.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^^^^^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.section.parens.end.hcl >strrev("hello") -#^^^^^^ source.terraform meta.function-call.terraform support.function.builtin.terraform -# ^ source.terraform meta.function-call.terraform punctuation.section.parens.begin.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^^^ source.terraform meta.function-call.terraform string.quoted.double.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform -# ^ source.terraform meta.function-call.terraform punctuation.section.parens.end.terraform +#^^^^^^ source.hcl.terraform meta.function-call.hcl support.function.builtin.terraform +# ^ source.hcl.terraform meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.section.parens.end.hcl >substr("hello world", 1, 4) -#^^^^^^ source.terraform meta.function-call.terraform support.function.builtin.terraform -# ^ source.terraform meta.function-call.terraform punctuation.section.parens.begin.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^^^^^^^^^ source.terraform meta.function-call.terraform string.quoted.double.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform -# ^ source.terraform meta.function-call.terraform punctuation.separator.terraform -# ^ source.terraform meta.function-call.terraform -# ^ source.terraform meta.function-call.terraform constant.numeric.integer.terraform -# ^ source.terraform meta.function-call.terraform punctuation.separator.terraform -# ^ source.terraform meta.function-call.terraform -# ^ source.terraform meta.function-call.terraform constant.numeric.integer.terraform -# ^ source.terraform meta.function-call.terraform punctuation.section.parens.end.terraform +#^^^^^^ source.hcl.terraform meta.function-call.hcl support.function.builtin.terraform +# ^ source.hcl.terraform meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^^^^^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.separator.hcl +# ^ source.hcl.terraform meta.function-call.hcl +# ^ source.hcl.terraform meta.function-call.hcl constant.numeric.integer.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.separator.hcl +# ^ source.hcl.terraform meta.function-call.hcl +# ^ source.hcl.terraform meta.function-call.hcl constant.numeric.integer.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.section.parens.end.hcl >title("hello world") -#^^^^^ source.terraform meta.function-call.terraform support.function.builtin.terraform -# ^ source.terraform meta.function-call.terraform punctuation.section.parens.begin.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^^^^^^^^^ source.terraform meta.function-call.terraform string.quoted.double.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform -# ^ source.terraform meta.function-call.terraform punctuation.section.parens.end.terraform +#^^^^^ source.hcl.terraform meta.function-call.hcl support.function.builtin.terraform +# ^ source.hcl.terraform meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^^^^^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.section.parens.end.hcl >trim("?!hello?!", "!?") -#^^^^ source.terraform meta.function-call.terraform variable.function.terraform -# ^ source.terraform meta.function-call.terraform punctuation.section.parens.begin.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^^^^^^^ source.terraform meta.function-call.terraform string.quoted.double.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform -# ^ source.terraform meta.function-call.terraform punctuation.separator.terraform -# ^ source.terraform meta.function-call.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^ source.terraform meta.function-call.terraform string.quoted.double.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform -# ^ source.terraform meta.function-call.terraform punctuation.section.parens.end.terraform +#^^^^ source.hcl.terraform meta.function-call.hcl variable.function.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^^^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.separator.hcl +# ^ source.hcl.terraform meta.function-call.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.section.parens.end.hcl >trimprefix("helloworld", "hello") -#^^^^^^^^^^ source.terraform meta.function-call.terraform variable.function.terraform -# ^ source.terraform meta.function-call.terraform punctuation.section.parens.begin.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^^^^^^^^ source.terraform meta.function-call.terraform string.quoted.double.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform -# ^ source.terraform meta.function-call.terraform punctuation.separator.terraform -# ^ source.terraform meta.function-call.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^^^ source.terraform meta.function-call.terraform string.quoted.double.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform -# ^ source.terraform meta.function-call.terraform punctuation.section.parens.end.terraform +#^^^^^^^^^^ source.hcl.terraform meta.function-call.hcl variable.function.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^^^^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.separator.hcl +# ^ source.hcl.terraform meta.function-call.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.section.parens.end.hcl >trimsuffix("helloworld", "world") -#^^^^^^^^^^ source.terraform meta.function-call.terraform variable.function.terraform -# ^ source.terraform meta.function-call.terraform punctuation.section.parens.begin.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^^^^^^^^ source.terraform meta.function-call.terraform string.quoted.double.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform -# ^ source.terraform meta.function-call.terraform punctuation.separator.terraform -# ^ source.terraform meta.function-call.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^^^ source.terraform meta.function-call.terraform string.quoted.double.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform -# ^ source.terraform meta.function-call.terraform punctuation.section.parens.end.terraform +#^^^^^^^^^^ source.hcl.terraform meta.function-call.hcl variable.function.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^^^^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.separator.hcl +# ^ source.hcl.terraform meta.function-call.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.section.parens.end.hcl >trimspace(" hello\n\n") -#^^^^^^^^^ source.terraform meta.function-call.terraform support.function.builtin.terraform -# ^ source.terraform meta.function-call.terraform punctuation.section.parens.begin.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^^^^^ source.terraform meta.function-call.terraform string.quoted.double.terraform -# ^^ source.terraform meta.function-call.terraform string.quoted.double.terraform constant.character.escape.terraform -# ^^ source.terraform meta.function-call.terraform string.quoted.double.terraform constant.character.escape.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform -# ^ source.terraform meta.function-call.terraform punctuation.section.parens.end.terraform +#^^^^^^^^^ source.hcl.terraform meta.function-call.hcl support.function.builtin.terraform +# ^ source.hcl.terraform meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl +# ^^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl constant.character.escape.hcl +# ^^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl constant.character.escape.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.section.parens.end.hcl >upper("hello") -#^^^^^ source.terraform meta.function-call.terraform support.function.builtin.terraform -# ^ source.terraform meta.function-call.terraform punctuation.section.parens.begin.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^^^ source.terraform meta.function-call.terraform string.quoted.double.terraform -# ^ source.terraform meta.function-call.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform -# ^ source.terraform meta.function-call.terraform punctuation.section.parens.end.terraform +#^^^^^ source.hcl.terraform meta.function-call.hcl support.function.builtin.terraform +# ^ source.hcl.terraform meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.section.parens.end.hcl +> +># known +#^ source.hcl.terraform comment.line.number-sign.hcl punctuation.definition.comment.hcl +# ^^^^^^ source.hcl.terraform comment.line.number-sign.hcl +> +>foo("bar") +#^^^ source.hcl.terraform meta.function-call.hcl variable.function.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl +# ^ source.hcl.terraform meta.function-call.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl.terraform meta.function-call.hcl punctuation.section.parens.end.hcl > \ No newline at end of file diff --git a/tests/snapshot/terraform/expressions_operators.tf.snap b/tests/snapshot/terraform/expressions_operators.tf.snap index c29c9b1..30062c5 100644 --- a/tests/snapshot/terraform/expressions_operators.tf.snap +++ b/tests/snapshot/terraform/expressions_operators.tf.snap @@ -1,80 +1,80 @@ ># arithmetic -#^ source.terraform comment.line.number-sign.hcl punctuation.definition.comment.terraform -# ^^^^^^^^^^^ source.terraform comment.line.number-sign.hcl +#^ source.hcl.terraform comment.line.number-sign.hcl punctuation.definition.comment.hcl +# ^^^^^^^^^^^ source.hcl.terraform comment.line.number-sign.hcl > >1 + 2 * 3 / 4 -#^ source.terraform constant.numeric.integer.terraform -# ^ source.terraform -# ^ source.terraform keyword.operator.arithmetic.terraform -# ^ source.terraform -# ^ source.terraform constant.numeric.integer.terraform -# ^ source.terraform -# ^ source.terraform keyword.operator.arithmetic.terraform -# ^ source.terraform -# ^ source.terraform constant.numeric.integer.terraform -# ^ source.terraform -# ^ source.terraform keyword.operator.arithmetic.terraform -# ^ source.terraform -# ^ source.terraform constant.numeric.integer.terraform +#^ source.hcl.terraform constant.numeric.integer.hcl +# ^ source.hcl.terraform +# ^ source.hcl.terraform keyword.operator.arithmetic.hcl +# ^ source.hcl.terraform +# ^ source.hcl.terraform constant.numeric.integer.hcl +# ^ source.hcl.terraform +# ^ source.hcl.terraform keyword.operator.arithmetic.hcl +# ^ source.hcl.terraform +# ^ source.hcl.terraform constant.numeric.integer.hcl +# ^ source.hcl.terraform +# ^ source.hcl.terraform keyword.operator.arithmetic.hcl +# ^ source.hcl.terraform +# ^ source.hcl.terraform constant.numeric.integer.hcl > >5 % 6 -#^ source.terraform constant.numeric.integer.terraform -# ^ source.terraform -# ^ source.terraform keyword.operator.arithmetic.terraform -# ^ source.terraform -# ^ source.terraform constant.numeric.integer.terraform +#^ source.hcl.terraform constant.numeric.integer.hcl +# ^ source.hcl.terraform +# ^ source.hcl.terraform keyword.operator.arithmetic.hcl +# ^ source.hcl.terraform +# ^ source.hcl.terraform constant.numeric.integer.hcl > >-thing -#^ source.terraform keyword.operator.arithmetic.terraform -# ^^^^^^ source.terraform +#^ source.hcl.terraform keyword.operator.arithmetic.hcl +# ^^^^^^ source.hcl.terraform > ># equality -#^ source.terraform comment.line.number-sign.hcl punctuation.definition.comment.terraform -# ^^^^^^^^^ source.terraform comment.line.number-sign.hcl +#^ source.hcl.terraform comment.line.number-sign.hcl punctuation.definition.comment.hcl +# ^^^^^^^^^ source.hcl.terraform comment.line.number-sign.hcl > >thing1 == thing2 -#^^^^^^^ source.terraform -# ^^ source.terraform keyword.operator.terraform -# ^^^^^^^^ source.terraform +#^^^^^^^ source.hcl.terraform +# ^^ source.hcl.terraform keyword.operator.hcl +# ^^^^^^^^ source.hcl.terraform >thing1 != thing2 -#^^^^^^^ source.terraform -# ^^ source.terraform keyword.operator.terraform -# ^^^^^^^^ source.terraform +#^^^^^^^ source.hcl.terraform +# ^^ source.hcl.terraform keyword.operator.hcl +# ^^^^^^^^ source.hcl.terraform > ># comparison -#^ source.terraform comment.line.number-sign.hcl punctuation.definition.comment.terraform -# ^^^^^^^^^^^ source.terraform comment.line.number-sign.hcl +#^ source.hcl.terraform comment.line.number-sign.hcl punctuation.definition.comment.hcl +# ^^^^^^^^^^^ source.hcl.terraform comment.line.number-sign.hcl > >thing1 > thing2 -#^^^^^^^ source.terraform -# ^ source.terraform keyword.operator.terraform -# ^^^^^^^^ source.terraform +#^^^^^^^ source.hcl.terraform +# ^ source.hcl.terraform keyword.operator.hcl +# ^^^^^^^^ source.hcl.terraform >thing1 >= thing2 -#^^^^^^^ source.terraform -# ^^ source.terraform keyword.operator.terraform -# ^^^^^^^^ source.terraform +#^^^^^^^ source.hcl.terraform +# ^^ source.hcl.terraform keyword.operator.hcl +# ^^^^^^^^ source.hcl.terraform >thing1 < thing2 -#^^^^^^^ source.terraform -# ^ source.terraform keyword.operator.terraform -# ^^^^^^^^ source.terraform +#^^^^^^^ source.hcl.terraform +# ^ source.hcl.terraform keyword.operator.hcl +# ^^^^^^^^ source.hcl.terraform >thing1 <= thing2 -#^^^^^^^ source.terraform -# ^^ source.terraform keyword.operator.terraform -# ^^^^^^^^ source.terraform +#^^^^^^^ source.hcl.terraform +# ^^ source.hcl.terraform keyword.operator.hcl +# ^^^^^^^^ source.hcl.terraform > ># logical -#^ source.terraform comment.line.number-sign.hcl punctuation.definition.comment.terraform -# ^^^^^^^^ source.terraform comment.line.number-sign.hcl +#^ source.hcl.terraform comment.line.number-sign.hcl punctuation.definition.comment.hcl +# ^^^^^^^^ source.hcl.terraform comment.line.number-sign.hcl > >thing1 || thing2 -#^^^^^^^ source.terraform -# ^^ source.terraform keyword.operator.logical.terraform -# ^^^^^^^^ source.terraform +#^^^^^^^ source.hcl.terraform +# ^^ source.hcl.terraform keyword.operator.logical.hcl +# ^^^^^^^^ source.hcl.terraform >thing1 && thing2 -#^^^^^^^ source.terraform -# ^^ source.terraform keyword.operator.logical.terraform -# ^^^^^^^^ source.terraform +#^^^^^^^ source.hcl.terraform +# ^^ source.hcl.terraform keyword.operator.logical.hcl +# ^^^^^^^^ source.hcl.terraform >!thing1 -#^ source.terraform keyword.operator.logical.terraform -# ^^^^^^^ source.terraform +#^ source.hcl.terraform keyword.operator.logical.hcl +# ^^^^^^^ source.hcl.terraform > \ No newline at end of file diff --git a/tests/snapshot/terraform/expressions_splat.tf.snap b/tests/snapshot/terraform/expressions_splat.tf.snap index 8f01c05..52a918d 100644 --- a/tests/snapshot/terraform/expressions_splat.tf.snap +++ b/tests/snapshot/terraform/expressions_splat.tf.snap @@ -1,44 +1,44 @@ >[for o in var.list : o.id] -#^ source.terraform punctuation.section.brackets.begin.terraform -# ^^^ source.terraform keyword.control.terraform -# ^ source.terraform -# ^ source.terraform variable.other.readwrite.terraform -# ^ source.terraform -# ^^ source.terraform keyword.operator.word.terraform -# ^ source.terraform -# ^^^ source.terraform support.constant.terraform -# ^ source.terraform keyword.operator.accessor.terraform -# ^^^^ source.terraform variable.other.member.terraform -# ^ source.terraform -# ^ source.terraform keyword.operator.terraform -# ^ source.terraform -# ^ source.terraform variable.other.readwrite.terraform -# ^ source.terraform keyword.operator.accessor.terraform -# ^^ source.terraform variable.other.member.terraform -# ^ source.terraform punctuation.section.brackets.end.terraform +#^ source.hcl.terraform punctuation.section.brackets.begin.hcl +# ^^^ source.hcl.terraform keyword.control.hcl +# ^ source.hcl.terraform +# ^ source.hcl.terraform variable.other.readwrite.hcl +# ^ source.hcl.terraform +# ^^ source.hcl.terraform keyword.operator.word.hcl +# ^ source.hcl.terraform +# ^^^ source.hcl.terraform variable.other.readwrite.hcl +# ^ source.hcl.terraform keyword.operator.accessor.hcl +# ^^^^ source.hcl.terraform variable.other.member.hcl +# ^ source.hcl.terraform +# ^ source.hcl.terraform keyword.operator.hcl +# ^ source.hcl.terraform +# ^ source.hcl.terraform variable.other.readwrite.hcl +# ^ source.hcl.terraform keyword.operator.accessor.hcl +# ^^ source.hcl.terraform variable.other.member.hcl +# ^ source.hcl.terraform punctuation.section.brackets.end.hcl > >var.list[*].id -#^^^ source.terraform support.constant.terraform -# ^ source.terraform keyword.operator.accessor.terraform -# ^^^^ source.terraform variable.other.member.terraform -# ^ source.terraform -# ^ source.terraform keyword.operator.splat.terraform -# ^ source.terraform -# ^ source.terraform keyword.operator.accessor.terraform -# ^^ source.terraform variable.other.member.terraform +#^^^ source.hcl.terraform support.constant.terraform +# ^ source.hcl.terraform keyword.operator.accessor.hcl +# ^^^^ source.hcl.terraform variable.other.member.hcl +# ^ source.hcl.terraform +# ^ source.hcl.terraform keyword.operator.splat.hcl +# ^ source.hcl.terraform +# ^ source.hcl.terraform keyword.operator.accessor.hcl +# ^^ source.hcl.terraform variable.other.member.hcl > >var.list[*].interfaces[0].name -#^^^ source.terraform support.constant.terraform -# ^ source.terraform keyword.operator.accessor.terraform -# ^^^^ source.terraform variable.other.member.terraform -# ^ source.terraform -# ^ source.terraform keyword.operator.splat.terraform -# ^ source.terraform -# ^ source.terraform keyword.operator.accessor.terraform -# ^^^^^^^^^^ source.terraform variable.other.member.terraform -# ^ source.terraform -# ^ source.terraform constant.numeric.integer.terraform -# ^ source.terraform -# ^ source.terraform keyword.operator.accessor.terraform -# ^^^^ source.terraform variable.other.member.terraform +#^^^ source.hcl.terraform support.constant.terraform +# ^ source.hcl.terraform keyword.operator.accessor.hcl +# ^^^^ source.hcl.terraform variable.other.member.hcl +# ^ source.hcl.terraform +# ^ source.hcl.terraform keyword.operator.splat.hcl +# ^ source.hcl.terraform +# ^ source.hcl.terraform keyword.operator.accessor.hcl +# ^^^^^^^^^^ source.hcl.terraform variable.other.member.hcl +# ^ source.hcl.terraform +# ^ source.hcl.terraform constant.numeric.integer.hcl +# ^ source.hcl.terraform +# ^ source.hcl.terraform keyword.operator.accessor.hcl +# ^^^^ source.hcl.terraform variable.other.member.hcl > \ No newline at end of file diff --git a/tests/snapshot/terraform/expressions_strings.tf.snap b/tests/snapshot/terraform/expressions_strings.tf.snap index b95dc17..d695711 100644 --- a/tests/snapshot/terraform/expressions_strings.tf.snap +++ b/tests/snapshot/terraform/expressions_strings.tf.snap @@ -1,199 +1,199 @@ >"hello" -#^ source.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^^^ source.terraform string.quoted.double.terraform -# ^ source.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform +#^ source.hcl.terraform string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^ source.hcl.terraform string.quoted.double.hcl +# ^ source.hcl.terraform string.quoted.double.hcl punctuation.definition.string.end.hcl > >"\n\r\t\"\\" -#^ source.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^ source.terraform string.quoted.double.terraform constant.character.escape.terraform -# ^^ source.terraform string.quoted.double.terraform constant.character.escape.terraform -# ^^ source.terraform string.quoted.double.terraform constant.character.escape.terraform -# ^^ source.terraform string.quoted.double.terraform constant.character.escape.terraform -# ^^ source.terraform string.quoted.double.terraform constant.character.escape.terraform -# ^ source.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform +#^ source.hcl.terraform string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^ source.hcl.terraform string.quoted.double.hcl constant.character.escape.hcl +# ^^ source.hcl.terraform string.quoted.double.hcl constant.character.escape.hcl +# ^^ source.hcl.terraform string.quoted.double.hcl constant.character.escape.hcl +# ^^ source.hcl.terraform string.quoted.double.hcl constant.character.escape.hcl +# ^^ source.hcl.terraform string.quoted.double.hcl constant.character.escape.hcl +# ^ source.hcl.terraform string.quoted.double.hcl punctuation.definition.string.end.hcl > >"$${}" -#^ source.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^^ source.terraform string.quoted.double.terraform -# ^ source.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform +#^ source.hcl.terraform string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^ source.hcl.terraform string.quoted.double.hcl +# ^ source.hcl.terraform string.quoted.double.hcl punctuation.definition.string.end.hcl > >"%%{}" -#^ source.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^^ source.terraform string.quoted.double.terraform -# ^ source.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform +#^ source.hcl.terraform string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^ source.hcl.terraform string.quoted.double.hcl +# ^ source.hcl.terraform string.quoted.double.hcl punctuation.definition.string.end.hcl > >thing = <hello -#^^^^^^ source.terraform string.unquoted.heredoc.terraform +#^^^^^^ source.hcl.terraform string.unquoted.heredoc.hcl >world -#^^^^^^ source.terraform string.unquoted.heredoc.terraform +#^^^^^^ source.hcl.terraform string.unquoted.heredoc.hcl >EOT -#^^^^ source.terraform string.unquoted.heredoc.terraform keyword.control.heredoc.terraform +#^^^^ source.hcl.terraform string.unquoted.heredoc.hcl keyword.control.heredoc.hcl > >block { -#^^^^^ source.terraform meta.block.terraform entity.name.label.terraform -# ^ source.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform punctuation.section.block.begin.terraform +#^^^^^ source.hcl.terraform meta.block.hcl entity.name.label.hcl +# ^ source.hcl.terraform meta.block.hcl +# ^ source.hcl.terraform meta.block.hcl punctuation.section.block.begin.hcl > value = <hello -#^^^^^^ source.terraform meta.block.terraform string.unquoted.heredoc.terraform +#^^^^^^ source.hcl.terraform meta.block.hcl string.unquoted.heredoc.hcl >world -#^^^^^^ source.terraform meta.block.terraform string.unquoted.heredoc.terraform +#^^^^^^ source.hcl.terraform meta.block.hcl string.unquoted.heredoc.hcl >EOT -#^^^^ source.terraform meta.block.terraform string.unquoted.heredoc.terraform keyword.control.heredoc.terraform +#^^^^ source.hcl.terraform meta.block.hcl string.unquoted.heredoc.hcl keyword.control.heredoc.hcl >} -#^ source.terraform meta.block.terraform punctuation.section.block.end.terraform +#^ source.hcl.terraform meta.block.hcl punctuation.section.block.end.hcl > >block { -#^^^^^ source.terraform meta.block.terraform entity.name.label.terraform -# ^ source.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform punctuation.section.block.begin.terraform +#^^^^^ source.hcl.terraform meta.block.hcl entity.name.label.hcl +# ^ source.hcl.terraform meta.block.hcl +# ^ source.hcl.terraform meta.block.hcl punctuation.section.block.begin.hcl > value = <<-EOT -#^^ source.terraform meta.block.terraform -# ^^^^^ source.terraform meta.block.terraform variable.declaration.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform -# ^^^ source.terraform meta.block.terraform string.unquoted.heredoc.terraform keyword.operator.heredoc.terraform -# ^^^ source.terraform meta.block.terraform string.unquoted.heredoc.terraform keyword.control.heredoc.terraform +#^^ source.hcl.terraform meta.block.hcl +# ^^^^^ source.hcl.terraform meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^^^ source.hcl.terraform meta.block.hcl string.unquoted.heredoc.hcl keyword.operator.heredoc.hcl +# ^^^ source.hcl.terraform meta.block.hcl string.unquoted.heredoc.hcl keyword.control.heredoc.hcl > hello -#^^^^^^^^ source.terraform meta.block.terraform string.unquoted.heredoc.terraform +#^^^^^^^^ source.hcl.terraform meta.block.hcl string.unquoted.heredoc.hcl > world -#^^^^^^^^^^ source.terraform meta.block.terraform string.unquoted.heredoc.terraform +#^^^^^^^^^^ source.hcl.terraform meta.block.hcl string.unquoted.heredoc.hcl > EOT -#^^^^^^ source.terraform meta.block.terraform string.unquoted.heredoc.terraform keyword.control.heredoc.terraform +#^^^^^^ source.hcl.terraform meta.block.hcl string.unquoted.heredoc.hcl keyword.control.heredoc.hcl >} -#^ source.terraform meta.block.terraform punctuation.section.block.end.terraform +#^ source.hcl.terraform meta.block.hcl punctuation.section.block.end.hcl > >"Hello, ${var.name}!" -#^ source.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^^^^ source.terraform string.quoted.double.terraform -# ^ source.terraform string.quoted.double.terraform meta.interpolation.terraform -# ^^ source.terraform string.quoted.double.terraform meta.interpolation.terraform keyword.other.interpolation.begin.terraform -# ^^^ source.terraform string.quoted.double.terraform meta.interpolation.terraform support.constant.terraform -# ^ source.terraform string.quoted.double.terraform meta.interpolation.terraform keyword.operator.accessor.terraform -# ^^^^ source.terraform string.quoted.double.terraform meta.interpolation.terraform variable.other.member.terraform -# ^ source.terraform string.quoted.double.terraform meta.interpolation.terraform keyword.other.interpolation.end.terraform -# ^ source.terraform string.quoted.double.terraform -# ^ source.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform +#^ source.hcl.terraform string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^ source.hcl.terraform string.quoted.double.hcl +# ^ source.hcl.terraform string.quoted.double.hcl meta.interpolation.hcl +# ^^ source.hcl.terraform string.quoted.double.hcl meta.interpolation.hcl keyword.other.interpolation.begin.hcl +# ^^^ source.hcl.terraform string.quoted.double.hcl meta.interpolation.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform string.quoted.double.hcl meta.interpolation.hcl keyword.operator.accessor.hcl +# ^^^^ source.hcl.terraform string.quoted.double.hcl meta.interpolation.hcl variable.other.member.hcl +# ^ source.hcl.terraform string.quoted.double.hcl meta.interpolation.hcl keyword.other.interpolation.end.hcl +# ^ source.hcl.terraform string.quoted.double.hcl +# ^ source.hcl.terraform string.quoted.double.hcl punctuation.definition.string.end.hcl > >"Hello, %{ if var.name != "" }${var.name}%{ else }unnamed%{ endif }!" -#^ source.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^^^^ source.terraform string.quoted.double.terraform -# ^ source.terraform string.quoted.double.terraform meta.interpolation.terraform -# ^^ source.terraform string.quoted.double.terraform meta.interpolation.terraform keyword.other.interpolation.begin.terraform -# ^ source.terraform string.quoted.double.terraform meta.interpolation.terraform -# ^^ source.terraform string.quoted.double.terraform meta.interpolation.terraform keyword.control.terraform -# ^ source.terraform string.quoted.double.terraform meta.interpolation.terraform -# ^^^ source.terraform string.quoted.double.terraform meta.interpolation.terraform support.constant.terraform -# ^ source.terraform string.quoted.double.terraform meta.interpolation.terraform keyword.operator.accessor.terraform -# ^^^^ source.terraform string.quoted.double.terraform meta.interpolation.terraform variable.other.member.terraform -# ^ source.terraform string.quoted.double.terraform meta.interpolation.terraform -# ^^ source.terraform string.quoted.double.terraform meta.interpolation.terraform keyword.operator.terraform -# ^ source.terraform string.quoted.double.terraform meta.interpolation.terraform -# ^ source.terraform string.quoted.double.terraform meta.interpolation.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^ source.terraform string.quoted.double.terraform meta.interpolation.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform -# ^ source.terraform string.quoted.double.terraform meta.interpolation.terraform -# ^ source.terraform string.quoted.double.terraform meta.interpolation.terraform keyword.other.interpolation.end.terraform -# ^^^^^^^^^^ source.terraform string.quoted.double.terraform -# ^ source.terraform string.quoted.double.terraform meta.interpolation.terraform -# ^^ source.terraform string.quoted.double.terraform meta.interpolation.terraform keyword.other.interpolation.begin.terraform -# ^ source.terraform string.quoted.double.terraform meta.interpolation.terraform -# ^^^^ source.terraform string.quoted.double.terraform meta.interpolation.terraform keyword.control.terraform -# ^ source.terraform string.quoted.double.terraform meta.interpolation.terraform -# ^ source.terraform string.quoted.double.terraform meta.interpolation.terraform keyword.other.interpolation.end.terraform -# ^^^^^^ source.terraform string.quoted.double.terraform -# ^ source.terraform string.quoted.double.terraform meta.interpolation.terraform -# ^^ source.terraform string.quoted.double.terraform meta.interpolation.terraform keyword.other.interpolation.begin.terraform -# ^ source.terraform string.quoted.double.terraform meta.interpolation.terraform -# ^^^^^ source.terraform string.quoted.double.terraform meta.interpolation.terraform keyword.control.terraform -# ^ source.terraform string.quoted.double.terraform meta.interpolation.terraform -# ^ source.terraform string.quoted.double.terraform meta.interpolation.terraform keyword.other.interpolation.end.terraform -# ^ source.terraform string.quoted.double.terraform -# ^ source.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform +#^ source.hcl.terraform string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^ source.hcl.terraform string.quoted.double.hcl +# ^ source.hcl.terraform string.quoted.double.hcl meta.interpolation.hcl +# ^^ source.hcl.terraform string.quoted.double.hcl meta.interpolation.hcl keyword.other.interpolation.begin.hcl +# ^ source.hcl.terraform string.quoted.double.hcl meta.interpolation.hcl +# ^^ source.hcl.terraform string.quoted.double.hcl meta.interpolation.hcl keyword.control.hcl +# ^ source.hcl.terraform string.quoted.double.hcl meta.interpolation.hcl +# ^^^ source.hcl.terraform string.quoted.double.hcl meta.interpolation.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform string.quoted.double.hcl meta.interpolation.hcl keyword.operator.accessor.hcl +# ^^^^ source.hcl.terraform string.quoted.double.hcl meta.interpolation.hcl variable.other.member.hcl +# ^ source.hcl.terraform string.quoted.double.hcl meta.interpolation.hcl +# ^^ source.hcl.terraform string.quoted.double.hcl meta.interpolation.hcl keyword.operator.hcl +# ^ source.hcl.terraform string.quoted.double.hcl meta.interpolation.hcl +# ^ source.hcl.terraform string.quoted.double.hcl meta.interpolation.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^ source.hcl.terraform string.quoted.double.hcl meta.interpolation.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl.terraform string.quoted.double.hcl meta.interpolation.hcl +# ^ source.hcl.terraform string.quoted.double.hcl meta.interpolation.hcl keyword.other.interpolation.end.hcl +# ^^^^^^^^^^ source.hcl.terraform string.quoted.double.hcl +# ^ source.hcl.terraform string.quoted.double.hcl meta.interpolation.hcl +# ^^ source.hcl.terraform string.quoted.double.hcl meta.interpolation.hcl keyword.other.interpolation.begin.hcl +# ^ source.hcl.terraform string.quoted.double.hcl meta.interpolation.hcl +# ^^^^ source.hcl.terraform string.quoted.double.hcl meta.interpolation.hcl keyword.control.hcl +# ^ source.hcl.terraform string.quoted.double.hcl meta.interpolation.hcl +# ^ source.hcl.terraform string.quoted.double.hcl meta.interpolation.hcl keyword.other.interpolation.end.hcl +# ^^^^^^ source.hcl.terraform string.quoted.double.hcl +# ^ source.hcl.terraform string.quoted.double.hcl meta.interpolation.hcl +# ^^ source.hcl.terraform string.quoted.double.hcl meta.interpolation.hcl keyword.other.interpolation.begin.hcl +# ^ source.hcl.terraform string.quoted.double.hcl meta.interpolation.hcl +# ^^^^^ source.hcl.terraform string.quoted.double.hcl meta.interpolation.hcl keyword.control.hcl +# ^ source.hcl.terraform string.quoted.double.hcl meta.interpolation.hcl +# ^ source.hcl.terraform string.quoted.double.hcl meta.interpolation.hcl keyword.other.interpolation.end.hcl +# ^ source.hcl.terraform string.quoted.double.hcl +# ^ source.hcl.terraform string.quoted.double.hcl punctuation.definition.string.end.hcl > ><%{ for ip in aws_instance.example.*.private_ip } -#^^ source.terraform string.unquoted.heredoc.terraform meta.interpolation.terraform keyword.other.interpolation.begin.terraform -# ^ source.terraform string.unquoted.heredoc.terraform meta.interpolation.terraform -# ^^^ source.terraform string.unquoted.heredoc.terraform meta.interpolation.terraform keyword.control.terraform -# ^ source.terraform string.unquoted.heredoc.terraform meta.interpolation.terraform -# ^^ source.terraform string.unquoted.heredoc.terraform meta.interpolation.terraform variable.other.readwrite.terraform -# ^ source.terraform string.unquoted.heredoc.terraform meta.interpolation.terraform -# ^^ source.terraform string.unquoted.heredoc.terraform meta.interpolation.terraform keyword.control.terraform -# ^ source.terraform string.unquoted.heredoc.terraform meta.interpolation.terraform -# ^^^^^^^^^^^^ source.terraform string.unquoted.heredoc.terraform meta.interpolation.terraform variable.other.readwrite.terraform -# ^ source.terraform string.unquoted.heredoc.terraform meta.interpolation.terraform keyword.operator.accessor.terraform -# ^^^^^^^ source.terraform string.unquoted.heredoc.terraform meta.interpolation.terraform variable.other.member.terraform -# ^ source.terraform string.unquoted.heredoc.terraform meta.interpolation.terraform keyword.operator.accessor.terraform -# ^^ source.terraform string.unquoted.heredoc.terraform meta.interpolation.terraform -# ^^^^^^^^^^ source.terraform string.unquoted.heredoc.terraform meta.interpolation.terraform variable.other.member.terraform -# ^ source.terraform string.unquoted.heredoc.terraform meta.interpolation.terraform -# ^ source.terraform string.unquoted.heredoc.terraform meta.interpolation.terraform keyword.other.interpolation.end.terraform +#^^ source.hcl.terraform string.unquoted.heredoc.hcl meta.interpolation.hcl keyword.other.interpolation.begin.hcl +# ^ source.hcl.terraform string.unquoted.heredoc.hcl meta.interpolation.hcl +# ^^^ source.hcl.terraform string.unquoted.heredoc.hcl meta.interpolation.hcl keyword.control.hcl +# ^ source.hcl.terraform string.unquoted.heredoc.hcl meta.interpolation.hcl +# ^^ source.hcl.terraform string.unquoted.heredoc.hcl meta.interpolation.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform string.unquoted.heredoc.hcl meta.interpolation.hcl +# ^^ source.hcl.terraform string.unquoted.heredoc.hcl meta.interpolation.hcl keyword.control.hcl +# ^ source.hcl.terraform string.unquoted.heredoc.hcl meta.interpolation.hcl +# ^^^^^^^^^^^^ source.hcl.terraform string.unquoted.heredoc.hcl meta.interpolation.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform string.unquoted.heredoc.hcl meta.interpolation.hcl keyword.operator.accessor.hcl +# ^^^^^^^ source.hcl.terraform string.unquoted.heredoc.hcl meta.interpolation.hcl variable.other.member.hcl +# ^ source.hcl.terraform string.unquoted.heredoc.hcl meta.interpolation.hcl keyword.operator.accessor.hcl +# ^^ source.hcl.terraform string.unquoted.heredoc.hcl meta.interpolation.hcl +# ^^^^^^^^^^ source.hcl.terraform string.unquoted.heredoc.hcl meta.interpolation.hcl variable.other.member.hcl +# ^ source.hcl.terraform string.unquoted.heredoc.hcl meta.interpolation.hcl +# ^ source.hcl.terraform string.unquoted.heredoc.hcl meta.interpolation.hcl keyword.other.interpolation.end.hcl >server ${ip} -#^^^^^^ source.terraform string.unquoted.heredoc.terraform -# ^ source.terraform string.unquoted.heredoc.terraform meta.interpolation.terraform -# ^^ source.terraform string.unquoted.heredoc.terraform meta.interpolation.terraform keyword.other.interpolation.begin.terraform -# ^^ source.terraform string.unquoted.heredoc.terraform meta.interpolation.terraform variable.other.readwrite.terraform -# ^ source.terraform string.unquoted.heredoc.terraform meta.interpolation.terraform keyword.other.interpolation.end.terraform +#^^^^^^ source.hcl.terraform string.unquoted.heredoc.hcl +# ^ source.hcl.terraform string.unquoted.heredoc.hcl meta.interpolation.hcl +# ^^ source.hcl.terraform string.unquoted.heredoc.hcl meta.interpolation.hcl keyword.other.interpolation.begin.hcl +# ^^ source.hcl.terraform string.unquoted.heredoc.hcl meta.interpolation.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform string.unquoted.heredoc.hcl meta.interpolation.hcl keyword.other.interpolation.end.hcl >%{ endfor } -#^^ source.terraform string.unquoted.heredoc.terraform meta.interpolation.terraform keyword.other.interpolation.begin.terraform -# ^ source.terraform string.unquoted.heredoc.terraform meta.interpolation.terraform -# ^^^^^^ source.terraform string.unquoted.heredoc.terraform meta.interpolation.terraform keyword.control.terraform -# ^ source.terraform string.unquoted.heredoc.terraform meta.interpolation.terraform -# ^ source.terraform string.unquoted.heredoc.terraform meta.interpolation.terraform keyword.other.interpolation.end.terraform +#^^ source.hcl.terraform string.unquoted.heredoc.hcl meta.interpolation.hcl keyword.other.interpolation.begin.hcl +# ^ source.hcl.terraform string.unquoted.heredoc.hcl meta.interpolation.hcl +# ^^^^^^ source.hcl.terraform string.unquoted.heredoc.hcl meta.interpolation.hcl keyword.control.hcl +# ^ source.hcl.terraform string.unquoted.heredoc.hcl meta.interpolation.hcl +# ^ source.hcl.terraform string.unquoted.heredoc.hcl meta.interpolation.hcl keyword.other.interpolation.end.hcl >EOT -#^^^^ source.terraform string.unquoted.heredoc.terraform keyword.control.heredoc.terraform +#^^^^ source.hcl.terraform string.unquoted.heredoc.hcl keyword.control.heredoc.hcl > ><%{ for ip in aws_instance.example.*.private_ip ~} -#^^ source.terraform string.unquoted.heredoc.terraform meta.interpolation.terraform keyword.other.interpolation.begin.terraform -# ^ source.terraform string.unquoted.heredoc.terraform meta.interpolation.terraform -# ^^^ source.terraform string.unquoted.heredoc.terraform meta.interpolation.terraform keyword.control.terraform -# ^ source.terraform string.unquoted.heredoc.terraform meta.interpolation.terraform -# ^^ source.terraform string.unquoted.heredoc.terraform meta.interpolation.terraform variable.other.readwrite.terraform -# ^ source.terraform string.unquoted.heredoc.terraform meta.interpolation.terraform -# ^^ source.terraform string.unquoted.heredoc.terraform meta.interpolation.terraform keyword.control.terraform -# ^ source.terraform string.unquoted.heredoc.terraform meta.interpolation.terraform -# ^^^^^^^^^^^^ source.terraform string.unquoted.heredoc.terraform meta.interpolation.terraform variable.other.readwrite.terraform -# ^ source.terraform string.unquoted.heredoc.terraform meta.interpolation.terraform keyword.operator.accessor.terraform -# ^^^^^^^ source.terraform string.unquoted.heredoc.terraform meta.interpolation.terraform variable.other.member.terraform -# ^ source.terraform string.unquoted.heredoc.terraform meta.interpolation.terraform keyword.operator.accessor.terraform -# ^^ source.terraform string.unquoted.heredoc.terraform meta.interpolation.terraform -# ^^^^^^^^^^ source.terraform string.unquoted.heredoc.terraform meta.interpolation.terraform variable.other.member.terraform -# ^^ source.terraform string.unquoted.heredoc.terraform meta.interpolation.terraform keyword.operator.template.right.trim.terraform -# ^ source.terraform string.unquoted.heredoc.terraform meta.interpolation.terraform keyword.other.interpolation.end.terraform +#^^ source.hcl.terraform string.unquoted.heredoc.hcl meta.interpolation.hcl keyword.other.interpolation.begin.hcl +# ^ source.hcl.terraform string.unquoted.heredoc.hcl meta.interpolation.hcl +# ^^^ source.hcl.terraform string.unquoted.heredoc.hcl meta.interpolation.hcl keyword.control.hcl +# ^ source.hcl.terraform string.unquoted.heredoc.hcl meta.interpolation.hcl +# ^^ source.hcl.terraform string.unquoted.heredoc.hcl meta.interpolation.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform string.unquoted.heredoc.hcl meta.interpolation.hcl +# ^^ source.hcl.terraform string.unquoted.heredoc.hcl meta.interpolation.hcl keyword.control.hcl +# ^ source.hcl.terraform string.unquoted.heredoc.hcl meta.interpolation.hcl +# ^^^^^^^^^^^^ source.hcl.terraform string.unquoted.heredoc.hcl meta.interpolation.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform string.unquoted.heredoc.hcl meta.interpolation.hcl keyword.operator.accessor.hcl +# ^^^^^^^ source.hcl.terraform string.unquoted.heredoc.hcl meta.interpolation.hcl variable.other.member.hcl +# ^ source.hcl.terraform string.unquoted.heredoc.hcl meta.interpolation.hcl keyword.operator.accessor.hcl +# ^^ source.hcl.terraform string.unquoted.heredoc.hcl meta.interpolation.hcl +# ^^^^^^^^^^ source.hcl.terraform string.unquoted.heredoc.hcl meta.interpolation.hcl variable.other.member.hcl +# ^^ source.hcl.terraform string.unquoted.heredoc.hcl meta.interpolation.hcl keyword.operator.template.right.trim.hcl +# ^ source.hcl.terraform string.unquoted.heredoc.hcl meta.interpolation.hcl keyword.other.interpolation.end.hcl >server ${ip} -#^^^^^^ source.terraform string.unquoted.heredoc.terraform -# ^ source.terraform string.unquoted.heredoc.terraform meta.interpolation.terraform -# ^^ source.terraform string.unquoted.heredoc.terraform meta.interpolation.terraform keyword.other.interpolation.begin.terraform -# ^^ source.terraform string.unquoted.heredoc.terraform meta.interpolation.terraform variable.other.readwrite.terraform -# ^ source.terraform string.unquoted.heredoc.terraform meta.interpolation.terraform keyword.other.interpolation.end.terraform +#^^^^^^ source.hcl.terraform string.unquoted.heredoc.hcl +# ^ source.hcl.terraform string.unquoted.heredoc.hcl meta.interpolation.hcl +# ^^ source.hcl.terraform string.unquoted.heredoc.hcl meta.interpolation.hcl keyword.other.interpolation.begin.hcl +# ^^ source.hcl.terraform string.unquoted.heredoc.hcl meta.interpolation.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform string.unquoted.heredoc.hcl meta.interpolation.hcl keyword.other.interpolation.end.hcl >%{ endfor ~} -#^^ source.terraform string.unquoted.heredoc.terraform meta.interpolation.terraform keyword.other.interpolation.begin.terraform -# ^ source.terraform string.unquoted.heredoc.terraform meta.interpolation.terraform -# ^^^^^^ source.terraform string.unquoted.heredoc.terraform meta.interpolation.terraform keyword.control.terraform -# ^^ source.terraform string.unquoted.heredoc.terraform meta.interpolation.terraform keyword.operator.template.right.trim.terraform -# ^ source.terraform string.unquoted.heredoc.terraform meta.interpolation.terraform keyword.other.interpolation.end.terraform +#^^ source.hcl.terraform string.unquoted.heredoc.hcl meta.interpolation.hcl keyword.other.interpolation.begin.hcl +# ^ source.hcl.terraform string.unquoted.heredoc.hcl meta.interpolation.hcl +# ^^^^^^ source.hcl.terraform string.unquoted.heredoc.hcl meta.interpolation.hcl keyword.control.hcl +# ^^ source.hcl.terraform string.unquoted.heredoc.hcl meta.interpolation.hcl keyword.operator.template.right.trim.hcl +# ^ source.hcl.terraform string.unquoted.heredoc.hcl meta.interpolation.hcl keyword.other.interpolation.end.hcl >EOT -#^^^^ source.terraform string.unquoted.heredoc.terraform keyword.control.heredoc.terraform +#^^^^ source.hcl.terraform string.unquoted.heredoc.hcl keyword.control.heredoc.hcl > > > \ No newline at end of file diff --git a/tests/snapshot/terraform/issue927.tf.snap b/tests/snapshot/terraform/issue927.tf.snap index 00e0cfc..14693c3 100644 --- a/tests/snapshot/terraform/issue927.tf.snap +++ b/tests/snapshot/terraform/issue927.tf.snap @@ -1,107 +1,97 @@ >variable "foo" {} -#^^^^^^^^ source.terraform meta.block.terraform entity.name.type.terraform -# ^ source.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform entity.name.tag.terraform entity.name.tag.begin.terraform -# ^^^ source.terraform meta.block.terraform entity.name.tag.terraform -# ^ source.terraform meta.block.terraform entity.name.tag.terraform entity.name.tag.end.terraform -# ^ source.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform punctuation.section.block.begin.terraform -# ^ source.terraform meta.block.terraform punctuation.section.block.end.terraform +#^^^^^^^^ source.hcl.terraform meta.block.hcl entity.name.type.terraform +# ^ source.hcl.terraform meta.block.hcl +# ^^^^^ source.hcl.terraform meta.block.hcl variable.other.enummember.hcl +# ^ source.hcl.terraform meta.block.hcl +# ^ source.hcl.terraform meta.block.hcl punctuation.section.block.begin.hcl +# ^ source.hcl.terraform meta.block.hcl punctuation.section.block.end.hcl >output "result-val" { value = var.foo } -#^^^^^^ source.terraform meta.block.terraform entity.name.type.terraform -# ^ source.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform entity.name.tag.terraform entity.name.tag.begin.terraform -# ^^^^^^^^^^ source.terraform meta.block.terraform entity.name.tag.terraform -# ^ source.terraform meta.block.terraform entity.name.tag.terraform entity.name.tag.end.terraform -# ^ source.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform punctuation.section.block.begin.terraform -# ^ source.terraform meta.block.terraform -# ^^^^^ source.terraform meta.block.terraform variable.declaration.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform -# ^^^ source.terraform meta.block.terraform support.constant.terraform -# ^ source.terraform meta.block.terraform keyword.operator.accessor.terraform -# ^^^ source.terraform meta.block.terraform variable.other.member.terraform -# ^ source.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform punctuation.section.block.end.terraform +#^^^^^^ source.hcl.terraform meta.block.hcl entity.name.type.terraform +# ^ source.hcl.terraform meta.block.hcl +# ^^^^^^^^^^^^ source.hcl.terraform meta.block.hcl variable.other.enummember.hcl +# ^ source.hcl.terraform meta.block.hcl +# ^ source.hcl.terraform meta.block.hcl punctuation.section.block.begin.hcl +# ^ source.hcl.terraform meta.block.hcl +# ^^^^^ source.hcl.terraform meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^^^ source.hcl.terraform meta.block.hcl +# ^ source.hcl.terraform meta.block.hcl keyword.operator.accessor.hcl +# ^^^ source.hcl.terraform meta.block.hcl variable.other.member.hcl +# ^ source.hcl.terraform meta.block.hcl +# ^ source.hcl.terraform meta.block.hcl punctuation.section.block.end.hcl > >variable "some-var" { -#^^^^^^^^ source.terraform meta.block.terraform entity.name.type.terraform -# ^ source.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform entity.name.tag.terraform entity.name.tag.begin.terraform -# ^^^^^^^^ source.terraform meta.block.terraform entity.name.tag.terraform -# ^ source.terraform meta.block.terraform entity.name.tag.terraform entity.name.tag.end.terraform -# ^ source.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform punctuation.section.block.begin.terraform +#^^^^^^^^ source.hcl.terraform meta.block.hcl entity.name.type.terraform +# ^ source.hcl.terraform meta.block.hcl +# ^^^^^^^^^^ source.hcl.terraform meta.block.hcl variable.other.enummember.hcl +# ^ source.hcl.terraform meta.block.hcl +# ^ source.hcl.terraform meta.block.hcl punctuation.section.block.begin.hcl > default = "value" -#^^ source.terraform meta.block.terraform -# ^^^^^^^ source.terraform meta.block.terraform variable.declaration.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^^^ source.terraform meta.block.terraform string.quoted.double.terraform -# ^ source.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform +#^^ source.hcl.terraform meta.block.hcl +# ^^^^^^^ source.hcl.terraform meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^ source.hcl.terraform meta.block.hcl string.quoted.double.hcl +# ^ source.hcl.terraform meta.block.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl >} -#^ source.terraform meta.block.terraform punctuation.section.block.end.terraform +#^ source.hcl.terraform meta.block.hcl punctuation.section.block.end.hcl > >module "foo-mod" { -#^^^^^^ source.terraform meta.block.terraform entity.name.type.terraform -# ^ source.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform entity.name.tag.terraform entity.name.tag.begin.terraform -# ^^^^^^^ source.terraform meta.block.terraform entity.name.tag.terraform -# ^ source.terraform meta.block.terraform entity.name.tag.terraform entity.name.tag.end.terraform -# ^ source.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform punctuation.section.block.begin.terraform +#^^^^^^ source.hcl.terraform meta.block.hcl entity.name.type.terraform +# ^ source.hcl.terraform meta.block.hcl +# ^^^^^^^^^ source.hcl.terraform meta.block.hcl variable.other.enummember.hcl +# ^ source.hcl.terraform meta.block.hcl +# ^ source.hcl.terraform meta.block.hcl punctuation.section.block.begin.hcl > source = "./foo" -#^^ source.terraform meta.block.terraform -# ^^^^^^ source.terraform meta.block.terraform variable.declaration.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^^^ source.terraform meta.block.terraform string.quoted.double.terraform -# ^ source.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform +#^^ source.hcl.terraform meta.block.hcl +# ^^^^^^ source.hcl.terraform meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^ source.hcl.terraform meta.block.hcl string.quoted.double.hcl +# ^ source.hcl.terraform meta.block.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl > foo = var.some-var -#^^ source.terraform meta.block.terraform -# ^^^ source.terraform meta.block.terraform variable.declaration.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform -# ^^^ source.terraform meta.block.terraform support.constant.terraform -# ^ source.terraform meta.block.terraform keyword.operator.accessor.terraform -# ^^^^^^^^ source.terraform meta.block.terraform variable.other.member.terraform +#^^ source.hcl.terraform meta.block.hcl +# ^^^ source.hcl.terraform meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^^^ source.hcl.terraform meta.block.hcl +# ^ source.hcl.terraform meta.block.hcl keyword.operator.accessor.hcl +# ^^^^^^^^ source.hcl.terraform meta.block.hcl variable.other.member.hcl >} -#^ source.terraform meta.block.terraform punctuation.section.block.end.terraform +#^ source.hcl.terraform meta.block.hcl punctuation.section.block.end.hcl > >module "bar" { -#^^^^^^ source.terraform meta.block.terraform entity.name.type.terraform -# ^ source.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform entity.name.tag.terraform entity.name.tag.begin.terraform -# ^^^ source.terraform meta.block.terraform entity.name.tag.terraform -# ^ source.terraform meta.block.terraform entity.name.tag.terraform entity.name.tag.end.terraform -# ^ source.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform punctuation.section.block.begin.terraform +#^^^^^^ source.hcl.terraform meta.block.hcl entity.name.type.terraform +# ^ source.hcl.terraform meta.block.hcl +# ^^^^^ source.hcl.terraform meta.block.hcl variable.other.enummember.hcl +# ^ source.hcl.terraform meta.block.hcl +# ^ source.hcl.terraform meta.block.hcl punctuation.section.block.begin.hcl > source = "./foo" -#^^ source.terraform meta.block.terraform -# ^^^^^^ source.terraform meta.block.terraform variable.declaration.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^^^ source.terraform meta.block.terraform string.quoted.double.terraform -# ^ source.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform +#^^ source.hcl.terraform meta.block.hcl +# ^^^^^^ source.hcl.terraform meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^ source.hcl.terraform meta.block.hcl string.quoted.double.hcl +# ^ source.hcl.terraform meta.block.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl > foo = module.foo-mod.result-val -#^^ source.terraform meta.block.terraform -# ^^^ source.terraform meta.block.terraform variable.declaration.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform -# ^^^^^^ source.terraform meta.block.terraform support.constant.terraform -# ^ source.terraform meta.block.terraform keyword.operator.accessor.terraform -# ^^^^^^^ source.terraform meta.block.terraform variable.other.member.terraform -# ^ source.terraform meta.block.terraform keyword.operator.accessor.terraform -# ^^^^^^^^^^ source.terraform meta.block.terraform variable.other.member.terraform +#^^ source.hcl.terraform meta.block.hcl +# ^^^ source.hcl.terraform meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^^^^^^ source.hcl.terraform meta.block.hcl +# ^ source.hcl.terraform meta.block.hcl keyword.operator.accessor.hcl +# ^^^^^^^ source.hcl.terraform meta.block.hcl variable.other.member.hcl +# ^ source.hcl.terraform meta.block.hcl keyword.operator.accessor.hcl +# ^^^^^^^^^^ source.hcl.terraform meta.block.hcl variable.other.member.hcl >} -#^ source.terraform meta.block.terraform punctuation.section.block.end.terraform \ No newline at end of file +#^ source.hcl.terraform meta.block.hcl punctuation.section.block.end.hcl \ No newline at end of file diff --git a/tests/snapshot/terraform/modules.tf.snap b/tests/snapshot/terraform/modules.tf.snap index 60eebf2..c7d92c1 100644 --- a/tests/snapshot/terraform/modules.tf.snap +++ b/tests/snapshot/terraform/modules.tf.snap @@ -1,59 +1,53 @@ >module "servers" { -#^^^^^^ source.terraform meta.block.terraform entity.name.type.terraform -# ^ source.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform entity.name.tag.terraform entity.name.tag.begin.terraform -# ^^^^^^^ source.terraform meta.block.terraform entity.name.tag.terraform -# ^ source.terraform meta.block.terraform entity.name.tag.terraform entity.name.tag.end.terraform -# ^ source.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform punctuation.section.block.begin.terraform +#^^^^^^ source.hcl.terraform meta.block.hcl entity.name.type.terraform +# ^ source.hcl.terraform meta.block.hcl +# ^^^^^^^^^ source.hcl.terraform meta.block.hcl variable.other.enummember.hcl +# ^ source.hcl.terraform meta.block.hcl +# ^ source.hcl.terraform meta.block.hcl punctuation.section.block.begin.hcl > source = "./app-cluster" -#^^ source.terraform meta.block.terraform -# ^^^^^^ source.terraform meta.block.terraform variable.declaration.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^^^^^^^^^^^ source.terraform meta.block.terraform string.quoted.double.terraform -# ^ source.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform +#^^ source.hcl.terraform meta.block.hcl +# ^^^^^^ source.hcl.terraform meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^^^^^^^ source.hcl.terraform meta.block.hcl string.quoted.double.hcl +# ^ source.hcl.terraform meta.block.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl > > servers = 5 -#^^ source.terraform meta.block.terraform -# ^^^^^^^ source.terraform meta.block.terraform variable.declaration.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform constant.numeric.integer.terraform +#^^ source.hcl.terraform meta.block.hcl +# ^^^^^^^ source.hcl.terraform meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl constant.numeric.integer.hcl >} -#^ source.terraform meta.block.terraform punctuation.section.block.end.terraform +#^ source.hcl.terraform meta.block.hcl punctuation.section.block.end.hcl > >resource "aws_elb" "example" { -#^^^^^^^^ source.terraform meta.block.terraform entity.name.type.terraform -# ^ source.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform entity.name.tag.terraform entity.name.tag.begin.terraform -# ^^^^^^^ source.terraform meta.block.terraform entity.name.tag.terraform -# ^ source.terraform meta.block.terraform entity.name.tag.terraform entity.name.tag.end.terraform -# ^ source.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform entity.name.tag.terraform entity.name.tag.begin.terraform -# ^^^^^^^ source.terraform meta.block.terraform entity.name.tag.terraform -# ^ source.terraform meta.block.terraform entity.name.tag.terraform entity.name.tag.end.terraform -# ^ source.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform punctuation.section.block.begin.terraform +#^^^^^^^^ source.hcl.terraform meta.block.hcl entity.name.type.terraform +# ^ source.hcl.terraform meta.block.hcl +# ^^^^^^^^^ source.hcl.terraform meta.block.hcl variable.other.enummember.hcl +# ^ source.hcl.terraform meta.block.hcl +# ^^^^^^^^^ source.hcl.terraform meta.block.hcl variable.other.enummember.hcl +# ^ source.hcl.terraform meta.block.hcl +# ^ source.hcl.terraform meta.block.hcl punctuation.section.block.begin.hcl > # ... -#^^ source.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform comment.line.number-sign.hcl punctuation.definition.comment.terraform -# ^^^^ source.terraform meta.block.terraform comment.line.number-sign.hcl +#^^ source.hcl.terraform meta.block.hcl +# ^ source.hcl.terraform meta.block.hcl comment.line.number-sign.hcl punctuation.definition.comment.hcl +# ^^^^ source.hcl.terraform meta.block.hcl comment.line.number-sign.hcl > > instances = module.servers.instance_ids -#^^ source.terraform meta.block.terraform -# ^^^^^^^^^ source.terraform meta.block.terraform variable.declaration.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform -# ^^^^^^ source.terraform meta.block.terraform support.constant.terraform -# ^ source.terraform meta.block.terraform keyword.operator.accessor.terraform -# ^^^^^^^ source.terraform meta.block.terraform variable.other.member.terraform -# ^ source.terraform meta.block.terraform keyword.operator.accessor.terraform -# ^^^^^^^^^^^^ source.terraform meta.block.terraform variable.other.member.terraform +#^^ source.hcl.terraform meta.block.hcl +# ^^^^^^^^^ source.hcl.terraform meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^^^^^^ source.hcl.terraform meta.block.hcl +# ^ source.hcl.terraform meta.block.hcl keyword.operator.accessor.hcl +# ^^^^^^^ source.hcl.terraform meta.block.hcl variable.other.member.hcl +# ^ source.hcl.terraform meta.block.hcl keyword.operator.accessor.hcl +# ^^^^^^^^^^^^ source.hcl.terraform meta.block.hcl variable.other.member.hcl >} -#^ source.terraform meta.block.terraform punctuation.section.block.end.terraform +#^ source.hcl.terraform meta.block.hcl punctuation.section.block.end.hcl > \ No newline at end of file diff --git a/tests/snapshot/terraform/nested_maps.tf.snap b/tests/snapshot/terraform/nested_maps.tf.snap index ed35e18..50adf9a 100644 --- a/tests/snapshot/terraform/nested_maps.tf.snap +++ b/tests/snapshot/terraform/nested_maps.tf.snap @@ -1,162 +1,162 @@ >ipam_configuration = { -#^^^^^^^^^^^^^^^^^^ source.terraform variable.declaration.terraform variable.other.readwrite.terraform -# ^ source.terraform variable.declaration.terraform -# ^ source.terraform variable.declaration.terraform keyword.operator.assignment.terraform -# ^ source.terraform variable.declaration.terraform -# ^ source.terraform meta.braces.terraform punctuation.section.braces.begin.terraform +#^^^^^^^^^^^^^^^^^^ source.hcl.terraform variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform variable.declaration.hcl +# ^ source.hcl.terraform variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform variable.declaration.hcl +# ^ source.hcl.terraform meta.braces.hcl punctuation.section.braces.begin.hcl > us-east-1 = { -#^^ source.terraform meta.braces.terraform -# ^^^^^^^^^ source.terraform meta.braces.terraform meta.mapping.key.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.braces.terraform -# ^ source.terraform meta.braces.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.braces.terraform -# ^ source.terraform meta.braces.terraform meta.braces.terraform punctuation.section.braces.begin.terraform +#^^ source.hcl.terraform meta.braces.hcl +# ^^^^^^^^^ source.hcl.terraform meta.braces.hcl meta.mapping.key.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.braces.hcl +# ^ source.hcl.terraform meta.braces.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.braces.hcl +# ^ source.hcl.terraform meta.braces.hcl meta.braces.hcl punctuation.section.braces.begin.hcl > cidr = ["10.0.0.0/16"] -#^^^^ source.terraform meta.braces.terraform meta.braces.terraform -# ^^^^ source.terraform meta.braces.terraform meta.braces.terraform meta.mapping.key.terraform variable.other.readwrite.terraform -# ^^^ source.terraform meta.braces.terraform meta.braces.terraform -# ^ source.terraform meta.braces.terraform meta.braces.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.braces.terraform meta.braces.terraform -# ^ source.terraform meta.braces.terraform meta.braces.terraform -# ^ source.terraform meta.braces.terraform meta.braces.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^^^^^^^^^ source.terraform meta.braces.terraform meta.braces.terraform string.quoted.double.terraform -# ^ source.terraform meta.braces.terraform meta.braces.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform -# ^^ source.terraform meta.braces.terraform meta.braces.terraform +#^^^^ source.hcl.terraform meta.braces.hcl meta.braces.hcl +# ^^^^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.mapping.key.hcl variable.other.readwrite.hcl +# ^^^ source.hcl.terraform meta.braces.hcl meta.braces.hcl +# ^ source.hcl.terraform meta.braces.hcl meta.braces.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.braces.hcl meta.braces.hcl +# ^ source.hcl.terraform meta.braces.hcl meta.braces.hcl +# ^ source.hcl.terraform meta.braces.hcl meta.braces.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^^^^^ source.hcl.terraform meta.braces.hcl meta.braces.hcl string.quoted.double.hcl +# ^ source.hcl.terraform meta.braces.hcl meta.braces.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^^ source.hcl.terraform meta.braces.hcl meta.braces.hcl > locale = "us-east-1" -#^^^^ source.terraform meta.braces.terraform meta.braces.terraform -# ^^^^^^ source.terraform meta.braces.terraform meta.braces.terraform meta.mapping.key.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.braces.terraform meta.braces.terraform -# ^ source.terraform meta.braces.terraform meta.braces.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.braces.terraform meta.braces.terraform -# ^ source.terraform meta.braces.terraform meta.braces.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^^^^^^^ source.terraform meta.braces.terraform meta.braces.terraform string.quoted.double.terraform -# ^ source.terraform meta.braces.terraform meta.braces.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform +#^^^^ source.hcl.terraform meta.braces.hcl meta.braces.hcl +# ^^^^^^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.mapping.key.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.braces.hcl meta.braces.hcl +# ^ source.hcl.terraform meta.braces.hcl meta.braces.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.braces.hcl meta.braces.hcl +# ^ source.hcl.terraform meta.braces.hcl meta.braces.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^^^ source.hcl.terraform meta.braces.hcl meta.braces.hcl string.quoted.double.hcl +# ^ source.hcl.terraform meta.braces.hcl meta.braces.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl > > sub_pools = { -#^^^^ source.terraform meta.braces.terraform meta.braces.terraform -# ^^^^^^^^^ source.terraform meta.braces.terraform meta.braces.terraform meta.mapping.key.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.braces.terraform meta.braces.terraform -# ^ source.terraform meta.braces.terraform meta.braces.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.braces.terraform meta.braces.terraform -# ^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform punctuation.section.braces.begin.terraform +#^^^^ source.hcl.terraform meta.braces.hcl meta.braces.hcl +# ^^^^^^^^^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.mapping.key.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.braces.hcl meta.braces.hcl +# ^ source.hcl.terraform meta.braces.hcl meta.braces.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.braces.hcl meta.braces.hcl +# ^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl punctuation.section.braces.begin.hcl > dev = { -#^^^^^^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform -# ^^^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.mapping.key.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform -# ^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform -# ^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform punctuation.section.braces.begin.terraform +#^^^^^^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^^^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.mapping.key.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl punctuation.section.braces.begin.hcl > cidr = ["10.0.0.0/20"] -#^^^^^^^^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform -# ^^^^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.mapping.key.terraform variable.other.readwrite.terraform -# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform -# ^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform -# ^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform -# ^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^^^^^^^^^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform string.quoted.double.terraform -# ^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform -# ^^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform +#^^^^^^^^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^^^^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.mapping.key.hcl variable.other.readwrite.hcl +# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^^^^^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl string.quoted.double.hcl +# ^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl > allocation_default_netmask_length = 28 -#^^^^^^^^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform -# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.mapping.key.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform -# ^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform -# ^^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform constant.numeric.integer.terraform +#^^^^^^^^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.mapping.key.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl constant.numeric.integer.hcl > > sub_pools = { -#^^^^^^^^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform -# ^^^^^^^^^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.mapping.key.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform -# ^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform -# ^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform punctuation.section.braces.begin.terraform +#^^^^^^^^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^^^^^^^^^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.mapping.key.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl punctuation.section.braces.begin.hcl > app_team_b = { -#^^^^^^^^^^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform -# ^^^^^^^^^^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.mapping.key.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform -# ^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform -# ^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform punctuation.section.braces.begin.terraform +#^^^^^^^^^^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^^^^^^^^^^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.mapping.key.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl punctuation.section.braces.begin.hcl > cidr = ["10.0.0.0/24"] -#^^^^^^^^^^^^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform -# ^^^^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.mapping.key.terraform variable.other.readwrite.terraform -# ^^^^^^^^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform -# ^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform -# ^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform -# ^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^^^^^^^^^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform string.quoted.double.terraform -# ^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform -# ^^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform +#^^^^^^^^^^^^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^^^^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.mapping.key.hcl variable.other.readwrite.hcl +# ^^^^^^^^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^^^^^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl string.quoted.double.hcl +# ^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl > description = "app team b's space in us-east-1" -#^^^^^^^^^^^^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform -# ^^^^^^^^^^^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.mapping.key.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform -# ^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform -# ^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform string.quoted.double.terraform -# ^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform +#^^^^^^^^^^^^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^^^^^^^^^^^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.mapping.key.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl string.quoted.double.hcl +# ^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl > } -#^^^^^^^^^^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform -# ^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform punctuation.section.braces.end.terraform +#^^^^^^^^^^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl punctuation.section.braces.end.hcl > app_team_a = { -#^^^^^^^^^^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform -# ^^^^^^^^^^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.mapping.key.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform -# ^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform -# ^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform punctuation.section.braces.begin.terraform +#^^^^^^^^^^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^^^^^^^^^^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.mapping.key.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl punctuation.section.braces.begin.hcl > cidr = ["10.0.1.0/24"] -#^^^^^^^^^^^^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform -# ^^^^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.mapping.key.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform -# ^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform -# ^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform -# ^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^^^^^^^^^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform string.quoted.double.terraform -# ^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform -# ^^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform +#^^^^^^^^^^^^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^^^^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.mapping.key.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^^^^^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl string.quoted.double.hcl +# ^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl > } -#^^^^^^^^^^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform -# ^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform punctuation.section.braces.end.terraform +#^^^^^^^^^^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl punctuation.section.braces.end.hcl > } -#^^^^^^^^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform -# ^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform punctuation.section.braces.end.terraform +#^^^^^^^^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl punctuation.section.braces.end.hcl > } -#^^^^^^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform -# ^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform punctuation.section.braces.end.terraform +#^^^^^^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl punctuation.section.braces.end.hcl > > stage = { -#^^^^^^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform -# ^^^^^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.mapping.key.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform -# ^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform -# ^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform punctuation.section.braces.begin.terraform +#^^^^^^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^^^^^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.mapping.key.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl punctuation.section.braces.begin.hcl > cidr = ["10.0.16.0/20"] -#^^^^^^^^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform -# ^^^^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.mapping.key.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform -# ^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform -# ^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform -# ^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^^^^^^^^^^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform string.quoted.double.terraform -# ^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform -# ^^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform +#^^^^^^^^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^^^^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.mapping.key.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^^^^^^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl string.quoted.double.hcl +# ^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl > } -#^^^^^^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform -# ^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform punctuation.section.braces.end.terraform +#^^^^^^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl meta.braces.hcl punctuation.section.braces.end.hcl > } -#^^^^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform -# ^ source.terraform meta.braces.terraform meta.braces.terraform meta.braces.terraform punctuation.section.braces.end.terraform +#^^^^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl +# ^ source.hcl.terraform meta.braces.hcl meta.braces.hcl meta.braces.hcl punctuation.section.braces.end.hcl > } -#^^ source.terraform meta.braces.terraform meta.braces.terraform -# ^ source.terraform meta.braces.terraform meta.braces.terraform punctuation.section.braces.end.terraform +#^^ source.hcl.terraform meta.braces.hcl meta.braces.hcl +# ^ source.hcl.terraform meta.braces.hcl meta.braces.hcl punctuation.section.braces.end.hcl >} -#^ source.terraform meta.braces.terraform punctuation.section.braces.end.terraform +#^ source.hcl.terraform meta.braces.hcl punctuation.section.braces.end.hcl > \ No newline at end of file diff --git a/tests/snapshot/terraform/providers.tf.snap b/tests/snapshot/terraform/providers.tf.snap index 41bc75f..7122a61 100644 --- a/tests/snapshot/terraform/providers.tf.snap +++ b/tests/snapshot/terraform/providers.tf.snap @@ -1,29 +1,27 @@ >provider "google" { -#^^^^^^^^ source.terraform meta.block.terraform entity.name.type.terraform -# ^ source.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform entity.name.tag.terraform entity.name.tag.begin.terraform -# ^^^^^^ source.terraform meta.block.terraform entity.name.tag.terraform -# ^ source.terraform meta.block.terraform entity.name.tag.terraform entity.name.tag.end.terraform -# ^ source.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform punctuation.section.block.begin.terraform +#^^^^^^^^ source.hcl.terraform meta.block.hcl entity.name.type.terraform +# ^ source.hcl.terraform meta.block.hcl +# ^^^^^^^^ source.hcl.terraform meta.block.hcl variable.other.enummember.hcl +# ^ source.hcl.terraform meta.block.hcl +# ^ source.hcl.terraform meta.block.hcl punctuation.section.block.begin.hcl > project = "acme-app" -#^^ source.terraform meta.block.terraform -# ^^^^^^^ source.terraform meta.block.terraform variable.declaration.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^^^^^^ source.terraform meta.block.terraform string.quoted.double.terraform -# ^ source.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform +#^^ source.hcl.terraform meta.block.hcl +# ^^^^^^^ source.hcl.terraform meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^^ source.hcl.terraform meta.block.hcl string.quoted.double.hcl +# ^ source.hcl.terraform meta.block.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl > region = "us-central1" -#^^ source.terraform meta.block.terraform -# ^^^^^^ source.terraform meta.block.terraform variable.declaration.terraform variable.other.readwrite.terraform -# ^^ source.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^^^^^^^^^ source.terraform meta.block.terraform string.quoted.double.terraform -# ^ source.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform +#^^ source.hcl.terraform meta.block.hcl +# ^^^^^^ source.hcl.terraform meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^^^^^ source.hcl.terraform meta.block.hcl string.quoted.double.hcl +# ^ source.hcl.terraform meta.block.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl >} -#^ source.terraform meta.block.terraform punctuation.section.block.end.terraform +#^ source.hcl.terraform meta.block.hcl punctuation.section.block.end.hcl > \ No newline at end of file diff --git a/tests/snapshot/terraform/variables_input.tf.snap b/tests/snapshot/terraform/variables_input.tf.snap index 49cb077..0a0cea2 100644 --- a/tests/snapshot/terraform/variables_input.tf.snap +++ b/tests/snapshot/terraform/variables_input.tf.snap @@ -1,227 +1,219 @@ ># input variables -#^ source.terraform comment.line.number-sign.hcl punctuation.definition.comment.terraform -# ^^^^^^^^^^^^^^^^ source.terraform comment.line.number-sign.hcl +#^ source.hcl.terraform comment.line.number-sign.hcl punctuation.definition.comment.hcl +# ^^^^^^^^^^^^^^^^ source.hcl.terraform comment.line.number-sign.hcl > >variable "image_id" { -#^^^^^^^^ source.terraform meta.block.terraform entity.name.type.terraform -# ^ source.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform entity.name.tag.terraform entity.name.tag.begin.terraform -# ^^^^^^^^ source.terraform meta.block.terraform entity.name.tag.terraform -# ^ source.terraform meta.block.terraform entity.name.tag.terraform entity.name.tag.end.terraform -# ^ source.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform punctuation.section.block.begin.terraform +#^^^^^^^^ source.hcl.terraform meta.block.hcl entity.name.type.terraform +# ^ source.hcl.terraform meta.block.hcl +# ^^^^^^^^^^ source.hcl.terraform meta.block.hcl variable.other.enummember.hcl +# ^ source.hcl.terraform meta.block.hcl +# ^ source.hcl.terraform meta.block.hcl punctuation.section.block.begin.hcl > type = string -#^^ source.terraform meta.block.terraform -# ^^^^ source.terraform meta.block.terraform variable.declaration.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform -# ^^^^^^ source.terraform meta.block.terraform storage.type.terraform +#^^ source.hcl.terraform meta.block.hcl +# ^^^^ source.hcl.terraform meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^^^^^^ source.hcl.terraform meta.block.hcl storage.type.hcl >} -#^ source.terraform meta.block.terraform punctuation.section.block.end.terraform +#^ source.hcl.terraform meta.block.hcl punctuation.section.block.end.hcl > >variable "availability_zone_names" { -#^^^^^^^^ source.terraform meta.block.terraform entity.name.type.terraform -# ^ source.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform entity.name.tag.terraform entity.name.tag.begin.terraform -# ^^^^^^^^^^^^^^^^^^^^^^^ source.terraform meta.block.terraform entity.name.tag.terraform -# ^ source.terraform meta.block.terraform entity.name.tag.terraform entity.name.tag.end.terraform -# ^ source.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform punctuation.section.block.begin.terraform +#^^^^^^^^ source.hcl.terraform meta.block.hcl entity.name.type.terraform +# ^ source.hcl.terraform meta.block.hcl +# ^^^^^^^^^^^^^^^^^^^^^^^^^ source.hcl.terraform meta.block.hcl variable.other.enummember.hcl +# ^ source.hcl.terraform meta.block.hcl +# ^ source.hcl.terraform meta.block.hcl punctuation.section.block.begin.hcl > type = list(string) -#^^ source.terraform meta.block.terraform -# ^^^^ source.terraform meta.block.terraform variable.declaration.terraform variable.other.readwrite.terraform -# ^^^^ source.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform -# ^^^^ source.terraform meta.block.terraform meta.function-call.terraform support.function.builtin.terraform -# ^ source.terraform meta.block.terraform meta.function-call.terraform punctuation.section.parens.begin.terraform -# ^^^^^^ source.terraform meta.block.terraform meta.function-call.terraform storage.type.terraform -# ^ source.terraform meta.block.terraform meta.function-call.terraform punctuation.section.parens.end.terraform +#^^ source.hcl.terraform meta.block.hcl +# ^^^^ source.hcl.terraform meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^^^^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^^^^ source.hcl.terraform meta.block.hcl meta.function-call.hcl variable.function.hcl +# ^ source.hcl.terraform meta.block.hcl meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^^^^^^ source.hcl.terraform meta.block.hcl meta.function-call.hcl storage.type.hcl +# ^ source.hcl.terraform meta.block.hcl meta.function-call.hcl punctuation.section.parens.end.hcl > default = ["us-west-1a"] -#^^ source.terraform meta.block.terraform -# ^^^^^^^ source.terraform meta.block.terraform variable.declaration.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform punctuation.section.brackets.begin.terraform -# ^ source.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^^^^^^^^ source.terraform meta.block.terraform string.quoted.double.terraform -# ^ source.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform -# ^ source.terraform meta.block.terraform punctuation.section.brackets.end.terraform +#^^ source.hcl.terraform meta.block.hcl +# ^^^^^^^ source.hcl.terraform meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl punctuation.section.brackets.begin.hcl +# ^ source.hcl.terraform meta.block.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^^^^ source.hcl.terraform meta.block.hcl string.quoted.double.hcl +# ^ source.hcl.terraform meta.block.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl +# ^ source.hcl.terraform meta.block.hcl punctuation.section.brackets.end.hcl >} -#^ source.terraform meta.block.terraform punctuation.section.block.end.terraform +#^ source.hcl.terraform meta.block.hcl punctuation.section.block.end.hcl > >variable "docker_ports" { -#^^^^^^^^ source.terraform meta.block.terraform entity.name.type.terraform -# ^ source.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform entity.name.tag.terraform entity.name.tag.begin.terraform -# ^^^^^^^^^^^^ source.terraform meta.block.terraform entity.name.tag.terraform -# ^ source.terraform meta.block.terraform entity.name.tag.terraform entity.name.tag.end.terraform -# ^ source.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform punctuation.section.block.begin.terraform +#^^^^^^^^ source.hcl.terraform meta.block.hcl entity.name.type.terraform +# ^ source.hcl.terraform meta.block.hcl +# ^^^^^^^^^^^^^^ source.hcl.terraform meta.block.hcl variable.other.enummember.hcl +# ^ source.hcl.terraform meta.block.hcl +# ^ source.hcl.terraform meta.block.hcl punctuation.section.block.begin.hcl > type = list(object({ -#^^ source.terraform meta.block.terraform -# ^^^^ source.terraform meta.block.terraform variable.declaration.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform -# ^^^^ source.terraform meta.block.terraform meta.function-call.terraform support.function.builtin.terraform -# ^ source.terraform meta.block.terraform meta.function-call.terraform punctuation.section.parens.begin.terraform -# ^^^^^^ source.terraform meta.block.terraform meta.function-call.terraform meta.function-call.terraform support.function.builtin.terraform -# ^ source.terraform meta.block.terraform meta.function-call.terraform meta.function-call.terraform punctuation.section.parens.begin.terraform -# ^ source.terraform meta.block.terraform meta.function-call.terraform meta.function-call.terraform punctuation.section.braces.begin.terraform +#^^ source.hcl.terraform meta.block.hcl +# ^^^^ source.hcl.terraform meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^^^^ source.hcl.terraform meta.block.hcl meta.function-call.hcl variable.function.hcl +# ^ source.hcl.terraform meta.block.hcl meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^^^^^^ source.hcl.terraform meta.block.hcl meta.function-call.hcl meta.function-call.hcl support.function.builtin.hcl +# ^ source.hcl.terraform meta.block.hcl meta.function-call.hcl meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^ source.hcl.terraform meta.block.hcl meta.function-call.hcl meta.function-call.hcl punctuation.section.braces.begin.hcl > internal = number -#^^^^ source.terraform meta.block.terraform meta.function-call.terraform meta.function-call.terraform -# ^^^^^^^^ source.terraform meta.block.terraform meta.function-call.terraform meta.function-call.terraform variable.declaration.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.block.terraform meta.function-call.terraform meta.function-call.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform meta.function-call.terraform meta.function-call.terraform variable.declaration.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.block.terraform meta.function-call.terraform meta.function-call.terraform variable.declaration.terraform -# ^^^^^^ source.terraform meta.block.terraform meta.function-call.terraform meta.function-call.terraform storage.type.terraform +#^^^^ source.hcl.terraform meta.block.hcl meta.function-call.hcl meta.function-call.hcl +# ^^^^^^^^ source.hcl.terraform meta.block.hcl meta.function-call.hcl meta.function-call.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl meta.function-call.hcl meta.function-call.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl meta.function-call.hcl meta.function-call.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.block.hcl meta.function-call.hcl meta.function-call.hcl variable.declaration.hcl +# ^^^^^^ source.hcl.terraform meta.block.hcl meta.function-call.hcl meta.function-call.hcl storage.type.hcl > external = number -#^^^^ source.terraform meta.block.terraform meta.function-call.terraform meta.function-call.terraform -# ^^^^^^^^ source.terraform meta.block.terraform meta.function-call.terraform meta.function-call.terraform variable.declaration.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.block.terraform meta.function-call.terraform meta.function-call.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform meta.function-call.terraform meta.function-call.terraform variable.declaration.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.block.terraform meta.function-call.terraform meta.function-call.terraform variable.declaration.terraform -# ^^^^^^ source.terraform meta.block.terraform meta.function-call.terraform meta.function-call.terraform storage.type.terraform +#^^^^ source.hcl.terraform meta.block.hcl meta.function-call.hcl meta.function-call.hcl +# ^^^^^^^^ source.hcl.terraform meta.block.hcl meta.function-call.hcl meta.function-call.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl meta.function-call.hcl meta.function-call.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl meta.function-call.hcl meta.function-call.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.block.hcl meta.function-call.hcl meta.function-call.hcl variable.declaration.hcl +# ^^^^^^ source.hcl.terraform meta.block.hcl meta.function-call.hcl meta.function-call.hcl storage.type.hcl > protocol = string -#^^^^ source.terraform meta.block.terraform meta.function-call.terraform meta.function-call.terraform -# ^^^^^^^^ source.terraform meta.block.terraform meta.function-call.terraform meta.function-call.terraform variable.declaration.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.block.terraform meta.function-call.terraform meta.function-call.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform meta.function-call.terraform meta.function-call.terraform variable.declaration.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.block.terraform meta.function-call.terraform meta.function-call.terraform variable.declaration.terraform -# ^^^^^^ source.terraform meta.block.terraform meta.function-call.terraform meta.function-call.terraform storage.type.terraform +#^^^^ source.hcl.terraform meta.block.hcl meta.function-call.hcl meta.function-call.hcl +# ^^^^^^^^ source.hcl.terraform meta.block.hcl meta.function-call.hcl meta.function-call.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl meta.function-call.hcl meta.function-call.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl meta.function-call.hcl meta.function-call.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.block.hcl meta.function-call.hcl meta.function-call.hcl variable.declaration.hcl +# ^^^^^^ source.hcl.terraform meta.block.hcl meta.function-call.hcl meta.function-call.hcl storage.type.hcl > })) -#^^ source.terraform meta.block.terraform meta.function-call.terraform meta.function-call.terraform -# ^ source.terraform meta.block.terraform meta.function-call.terraform meta.function-call.terraform punctuation.section.braces.end.terraform -# ^ source.terraform meta.block.terraform meta.function-call.terraform meta.function-call.terraform punctuation.section.parens.end.terraform -# ^ source.terraform meta.block.terraform meta.function-call.terraform punctuation.section.parens.end.terraform +#^^ source.hcl.terraform meta.block.hcl meta.function-call.hcl meta.function-call.hcl +# ^ source.hcl.terraform meta.block.hcl meta.function-call.hcl meta.function-call.hcl punctuation.section.braces.end.hcl +# ^ source.hcl.terraform meta.block.hcl meta.function-call.hcl meta.function-call.hcl punctuation.section.parens.end.hcl +# ^ source.hcl.terraform meta.block.hcl meta.function-call.hcl punctuation.section.parens.end.hcl > default = [ -#^^ source.terraform meta.block.terraform -# ^^^^^^^ source.terraform meta.block.terraform variable.declaration.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform punctuation.section.brackets.begin.terraform +#^^ source.hcl.terraform meta.block.hcl +# ^^^^^^^ source.hcl.terraform meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl punctuation.section.brackets.begin.hcl > { -#^^^^ source.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform meta.braces.terraform punctuation.section.braces.begin.terraform +#^^^^ source.hcl.terraform meta.block.hcl +# ^ source.hcl.terraform meta.block.hcl meta.braces.hcl punctuation.section.braces.begin.hcl > internal = 8300 -#^^^^^^ source.terraform meta.block.terraform meta.braces.terraform -# ^^^^^^^^ source.terraform meta.block.terraform meta.braces.terraform meta.mapping.key.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.block.terraform meta.braces.terraform -# ^ source.terraform meta.block.terraform meta.braces.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.block.terraform meta.braces.terraform -# ^^^^ source.terraform meta.block.terraform meta.braces.terraform constant.numeric.integer.terraform +#^^^^^^ source.hcl.terraform meta.block.hcl meta.braces.hcl +# ^^^^^^^^ source.hcl.terraform meta.block.hcl meta.braces.hcl meta.mapping.key.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl meta.braces.hcl +# ^ source.hcl.terraform meta.block.hcl meta.braces.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.block.hcl meta.braces.hcl +# ^^^^ source.hcl.terraform meta.block.hcl meta.braces.hcl constant.numeric.integer.hcl > external = 8300 -#^^^^^^ source.terraform meta.block.terraform meta.braces.terraform -# ^^^^^^^^ source.terraform meta.block.terraform meta.braces.terraform meta.mapping.key.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.block.terraform meta.braces.terraform -# ^ source.terraform meta.block.terraform meta.braces.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.block.terraform meta.braces.terraform -# ^^^^ source.terraform meta.block.terraform meta.braces.terraform constant.numeric.integer.terraform +#^^^^^^ source.hcl.terraform meta.block.hcl meta.braces.hcl +# ^^^^^^^^ source.hcl.terraform meta.block.hcl meta.braces.hcl meta.mapping.key.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl meta.braces.hcl +# ^ source.hcl.terraform meta.block.hcl meta.braces.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.block.hcl meta.braces.hcl +# ^^^^ source.hcl.terraform meta.block.hcl meta.braces.hcl constant.numeric.integer.hcl > protocol = "tcp" -#^^^^^^ source.terraform meta.block.terraform meta.braces.terraform -# ^^^^^^^^ source.terraform meta.block.terraform meta.braces.terraform meta.mapping.key.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.block.terraform meta.braces.terraform -# ^ source.terraform meta.block.terraform meta.braces.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.block.terraform meta.braces.terraform -# ^ source.terraform meta.block.terraform meta.braces.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^ source.terraform meta.block.terraform meta.braces.terraform string.quoted.double.terraform -# ^ source.terraform meta.block.terraform meta.braces.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform +#^^^^^^ source.hcl.terraform meta.block.hcl meta.braces.hcl +# ^^^^^^^^ source.hcl.terraform meta.block.hcl meta.braces.hcl meta.mapping.key.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl meta.braces.hcl +# ^ source.hcl.terraform meta.block.hcl meta.braces.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.block.hcl meta.braces.hcl +# ^ source.hcl.terraform meta.block.hcl meta.braces.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^ source.hcl.terraform meta.block.hcl meta.braces.hcl string.quoted.double.hcl +# ^ source.hcl.terraform meta.block.hcl meta.braces.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl > } -#^^^^ source.terraform meta.block.terraform meta.braces.terraform -# ^ source.terraform meta.block.terraform meta.braces.terraform punctuation.section.braces.end.terraform +#^^^^ source.hcl.terraform meta.block.hcl meta.braces.hcl +# ^ source.hcl.terraform meta.block.hcl meta.braces.hcl punctuation.section.braces.end.hcl > ] -#^^ source.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform punctuation.section.brackets.end.terraform +#^^ source.hcl.terraform meta.block.hcl +# ^ source.hcl.terraform meta.block.hcl punctuation.section.brackets.end.hcl >} -#^ source.terraform meta.block.terraform punctuation.section.block.end.terraform +#^ source.hcl.terraform meta.block.hcl punctuation.section.block.end.hcl > >variable "image_id" { -#^^^^^^^^ source.terraform meta.block.terraform entity.name.type.terraform -# ^ source.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform entity.name.tag.terraform entity.name.tag.begin.terraform -# ^^^^^^^^ source.terraform meta.block.terraform entity.name.tag.terraform -# ^ source.terraform meta.block.terraform entity.name.tag.terraform entity.name.tag.end.terraform -# ^ source.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform punctuation.section.block.begin.terraform +#^^^^^^^^ source.hcl.terraform meta.block.hcl entity.name.type.terraform +# ^ source.hcl.terraform meta.block.hcl +# ^^^^^^^^^^ source.hcl.terraform meta.block.hcl variable.other.enummember.hcl +# ^ source.hcl.terraform meta.block.hcl +# ^ source.hcl.terraform meta.block.hcl punctuation.section.block.begin.hcl > type = string -#^^ source.terraform meta.block.terraform -# ^^^^ source.terraform meta.block.terraform variable.declaration.terraform variable.other.readwrite.terraform -# ^^^^^^^^ source.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform -# ^^^^^^ source.terraform meta.block.terraform storage.type.terraform +#^^ source.hcl.terraform meta.block.hcl +# ^^^^ source.hcl.terraform meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^^^^^^^^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^^^^^^ source.hcl.terraform meta.block.hcl storage.type.hcl > description = "The id of the machine image (AMI) to use for the server." -#^^ source.terraform meta.block.terraform -# ^^^^^^^^^^^ source.terraform meta.block.terraform variable.declaration.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.terraform meta.block.terraform string.quoted.double.terraform -# ^ source.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform +#^^ source.hcl.terraform meta.block.hcl +# ^^^^^^^^^^^ source.hcl.terraform meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.hcl.terraform meta.block.hcl string.quoted.double.hcl +# ^ source.hcl.terraform meta.block.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl > > validation { -#^^ source.terraform meta.block.terraform -# ^^^^^^^^^^ source.terraform meta.block.terraform meta.block.terraform entity.name.label.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform punctuation.section.block.begin.terraform +#^^ source.hcl.terraform meta.block.hcl +# ^^^^^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl entity.name.label.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl punctuation.section.block.begin.hcl > condition = length(var.image_id) > 4 && substr(var.image_id, 0, 4) == "ami-" -#^^^^ source.terraform meta.block.terraform meta.block.terraform -# ^^^^^^^^^ source.terraform meta.block.terraform meta.block.terraform variable.declaration.terraform variable.other.readwrite.terraform -# ^^^^^ source.terraform meta.block.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform variable.declaration.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform variable.declaration.terraform -# ^^^^^^ source.terraform meta.block.terraform meta.block.terraform meta.function-call.terraform support.function.builtin.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform meta.function-call.terraform punctuation.section.parens.begin.terraform -# ^^^ source.terraform meta.block.terraform meta.block.terraform meta.function-call.terraform support.constant.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform meta.function-call.terraform keyword.operator.accessor.terraform -# ^^^^^^^^ source.terraform meta.block.terraform meta.block.terraform meta.function-call.terraform variable.other.member.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform meta.function-call.terraform punctuation.section.parens.end.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform keyword.operator.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform constant.numeric.integer.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform -# ^^ source.terraform meta.block.terraform meta.block.terraform keyword.operator.logical.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform -# ^^^^^^ source.terraform meta.block.terraform meta.block.terraform meta.function-call.terraform support.function.builtin.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform meta.function-call.terraform punctuation.section.parens.begin.terraform -# ^^^ source.terraform meta.block.terraform meta.block.terraform meta.function-call.terraform support.constant.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform meta.function-call.terraform keyword.operator.accessor.terraform -# ^^^^^^^^ source.terraform meta.block.terraform meta.block.terraform meta.function-call.terraform variable.other.member.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform meta.function-call.terraform punctuation.separator.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform meta.function-call.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform meta.function-call.terraform constant.numeric.integer.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform meta.function-call.terraform punctuation.separator.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform meta.function-call.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform meta.function-call.terraform constant.numeric.integer.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform meta.function-call.terraform punctuation.section.parens.end.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform -# ^^ source.terraform meta.block.terraform meta.block.terraform keyword.operator.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^^ source.terraform meta.block.terraform meta.block.terraform string.quoted.double.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform +#^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl +# ^^^^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl variable.declaration.hcl +# ^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.function-call.hcl variable.function.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^^^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.function-call.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.function-call.hcl keyword.operator.accessor.hcl +# ^^^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.function-call.hcl variable.other.member.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.function-call.hcl punctuation.section.parens.end.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl keyword.operator.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl constant.numeric.integer.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl +# ^^ source.hcl.terraform meta.block.hcl meta.block.hcl keyword.operator.logical.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl +# ^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.function-call.hcl variable.function.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^^^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.function-call.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.function-call.hcl keyword.operator.accessor.hcl +# ^^^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.function-call.hcl variable.other.member.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.function-call.hcl punctuation.separator.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.function-call.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.function-call.hcl constant.numeric.integer.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.function-call.hcl punctuation.separator.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.function-call.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.function-call.hcl constant.numeric.integer.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.function-call.hcl punctuation.section.parens.end.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl +# ^^ source.hcl.terraform meta.block.hcl meta.block.hcl keyword.operator.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl string.quoted.double.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl > error_message = "The image_id value must be a valid AMI id, starting with \"ami-\"." -#^^^^ source.terraform meta.block.terraform meta.block.terraform -# ^^^^^^^^^^^^^ source.terraform meta.block.terraform meta.block.terraform variable.declaration.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform variable.declaration.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.terraform meta.block.terraform meta.block.terraform string.quoted.double.terraform -# ^^ source.terraform meta.block.terraform meta.block.terraform string.quoted.double.terraform constant.character.escape.terraform -# ^^^^ source.terraform meta.block.terraform meta.block.terraform string.quoted.double.terraform -# ^^ source.terraform meta.block.terraform meta.block.terraform string.quoted.double.terraform constant.character.escape.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform string.quoted.double.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform +#^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl +# ^^^^^^^^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl string.quoted.double.hcl +# ^^ source.hcl.terraform meta.block.hcl meta.block.hcl string.quoted.double.hcl constant.character.escape.hcl +# ^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl string.quoted.double.hcl +# ^^ source.hcl.terraform meta.block.hcl meta.block.hcl string.quoted.double.hcl constant.character.escape.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl string.quoted.double.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl > } -#^^ source.terraform meta.block.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform meta.block.terraform punctuation.section.block.end.terraform +#^^ source.hcl.terraform meta.block.hcl meta.block.hcl +# ^ source.hcl.terraform meta.block.hcl meta.block.hcl punctuation.section.block.end.hcl >} -#^ source.terraform meta.block.terraform punctuation.section.block.end.terraform +#^ source.hcl.terraform meta.block.hcl punctuation.section.block.end.hcl > \ No newline at end of file diff --git a/tests/snapshot/terraform/variables_local.tf.snap b/tests/snapshot/terraform/variables_local.tf.snap index f64fcfe..735f021 100644 --- a/tests/snapshot/terraform/variables_local.tf.snap +++ b/tests/snapshot/terraform/variables_local.tf.snap @@ -1,124 +1,118 @@ >locals { -#^^^^^^ source.terraform meta.block.terraform entity.name.type.terraform -# ^ source.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform punctuation.section.block.begin.terraform +#^^^^^^ source.hcl.terraform meta.block.hcl entity.name.type.terraform +# ^ source.hcl.terraform meta.block.hcl +# ^ source.hcl.terraform meta.block.hcl punctuation.section.block.begin.hcl > service_name = "forum" -#^^ source.terraform meta.block.terraform -# ^^^^^^^^^^^^ source.terraform meta.block.terraform variable.declaration.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^^^ source.terraform meta.block.terraform string.quoted.double.terraform -# ^ source.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform +#^^ source.hcl.terraform meta.block.hcl +# ^^^^^^^^^^^^ source.hcl.terraform meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^ source.hcl.terraform meta.block.hcl string.quoted.double.hcl +# ^ source.hcl.terraform meta.block.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl > owner = "Community Team" -#^^ source.terraform meta.block.terraform -# ^^^^^ source.terraform meta.block.terraform variable.declaration.terraform variable.other.readwrite.terraform -# ^^^^^^^^ source.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^^^^^^^^^^^^ source.terraform meta.block.terraform string.quoted.double.terraform -# ^ source.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform +#^^ source.hcl.terraform meta.block.hcl +# ^^^^^ source.hcl.terraform meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^^^^^^^^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^^^^^^^^ source.hcl.terraform meta.block.hcl string.quoted.double.hcl +# ^ source.hcl.terraform meta.block.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl >} -#^ source.terraform meta.block.terraform punctuation.section.block.end.terraform +#^ source.hcl.terraform meta.block.hcl punctuation.section.block.end.hcl > >locals { -#^^^^^^ source.terraform meta.block.terraform entity.name.type.terraform -# ^ source.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform punctuation.section.block.begin.terraform +#^^^^^^ source.hcl.terraform meta.block.hcl entity.name.type.terraform +# ^ source.hcl.terraform meta.block.hcl +# ^ source.hcl.terraform meta.block.hcl punctuation.section.block.begin.hcl > # Ids for multiple sets of EC2 instances, merged together -#^^ source.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform comment.line.number-sign.hcl punctuation.definition.comment.terraform -# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.terraform meta.block.terraform comment.line.number-sign.hcl +#^^ source.hcl.terraform meta.block.hcl +# ^ source.hcl.terraform meta.block.hcl comment.line.number-sign.hcl punctuation.definition.comment.hcl +# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.hcl.terraform meta.block.hcl comment.line.number-sign.hcl > instance_ids = concat(aws_instance.blue.*.id, aws_instance.green.*.id) -#^^ source.terraform meta.block.terraform -# ^^^^^^^^^^^^ source.terraform meta.block.terraform variable.declaration.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform -# ^^^^^^ source.terraform meta.block.terraform meta.function-call.terraform support.function.builtin.terraform -# ^ source.terraform meta.block.terraform meta.function-call.terraform punctuation.section.parens.begin.terraform -# ^^^^^^^^^^^^ source.terraform meta.block.terraform meta.function-call.terraform -# ^ source.terraform meta.block.terraform meta.function-call.terraform keyword.operator.accessor.terraform -# ^^^^ source.terraform meta.block.terraform meta.function-call.terraform variable.other.member.terraform -# ^ source.terraform meta.block.terraform meta.function-call.terraform keyword.operator.accessor.terraform -# ^^ source.terraform meta.block.terraform meta.function-call.terraform -# ^^ source.terraform meta.block.terraform meta.function-call.terraform variable.other.member.terraform -# ^ source.terraform meta.block.terraform meta.function-call.terraform punctuation.separator.terraform -# ^^^^^^^^^^^^^ source.terraform meta.block.terraform meta.function-call.terraform -# ^ source.terraform meta.block.terraform meta.function-call.terraform keyword.operator.accessor.terraform -# ^^^^^ source.terraform meta.block.terraform meta.function-call.terraform variable.other.member.terraform -# ^ source.terraform meta.block.terraform meta.function-call.terraform keyword.operator.accessor.terraform -# ^^ source.terraform meta.block.terraform meta.function-call.terraform -# ^^ source.terraform meta.block.terraform meta.function-call.terraform variable.other.member.terraform -# ^ source.terraform meta.block.terraform meta.function-call.terraform punctuation.section.parens.end.terraform +#^^ source.hcl.terraform meta.block.hcl +# ^^^^^^^^^^^^ source.hcl.terraform meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^^^^^^ source.hcl.terraform meta.block.hcl meta.function-call.hcl variable.function.hcl +# ^ source.hcl.terraform meta.block.hcl meta.function-call.hcl punctuation.section.parens.begin.hcl +# ^^^^^^^^^^^^ source.hcl.terraform meta.block.hcl meta.function-call.hcl +# ^ source.hcl.terraform meta.block.hcl meta.function-call.hcl keyword.operator.accessor.hcl +# ^^^^ source.hcl.terraform meta.block.hcl meta.function-call.hcl variable.other.member.hcl +# ^ source.hcl.terraform meta.block.hcl meta.function-call.hcl keyword.operator.accessor.hcl +# ^^ source.hcl.terraform meta.block.hcl meta.function-call.hcl +# ^^ source.hcl.terraform meta.block.hcl meta.function-call.hcl variable.other.member.hcl +# ^ source.hcl.terraform meta.block.hcl meta.function-call.hcl punctuation.separator.hcl +# ^^^^^^^^^^^^^ source.hcl.terraform meta.block.hcl meta.function-call.hcl +# ^ source.hcl.terraform meta.block.hcl meta.function-call.hcl keyword.operator.accessor.hcl +# ^^^^^ source.hcl.terraform meta.block.hcl meta.function-call.hcl variable.other.member.hcl +# ^ source.hcl.terraform meta.block.hcl meta.function-call.hcl keyword.operator.accessor.hcl +# ^^ source.hcl.terraform meta.block.hcl meta.function-call.hcl +# ^^ source.hcl.terraform meta.block.hcl meta.function-call.hcl variable.other.member.hcl +# ^ source.hcl.terraform meta.block.hcl meta.function-call.hcl punctuation.section.parens.end.hcl >} -#^ source.terraform meta.block.terraform punctuation.section.block.end.terraform +#^ source.hcl.terraform meta.block.hcl punctuation.section.block.end.hcl > >locals { -#^^^^^^ source.terraform meta.block.terraform entity.name.type.terraform -# ^ source.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform punctuation.section.block.begin.terraform +#^^^^^^ source.hcl.terraform meta.block.hcl entity.name.type.terraform +# ^ source.hcl.terraform meta.block.hcl +# ^ source.hcl.terraform meta.block.hcl punctuation.section.block.begin.hcl > # Common tags to be assigned to all resources -#^^ source.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform comment.line.number-sign.hcl punctuation.definition.comment.terraform -# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.terraform meta.block.terraform comment.line.number-sign.hcl +#^^ source.hcl.terraform meta.block.hcl +# ^ source.hcl.terraform meta.block.hcl comment.line.number-sign.hcl punctuation.definition.comment.hcl +# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.hcl.terraform meta.block.hcl comment.line.number-sign.hcl > common_tags = { -#^^ source.terraform meta.block.terraform -# ^^^^^^^^^^^ source.terraform meta.block.terraform variable.declaration.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform meta.braces.terraform punctuation.section.braces.begin.terraform +#^^ source.hcl.terraform meta.block.hcl +# ^^^^^^^^^^^ source.hcl.terraform meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl meta.braces.hcl punctuation.section.braces.begin.hcl > Service = local.service_name -#^^^^ source.terraform meta.block.terraform meta.braces.terraform -# ^^^^^^^ source.terraform meta.block.terraform meta.braces.terraform meta.mapping.key.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.block.terraform meta.braces.terraform -# ^ source.terraform meta.block.terraform meta.braces.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.block.terraform meta.braces.terraform -# ^^^^^ source.terraform meta.block.terraform meta.braces.terraform support.constant.terraform -# ^^^^^^^^^^^^^^ source.terraform meta.block.terraform meta.braces.terraform +#^^^^ source.hcl.terraform meta.block.hcl meta.braces.hcl +# ^^^^^^^ source.hcl.terraform meta.block.hcl meta.braces.hcl meta.mapping.key.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl meta.braces.hcl +# ^ source.hcl.terraform meta.block.hcl meta.braces.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.block.hcl meta.braces.hcl +# ^^^^^^^^^^^^^^^^^^^ source.hcl.terraform meta.block.hcl meta.braces.hcl > Owner = local.owner -#^^^^ source.terraform meta.block.terraform meta.braces.terraform -# ^^^^^ source.terraform meta.block.terraform meta.braces.terraform meta.mapping.key.terraform variable.other.readwrite.terraform -# ^^^ source.terraform meta.block.terraform meta.braces.terraform -# ^ source.terraform meta.block.terraform meta.braces.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.block.terraform meta.braces.terraform -# ^^^^^ source.terraform meta.block.terraform meta.braces.terraform support.constant.terraform -# ^^^^^^^ source.terraform meta.block.terraform meta.braces.terraform +#^^^^ source.hcl.terraform meta.block.hcl meta.braces.hcl +# ^^^^^ source.hcl.terraform meta.block.hcl meta.braces.hcl meta.mapping.key.hcl variable.other.readwrite.hcl +# ^^^ source.hcl.terraform meta.block.hcl meta.braces.hcl +# ^ source.hcl.terraform meta.block.hcl meta.braces.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.block.hcl meta.braces.hcl +# ^^^^^^^^^^^^ source.hcl.terraform meta.block.hcl meta.braces.hcl > } -#^^ source.terraform meta.block.terraform meta.braces.terraform -# ^ source.terraform meta.block.terraform meta.braces.terraform punctuation.section.braces.end.terraform +#^^ source.hcl.terraform meta.block.hcl meta.braces.hcl +# ^ source.hcl.terraform meta.block.hcl meta.braces.hcl punctuation.section.braces.end.hcl >} -#^ source.terraform meta.block.terraform punctuation.section.block.end.terraform +#^ source.hcl.terraform meta.block.hcl punctuation.section.block.end.hcl > >resource "aws_instance" "example" { -#^^^^^^^^ source.terraform meta.block.terraform entity.name.type.terraform -# ^ source.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform entity.name.tag.terraform entity.name.tag.begin.terraform -# ^^^^^^^^^^^^ source.terraform meta.block.terraform entity.name.tag.terraform -# ^ source.terraform meta.block.terraform entity.name.tag.terraform entity.name.tag.end.terraform -# ^ source.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform entity.name.tag.terraform entity.name.tag.begin.terraform -# ^^^^^^^ source.terraform meta.block.terraform entity.name.tag.terraform -# ^ source.terraform meta.block.terraform entity.name.tag.terraform entity.name.tag.end.terraform -# ^ source.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform punctuation.section.block.begin.terraform +#^^^^^^^^ source.hcl.terraform meta.block.hcl entity.name.type.terraform +# ^ source.hcl.terraform meta.block.hcl +# ^^^^^^^^^^^^^^ source.hcl.terraform meta.block.hcl variable.other.enummember.hcl +# ^ source.hcl.terraform meta.block.hcl +# ^^^^^^^^^ source.hcl.terraform meta.block.hcl variable.other.enummember.hcl +# ^ source.hcl.terraform meta.block.hcl +# ^ source.hcl.terraform meta.block.hcl punctuation.section.block.begin.hcl > # ... -#^^ source.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform comment.line.number-sign.hcl punctuation.definition.comment.terraform -# ^^^^ source.terraform meta.block.terraform comment.line.number-sign.hcl +#^^ source.hcl.terraform meta.block.hcl +# ^ source.hcl.terraform meta.block.hcl comment.line.number-sign.hcl punctuation.definition.comment.hcl +# ^^^^ source.hcl.terraform meta.block.hcl comment.line.number-sign.hcl > > tags = local.common_tags -#^^ source.terraform meta.block.terraform -# ^^^^ source.terraform meta.block.terraform variable.declaration.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform -# ^^^^^ source.terraform meta.block.terraform support.constant.terraform -# ^ source.terraform meta.block.terraform keyword.operator.accessor.terraform -# ^^^^^^^^^^^ source.terraform meta.block.terraform variable.other.member.terraform +#^^ source.hcl.terraform meta.block.hcl +# ^^^^ source.hcl.terraform meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^^^^^ source.hcl.terraform meta.block.hcl +# ^ source.hcl.terraform meta.block.hcl keyword.operator.accessor.hcl +# ^^^^^^^^^^^ source.hcl.terraform meta.block.hcl variable.other.member.hcl >} -#^ source.terraform meta.block.terraform punctuation.section.block.end.terraform +#^ source.hcl.terraform meta.block.hcl punctuation.section.block.end.hcl > \ No newline at end of file diff --git a/tests/snapshot/terraform/variables_output.tf.snap b/tests/snapshot/terraform/variables_output.tf.snap index dbb9822..28a29da 100644 --- a/tests/snapshot/terraform/variables_output.tf.snap +++ b/tests/snapshot/terraform/variables_output.tf.snap @@ -1,70 +1,66 @@ >output "instance_ip_addr" { -#^^^^^^ source.terraform meta.block.terraform entity.name.type.terraform -# ^ source.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform entity.name.tag.terraform entity.name.tag.begin.terraform -# ^^^^^^^^^^^^^^^^ source.terraform meta.block.terraform entity.name.tag.terraform -# ^ source.terraform meta.block.terraform entity.name.tag.terraform entity.name.tag.end.terraform -# ^ source.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform punctuation.section.block.begin.terraform +#^^^^^^ source.hcl.terraform meta.block.hcl entity.name.type.terraform +# ^ source.hcl.terraform meta.block.hcl +# ^^^^^^^^^^^^^^^^^^ source.hcl.terraform meta.block.hcl variable.other.enummember.hcl +# ^ source.hcl.terraform meta.block.hcl +# ^ source.hcl.terraform meta.block.hcl punctuation.section.block.begin.hcl > value = aws_instance.server.private_ip -#^^ source.terraform meta.block.terraform -# ^^^^^ source.terraform meta.block.terraform variable.declaration.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform -# ^^^^^^^^^^^^ source.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform keyword.operator.accessor.terraform -# ^^^^^^ source.terraform meta.block.terraform variable.other.member.terraform -# ^ source.terraform meta.block.terraform keyword.operator.accessor.terraform -# ^^^^^^^^^^ source.terraform meta.block.terraform variable.other.member.terraform +#^^ source.hcl.terraform meta.block.hcl +# ^^^^^ source.hcl.terraform meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^^^^^^^^^^^^ source.hcl.terraform meta.block.hcl +# ^ source.hcl.terraform meta.block.hcl keyword.operator.accessor.hcl +# ^^^^^^ source.hcl.terraform meta.block.hcl variable.other.member.hcl +# ^ source.hcl.terraform meta.block.hcl keyword.operator.accessor.hcl +# ^^^^^^^^^^ source.hcl.terraform meta.block.hcl variable.other.member.hcl >} -#^ source.terraform meta.block.terraform punctuation.section.block.end.terraform +#^ source.hcl.terraform meta.block.hcl punctuation.section.block.end.hcl > >output "instance_ip_addr" { -#^^^^^^ source.terraform meta.block.terraform entity.name.type.terraform -# ^ source.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform entity.name.tag.terraform entity.name.tag.begin.terraform -# ^^^^^^^^^^^^^^^^ source.terraform meta.block.terraform entity.name.tag.terraform -# ^ source.terraform meta.block.terraform entity.name.tag.terraform entity.name.tag.end.terraform -# ^ source.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform punctuation.section.block.begin.terraform +#^^^^^^ source.hcl.terraform meta.block.hcl entity.name.type.terraform +# ^ source.hcl.terraform meta.block.hcl +# ^^^^^^^^^^^^^^^^^^ source.hcl.terraform meta.block.hcl variable.other.enummember.hcl +# ^ source.hcl.terraform meta.block.hcl +# ^ source.hcl.terraform meta.block.hcl punctuation.section.block.begin.hcl > value = aws_instance.server.private_ip -#^^ source.terraform meta.block.terraform -# ^^^^^ source.terraform meta.block.terraform variable.declaration.terraform variable.other.readwrite.terraform -# ^^^^^^^ source.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform -# ^^^^^^^^^^^^ source.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform keyword.operator.accessor.terraform -# ^^^^^^ source.terraform meta.block.terraform variable.other.member.terraform -# ^ source.terraform meta.block.terraform keyword.operator.accessor.terraform -# ^^^^^^^^^^ source.terraform meta.block.terraform variable.other.member.terraform +#^^ source.hcl.terraform meta.block.hcl +# ^^^^^ source.hcl.terraform meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^^^^^^^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^^^^^^^^^^^^ source.hcl.terraform meta.block.hcl +# ^ source.hcl.terraform meta.block.hcl keyword.operator.accessor.hcl +# ^^^^^^ source.hcl.terraform meta.block.hcl variable.other.member.hcl +# ^ source.hcl.terraform meta.block.hcl keyword.operator.accessor.hcl +# ^^^^^^^^^^ source.hcl.terraform meta.block.hcl variable.other.member.hcl > description = "The private IP address of the main server instance." -#^^ source.terraform meta.block.terraform -# ^^^^^^^^^^^ source.terraform meta.block.terraform variable.declaration.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.terraform meta.block.terraform string.quoted.double.terraform -# ^ source.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform +#^^ source.hcl.terraform meta.block.hcl +# ^^^^^^^^^^^ source.hcl.terraform meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl string.quoted.double.hcl punctuation.definition.string.begin.hcl +# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.hcl.terraform meta.block.hcl string.quoted.double.hcl +# ^ source.hcl.terraform meta.block.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl > > depends_on = [ -#^^ source.terraform meta.block.terraform -# ^^^^^^^^^^ source.terraform meta.block.terraform variable.declaration.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform keyword.operator.assignment.terraform -# ^ source.terraform meta.block.terraform variable.declaration.terraform -# ^ source.terraform meta.block.terraform punctuation.section.brackets.begin.terraform +#^^ source.hcl.terraform meta.block.hcl +# ^^^^^^^^^^ source.hcl.terraform meta.block.hcl variable.declaration.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl keyword.operator.assignment.hcl +# ^ source.hcl.terraform meta.block.hcl variable.declaration.hcl +# ^ source.hcl.terraform meta.block.hcl punctuation.section.brackets.begin.hcl > aws_security_group_rule.local_access, -#^^^^ source.terraform meta.block.terraform -# ^^^^^^^^^^^^^^^^^^^^^^^ source.terraform meta.block.terraform variable.other.readwrite.terraform -# ^ source.terraform meta.block.terraform keyword.operator.accessor.terraform -# ^^^^^^^^^^^^ source.terraform meta.block.terraform variable.other.member.terraform -# ^ source.terraform meta.block.terraform punctuation.separator.terraform +#^^^^ source.hcl.terraform meta.block.hcl +# ^^^^^^^^^^^^^^^^^^^^^^^ source.hcl.terraform meta.block.hcl variable.other.readwrite.hcl +# ^ source.hcl.terraform meta.block.hcl keyword.operator.accessor.hcl +# ^^^^^^^^^^^^ source.hcl.terraform meta.block.hcl variable.other.member.hcl +# ^ source.hcl.terraform meta.block.hcl punctuation.separator.hcl > ] -#^^ source.terraform meta.block.terraform -# ^ source.terraform meta.block.terraform punctuation.section.brackets.end.terraform +#^^ source.hcl.terraform meta.block.hcl +# ^ source.hcl.terraform meta.block.hcl punctuation.section.brackets.end.hcl >} -#^ source.terraform meta.block.terraform punctuation.section.block.end.terraform +#^ source.hcl.terraform meta.block.hcl punctuation.section.block.end.hcl > \ No newline at end of file diff --git a/tests/unit/terraform/basic.tf b/tests/unit/terraform/basic.tf deleted file mode 100644 index 8b3700d..0000000 --- a/tests/unit/terraform/basic.tf +++ /dev/null @@ -1,119 +0,0 @@ -; SYNTAX TEST "source.terraform" "basic sample" - -# line comment -; <- source.terraform comment.line.number-sign.hcl punctuation.definition.comment.terraform -; ^^^^^^^^^^^^^ source.terraform comment.line.number-sign.hcl - -// line comment -; <-- source.terraform comment.line.double-slash.hcl punctuation.definition.comment.terraform -; ^^^^^^^^^^^^^ source.terraform comment.line.double-slash.hcl - -/* -; <~- source.terraform comment.block.hcl punctuation.definition.comment.terraform - Block comment -; ^^^^^^^^^^^^^^^^ source.terraform comment.block.hcl -*/ -; <~- source.terraform comment.block.hcl punctuation.definition.comment.terraform - -terraform { -; <--------- source.terraform meta.block.terraform entity.name.type.terraform -; ^ source.terraform meta.block.terraform -; ^ source.terraform meta.block.terraform punctuation.section.block.begin.terraform - required_providers { -; ^^ source.terraform meta.block.terraform -; ^^^^^^^^^^^^^^^^^^ source.terraform meta.block.terraform meta.block.terraform entity.name.label.terraform -; ^ source.terraform meta.block.terraform meta.block.terraform -; ^ source.terraform meta.block.terraform meta.block.terraform punctuation.section.block.begin.terraform - azurerm = { -; ^^^^ source.terraform meta.block.terraform meta.block.terraform -; ^^^^^^^ source.terraform meta.block.terraform meta.block.terraform variable.declaration.terraform variable.other.readwrite.terraform -; ^ source.terraform meta.block.terraform meta.block.terraform variable.declaration.terraform -; ^ source.terraform meta.block.terraform meta.block.terraform variable.declaration.terraform keyword.operator.assignment.terraform -; ^ source.terraform meta.block.terraform meta.block.terraform variable.declaration.terraform -; ^ source.terraform meta.block.terraform meta.block.terraform meta.braces.terraform punctuation.section.braces.begin.terraform - source = "hashicorp/azurerm" -; ^^^^^^ source.terraform meta.block.terraform meta.block.terraform meta.braces.terraform -; ^^^^^^ source.terraform meta.block.terraform meta.block.terraform meta.braces.terraform meta.mapping.key.terraform variable.other.readwrite.terraform -; ^^ source.terraform meta.block.terraform meta.block.terraform meta.braces.terraform -; ^ source.terraform meta.block.terraform meta.block.terraform meta.braces.terraform keyword.operator.assignment.terraform -; ^ source.terraform meta.block.terraform meta.block.terraform meta.braces.terraform -; ^ source.terraform meta.block.terraform meta.block.terraform meta.braces.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -; ^^^^^^^^^^^^^^^^^ source.terraform meta.block.terraform meta.block.terraform meta.braces.terraform string.quoted.double.terraform -; ^ source.terraform meta.block.terraform meta.block.terraform meta.braces.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform - version = "~> 2.65" -; ^^^^^^ source.terraform meta.block.terraform meta.block.terraform meta.braces.terraform -; ^^^^^^^ source.terraform meta.block.terraform meta.block.terraform meta.braces.terraform meta.mapping.key.terraform variable.other.readwrite.terraform -; ^ source.terraform meta.block.terraform meta.block.terraform meta.braces.terraform -; ^ source.terraform meta.block.terraform meta.block.terraform meta.braces.terraform keyword.operator.assignment.terraform -; ^ source.terraform meta.block.terraform meta.block.terraform meta.braces.terraform -; ^ source.terraform meta.block.terraform meta.block.terraform meta.braces.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -; ^^^^^^^ source.terraform meta.block.terraform meta.block.terraform meta.braces.terraform string.quoted.double.terraform -; ^ source.terraform meta.block.terraform meta.block.terraform meta.braces.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform - } -; ^^^^ source.terraform meta.block.terraform meta.block.terraform meta.braces.terraform -; ^ source.terraform meta.block.terraform meta.block.terraform meta.braces.terraform punctuation.section.braces.end.terraform - } -; ^^ source.terraform meta.block.terraform meta.block.terraform -; ^ source.terraform meta.block.terraform meta.block.terraform punctuation.section.block.end.terraform - - required_version = ">= 1.1.0" -; <-- source.terraform meta.block.terraform -; ^^^^^^^^^^^^^^^^ source.terraform meta.block.terraform variable.declaration.terraform variable.other.readwrite.terraform -; ^ source.terraform meta.block.terraform variable.declaration.terraform -; ^ source.terraform meta.block.terraform variable.declaration.terraform keyword.operator.assignment.terraform -; ^ source.terraform meta.block.terraform variable.declaration.terraform -; ^ source.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -; ^^^^^^^^ source.terraform meta.block.terraform string.quoted.double.terraform -; ^ source.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform -} -; <- source.terraform meta.block.terraform punctuation.section.block.end.terraform - -provider "azurerm" { -; <-------- source.terraform meta.block.terraform entity.name.type.terraform -; ^ source.terraform meta.block.terraform -; ^ source.terraform meta.block.terraform entity.name.tag.terraform entity.name.tag.begin.terraform -; ^^^^^^^ source.terraform meta.block.terraform entity.name.tag.terraform -; ^ source.terraform meta.block.terraform entity.name.tag.terraform entity.name.tag.end.terraform -; ^ source.terraform meta.block.terraform -; ^ source.terraform meta.block.terraform punctuation.section.block.begin.terraform - features {} -; <-- source.terraform meta.block.terraform -; ^^^^^^^^ source.terraform meta.block.terraform meta.block.terraform entity.name.label.terraform -; ^ source.terraform meta.block.terraform meta.block.terraform -; ^ source.terraform meta.block.terraform meta.block.terraform punctuation.section.block.begin.terraform -; ^ source.terraform meta.block.terraform meta.block.terraform punctuation.section.block.end.terraform -} -; <- source.terraform meta.block.terraform punctuation.section.block.end.terraform - -resource "azurerm_resource_group" "rg" { -; <-------- source.terraform meta.block.terraform entity.name.type.terraform -; ^ source.terraform meta.block.terraform -; ^ source.terraform meta.block.terraform entity.name.tag.terraform entity.name.tag.begin.terraform -; ^^^^^^^^^^^^^^^^^^^^^^ source.terraform meta.block.terraform entity.name.tag.terraform -; ^ source.terraform meta.block.terraform entity.name.tag.terraform entity.name.tag.end.terraform -; ^ source.terraform meta.block.terraform -; ^ source.terraform meta.block.terraform entity.name.tag.terraform entity.name.tag.begin.terraform -; ^^ source.terraform meta.block.terraform entity.name.tag.terraform -; ^ source.terraform meta.block.terraform entity.name.tag.terraform entity.name.tag.end.terraform -; ^ source.terraform meta.block.terraform -; ^ source.terraform meta.block.terraform punctuation.section.block.begin.terraform - name = "myTFResourceGroup" -; <-- source.terraform meta.block.terraform -; ^^^^ source.terraform meta.block.terraform variable.declaration.terraform variable.other.readwrite.terraform -; ^^^^^ source.terraform meta.block.terraform variable.declaration.terraform -; ^ source.terraform meta.block.terraform variable.declaration.terraform keyword.operator.assignment.terraform -; ^ source.terraform meta.block.terraform variable.declaration.terraform -; ^ source.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -; ^^^^^^^^^^^^^^^^^ source.terraform meta.block.terraform string.quoted.double.terraform -; ^ source.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform - location = "westus2" -; <-- source.terraform meta.block.terraform -; ^^^^^^^^ source.terraform meta.block.terraform variable.declaration.terraform variable.other.readwrite.terraform -; ^ source.terraform meta.block.terraform variable.declaration.terraform -; ^ source.terraform meta.block.terraform variable.declaration.terraform keyword.operator.assignment.terraform -; ^ source.terraform meta.block.terraform variable.declaration.terraform -; ^ source.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform -; ^^^^^^^ source.terraform meta.block.terraform string.quoted.double.terraform -; ^ source.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform -} -; <- source.terraform meta.block.terraform punctuation.section.block.end.terraform diff --git a/tests/unit/terraform/resource.tf b/tests/unit/terraform/resource.tf deleted file mode 100644 index c590f23..0000000 --- a/tests/unit/terraform/resource.tf +++ /dev/null @@ -1,7 +0,0 @@ -; SYNTAX TEST "source.terraform" "basic sample" - -resource "foo" "bar"{ -; ^ source.terraform meta.block.terraform entity.name.tag.begin.terraform -; ^^^ source.terraform meta.block.terraform entity.name.tag.terraform -; ^ source.terraform meta.block.terraform entity.name.tag.end.terraform -} From 0ddb0a5008606b193efc24a54408ef8f5f513bb9 Mon Sep 17 00:00:00 2001 From: James Pogran Date: Fri, 4 Mar 2022 09:20:29 -0500 Subject: [PATCH 3/5] Update syntaxes/terraform.tmGrammar.json Co-authored-by: Daniel Banck --- syntaxes/terraform.tmGrammar.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/syntaxes/terraform.tmGrammar.json b/syntaxes/terraform.tmGrammar.json index 74e3dea..8cc7e6e 100644 --- a/syntaxes/terraform.tmGrammar.json +++ b/syntaxes/terraform.tmGrammar.json @@ -30,7 +30,7 @@ { "match": "\\b(?!null|false|true)[[:alpha:]][[:alnum:]_-]*\\b", "comment": "Unknown block type", - "name": "entity.name.label.hcl" + "name": "entity.name.type.hcl" } ] }, From 7917ae762a846a99d3d9905468da08dd6d8f2fd5 Mon Sep 17 00:00:00 2001 From: James Pogran Date: Fri, 4 Mar 2022 09:19:41 -0500 Subject: [PATCH 4/5] remove named_value_references from string object key --- syntaxes/hcl.tmGrammar.json | 7 ------- 1 file changed, 7 deletions(-) diff --git a/syntaxes/hcl.tmGrammar.json b/syntaxes/hcl.tmGrammar.json index 543564d..6781d43 100644 --- a/syntaxes/hcl.tmGrammar.json +++ b/syntaxes/hcl.tmGrammar.json @@ -465,13 +465,6 @@ "match": "\\b((\").*(\"))\\s*(\\=)\\s*", "comment": "String object key", "captures": { - "0": { - "patterns": [ - { - "include": "#named_value_references" - } - ] - }, "1": { "name": "meta.mapping.key.hcl string.quoted.double.hcl" }, From 696c82d84ab79b8fe7e00b14d8bc9aba74390108 Mon Sep 17 00:00:00 2001 From: James Pogran Date: Fri, 4 Mar 2022 09:21:40 -0500 Subject: [PATCH 5/5] snaps --- tests/snapshot/terraform/basic.tf.snap | 4 ++-- tests/snapshot/terraform/blocks.tf.snap | 2 +- tests/snapshot/terraform/expressions_dynamic.tf.snap | 12 ++++++------ tests/snapshot/terraform/expressions_strings.tf.snap | 4 ++-- tests/snapshot/terraform/variables_input.tf.snap | 2 +- 5 files changed, 12 insertions(+), 12 deletions(-) diff --git a/tests/snapshot/terraform/basic.tf.snap b/tests/snapshot/terraform/basic.tf.snap index 7c45c59..fee855f 100644 --- a/tests/snapshot/terraform/basic.tf.snap +++ b/tests/snapshot/terraform/basic.tf.snap @@ -19,7 +19,7 @@ # ^ source.hcl.terraform meta.block.hcl punctuation.section.block.begin.hcl > required_providers { #^^ source.hcl.terraform meta.block.hcl -# ^^^^^^^^^^^^^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl entity.name.label.hcl +# ^^^^^^^^^^^^^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl entity.name.type.hcl # ^ source.hcl.terraform meta.block.hcl meta.block.hcl # ^ source.hcl.terraform meta.block.hcl meta.block.hcl punctuation.section.block.begin.hcl > azurerm = { @@ -74,7 +74,7 @@ # ^ source.hcl.terraform meta.block.hcl punctuation.section.block.begin.hcl > features {} #^^ source.hcl.terraform meta.block.hcl -# ^^^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl entity.name.label.hcl +# ^^^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl entity.name.type.hcl # ^ source.hcl.terraform meta.block.hcl meta.block.hcl # ^ source.hcl.terraform meta.block.hcl meta.block.hcl punctuation.section.block.begin.hcl # ^ source.hcl.terraform meta.block.hcl meta.block.hcl punctuation.section.block.end.hcl diff --git a/tests/snapshot/terraform/blocks.tf.snap b/tests/snapshot/terraform/blocks.tf.snap index 3251eb3..ca818a4 100644 --- a/tests/snapshot/terraform/blocks.tf.snap +++ b/tests/snapshot/terraform/blocks.tf.snap @@ -26,7 +26,7 @@ # ^ source.hcl.terraform meta.block.hcl string.quoted.double.hcl punctuation.definition.string.end.hcl > timeouts { #^^ source.hcl.terraform meta.block.hcl -# ^^^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl entity.name.label.hcl +# ^^^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl entity.name.type.hcl # ^ source.hcl.terraform meta.block.hcl meta.block.hcl # ^ source.hcl.terraform meta.block.hcl meta.block.hcl punctuation.section.block.begin.hcl > create = "60m" diff --git a/tests/snapshot/terraform/expressions_dynamic.tf.snap b/tests/snapshot/terraform/expressions_dynamic.tf.snap index 415e6f5..226aa37 100644 --- a/tests/snapshot/terraform/expressions_dynamic.tf.snap +++ b/tests/snapshot/terraform/expressions_dynamic.tf.snap @@ -18,7 +18,7 @@ > > dynamic "setting" { #^^ source.hcl.terraform meta.block.hcl -# ^^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl entity.name.label.hcl +# ^^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl entity.name.type.hcl # ^ source.hcl.terraform meta.block.hcl meta.block.hcl # ^^^^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl variable.other.enummember.hcl # ^ source.hcl.terraform meta.block.hcl meta.block.hcl @@ -34,7 +34,7 @@ # ^^^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl variable.other.member.hcl > content { #^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl -# ^^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl entity.name.label.hcl +# ^^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl entity.name.type.hcl # ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl # ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl punctuation.section.block.begin.hcl > namespace = setting.value["namespace"] @@ -88,7 +88,7 @@ > > dynamic "origin_group" { #^^ source.hcl.terraform meta.block.hcl -# ^^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl entity.name.label.hcl +# ^^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl entity.name.type.hcl # ^ source.hcl.terraform meta.block.hcl meta.block.hcl # ^^^^^^^^^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl variable.other.enummember.hcl # ^ source.hcl.terraform meta.block.hcl meta.block.hcl @@ -104,7 +104,7 @@ # ^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl variable.other.member.hcl > content { #^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl -# ^^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl entity.name.label.hcl +# ^^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl entity.name.type.hcl # ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl # ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl punctuation.section.block.begin.hcl > name = origin_group.key @@ -119,7 +119,7 @@ > > dynamic "origin" { #^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl -# ^^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl entity.name.label.hcl +# ^^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl entity.name.type.hcl # ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl # ^^^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl variable.other.enummember.hcl # ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl @@ -137,7 +137,7 @@ # ^^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl variable.other.member.hcl > content { #^^^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl -# ^^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl entity.name.label.hcl +# ^^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl entity.name.type.hcl # ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl # ^ source.hcl.terraform meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl meta.block.hcl punctuation.section.block.begin.hcl > hostname = origin.value.hostname diff --git a/tests/snapshot/terraform/expressions_strings.tf.snap b/tests/snapshot/terraform/expressions_strings.tf.snap index d695711..3a53b10 100644 --- a/tests/snapshot/terraform/expressions_strings.tf.snap +++ b/tests/snapshot/terraform/expressions_strings.tf.snap @@ -37,7 +37,7 @@ #^^^^ source.hcl.terraform string.unquoted.heredoc.hcl keyword.control.heredoc.hcl > >block { -#^^^^^ source.hcl.terraform meta.block.hcl entity.name.label.hcl +#^^^^^ source.hcl.terraform meta.block.hcl entity.name.type.hcl # ^ source.hcl.terraform meta.block.hcl # ^ source.hcl.terraform meta.block.hcl punctuation.section.block.begin.hcl > value = < >block { -#^^^^^ source.hcl.terraform meta.block.hcl entity.name.label.hcl +#^^^^^ source.hcl.terraform meta.block.hcl entity.name.type.hcl # ^ source.hcl.terraform meta.block.hcl # ^ source.hcl.terraform meta.block.hcl punctuation.section.block.begin.hcl > value = <<-EOT diff --git a/tests/snapshot/terraform/variables_input.tf.snap b/tests/snapshot/terraform/variables_input.tf.snap index 0a0cea2..8249a21 100644 --- a/tests/snapshot/terraform/variables_input.tf.snap +++ b/tests/snapshot/terraform/variables_input.tf.snap @@ -158,7 +158,7 @@ > > validation { #^^ source.hcl.terraform meta.block.hcl -# ^^^^^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl entity.name.label.hcl +# ^^^^^^^^^^ source.hcl.terraform meta.block.hcl meta.block.hcl entity.name.type.hcl # ^ source.hcl.terraform meta.block.hcl meta.block.hcl # ^ source.hcl.terraform meta.block.hcl meta.block.hcl punctuation.section.block.begin.hcl > condition = length(var.image_id) > 4 && substr(var.image_id, 0, 4) == "ami-"