Skip to content

Commit cf17497

Browse files
committed
Apply string scopes to resource block identifiers
1 parent b455e3b commit cf17497

File tree

2 files changed

+22
-18
lines changed

2 files changed

+22
-18
lines changed

Terraform.sublime-syntax

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -701,17 +701,19 @@ contexts:
701701
# https://github.com/hashicorp/hcl2/blob/master/hcl/hclsyntax/spec.md#structural-elements
702702
block:
703703
# Special case heuristic for the AWS and friends two-term resources
704-
- match: (\b(resource)\s+(")({{identifier}})(")\s+(")({{identifier}})("))\s*(\{)
704+
- match: (\b(resource)\s+((")({{identifier}})("))\s+((")({{identifier}})(")))\s*(\{)
705705
captures:
706706
1: meta.type.terraform
707707
2: keyword.declaration.terraform
708-
3: punctuation.definition.begin.terraform
709-
4: support.type.terraform
710-
5: punctuation.definition.end.terraform
711-
6: punctuation.definition.begin.terraform
712-
7: entity.name.type.terraform
713-
8: punctuation.definition.end.terraform
714-
9: meta.block.terraform punctuation.section.block.begin.terraform
708+
3: meta.string.terraform string.quoted.double.terraform
709+
4: punctuation.definition.string.begin.terraform
710+
5: support.type.terraform
711+
6: punctuation.definition.string.end.terraform
712+
7: meta.string.terraform string.quoted.double.terraform
713+
8: punctuation.definition.string.begin.terraform
714+
9: entity.name.type.terraform
715+
10: punctuation.definition.string.end.terraform
716+
11: meta.block.terraform punctuation.section.block.begin.terraform
715717
push: block-body
716718
# Generic
717719
- match: (?:\b({{terraform_known_blocks}})\b|({{identifier}}))(?=[-\s\w"]*\{)

tests/syntax_test_scope.tf

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2997,22 +2997,24 @@
29972997

29982998
resource "aws_security_group" "example" {
29992999
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.type.terraform
3000-
# ^ - meta.type - meta.block meta.block
3001-
# ^^ meta.block.terraform - meta.type
30023000
# ^^^^^^^^ keyword.declaration.terraform
3003-
# ^ punctuation.definition.begin.terraform
3001+
# ^^^^^^^^^^^^^^^^^^^^ meta.string.terraform string.quoted.double.terraform
3002+
# ^ punctuation.definition.string.begin.terraform
30043003
# ^^^^^^^^^^^^^^^^^^ support.type.terraform
3005-
# ^ punctuation.definition.end.terraform
3006-
# ^ punctuation.definition.begin.terraform
3004+
# ^ punctuation.definition.string.end.terraform
3005+
# ^^^^^^^^^ meta.string.terraform string.quoted.double.terraform
3006+
# ^ punctuation.definition.string.begin.terraform
30073007
# ^^^^^^^ entity.name.type.terraform
3008-
# ^ punctuation.definition.end.terraform
3009-
# ^ punctuation.section.block.begin.terraform
3008+
# ^ punctuation.definition.string.end.terraform
3009+
# ^ meta.block.terraform punctuation.section.block.begin.terraform
3010+
30103011
name = "example"
3011-
# ^^^^^^^^^^^^^^^^^^ meta.block.terraform
3012+
# ^^^^^^^^^^^^^^^^ meta.block.terraform
30123013
# ^^^^ variable.declaration.terraform variable.other.readwrite.terraform
30133014
# ^ keyword.operator.assignment.terraform
3014-
# ^ string.quoted.double.terraform punctuation.definition.string.begin.terraform
3015-
# ^^^^^^^^ string.quoted.double.terraform
3015+
# ^^^^^^^^^ meta.string.terraform string.quoted.double.terraform
3016+
# ^ punctuation.definition.string.begin.terraform
3017+
# ^ punctuation.definition.string.end.terraform
30163018

30173019
dynamic "ingress" {
30183020
# ^^^^^^^^^^^^^^^^^ meta.block.terraform meta.type.terraform - meta.block meta.block

0 commit comments

Comments
 (0)