Skip to content

Commit b1de58d

Browse files
authored
Move TextMate scope.terraform to source.terraform (#921)
This commit changes the TextMate scopeName from `scope.terraform` to `source.terraform` inside the Terraform TextMate Grammar file. The current scopeName for the Terraform TextMate grammar is `scope.terraform`: https://github.com/hashicorp/vscode-terraform/blob/59987ae480a970b5955c94260abfa41fccb8577e/syntaxes/terraform.tmGrammar.json#L2 According to the TextMate documentation, the scopename should follow this naming conventions: > scopeName — this should be a unique name for the grammar, following the convention of being a dot-separated name where each new (left-most) part specializes the name. Normally it would be a two-part name where the first is either text or source and the second is the name of the language or document type. This means we need to change the Terraform scope name to `source.terraform`. This should not affect any existing themes or current syntax as themes are targeted towards the most specific token scope, like `comment.line`.double-slash, and not the language scopeName. Themes would be affected if our scopes were named `comment.line.double-slash.terraform` and we were changing the terraform part, but we have not named our scopes that way so we are unaffected.
1 parent 38fa1f9 commit b1de58d

19 files changed

+1659
-1659
lines changed

package.json

+4-4
Original file line numberDiff line numberDiff line change
@@ -73,12 +73,12 @@
7373
"grammars": [
7474
{
7575
"language": "terraform",
76-
"scopeName": "scope.terraform",
76+
"scopeName": "source.terraform",
7777
"path": "./syntaxes/terraform.tmGrammar.json"
7878
},
7979
{
8080
"language": "terraform-vars",
81-
"scopeName": "scope.terraform",
81+
"scopeName": "source.terraform",
8282
"path": "./syntaxes/terraform.tmGrammar.json"
8383
}
8484
],
@@ -336,8 +336,8 @@
336336
"test": "node ./out/test/runTest.js",
337337
"test:unit": "jest",
338338
"test:syntax": "npm run test:grammar && npm run test:snap",
339-
"test:grammar": "npx vscode-tmgrammar-test -s scope.terraform -g syntaxes/terraform.tmGrammar.json -t 'tests/unit/**/*.tf'",
340-
"test:snap": "npx vscode-tmgrammar-snap -s scope.terraform -g syntaxes/terraform.tmGrammar.json -t 'tests/snapshot/**/*.tf'",
339+
"test:grammar": "npx vscode-tmgrammar-test -s source.terraform -g syntaxes/terraform.tmGrammar.json -t 'tests/unit/**/*.tf'",
340+
"test:snap": "npx vscode-tmgrammar-snap -s source.terraform -g syntaxes/terraform.tmGrammar.json -t 'tests/snapshot/**/*.tf'",
341341
"lint": "eslint src --ext ts",
342342
"prettier": "prettier \"**/*.+(js|json|ts)\"",
343343
"format": "npm run prettier -- --write",

syntaxes/terraform.tmGrammar.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"scopeName": "scope.terraform",
2+
"scopeName": "source.terraform",
33
"fileTypes": [
44
"tf",
55
"tfvars",

tests/snapshot/terraform/basic.tf.snap

+90-90
Large diffs are not rendered by default.
+50-50
Original file line numberDiff line numberDiff line change
@@ -1,59 +1,59 @@
11
>resource "aws_instance" "web" {
2-
#^^^^^^^^ scope.terraform meta.block.terraform entity.name.type.terraform
3-
# ^ scope.terraform meta.block.terraform
4-
# ^ scope.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform
5-
# ^^^^^^^^^^^^ scope.terraform meta.block.terraform string.quoted.double.terraform
6-
# ^ scope.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform
7-
# ^ scope.terraform meta.block.terraform
8-
# ^ scope.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform
9-
# ^^^ scope.terraform meta.block.terraform string.quoted.double.terraform
10-
# ^ scope.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform
11-
# ^ scope.terraform meta.block.terraform
12-
# ^ scope.terraform meta.block.terraform punctuation.section.block.begin.terraform
2+
#^^^^^^^^ source.terraform meta.block.terraform entity.name.type.terraform
3+
# ^ source.terraform meta.block.terraform
4+
# ^ source.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform
5+
# ^^^^^^^^^^^^ source.terraform meta.block.terraform string.quoted.double.terraform
6+
# ^ source.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform
7+
# ^ source.terraform meta.block.terraform
8+
# ^ source.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform
9+
# ^^^ source.terraform meta.block.terraform string.quoted.double.terraform
10+
# ^ source.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform
11+
# ^ source.terraform meta.block.terraform
12+
# ^ source.terraform meta.block.terraform punctuation.section.block.begin.terraform
1313
> ami = "ami-a1b2c3d4"
14-
#^^ scope.terraform meta.block.terraform
15-
# ^^^ scope.terraform meta.block.terraform variable.declaration.terraform variable.other.readwrite.terraform
16-
# ^^^^^^^^^^^ scope.terraform meta.block.terraform variable.declaration.terraform
17-
# ^ scope.terraform meta.block.terraform variable.declaration.terraform keyword.operator.assignment.terraform
18-
# ^ scope.terraform meta.block.terraform variable.declaration.terraform
19-
# ^ scope.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform
20-
# ^^^^^^^^^^^^ scope.terraform meta.block.terraform string.quoted.double.terraform
21-
# ^ scope.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform
14+
#^^ source.terraform meta.block.terraform
15+
# ^^^ source.terraform meta.block.terraform variable.declaration.terraform variable.other.readwrite.terraform
16+
# ^^^^^^^^^^^ source.terraform meta.block.terraform variable.declaration.terraform
17+
# ^ source.terraform meta.block.terraform variable.declaration.terraform keyword.operator.assignment.terraform
18+
# ^ source.terraform meta.block.terraform variable.declaration.terraform
19+
# ^ source.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform
20+
# ^^^^^^^^^^^^ source.terraform meta.block.terraform string.quoted.double.terraform
21+
# ^ source.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform
2222
> instance_type = "t2.micro"
23-
#^^ scope.terraform meta.block.terraform
24-
# ^^^^^^^^^^^^^ scope.terraform meta.block.terraform variable.declaration.terraform variable.other.readwrite.terraform
25-
# ^ scope.terraform meta.block.terraform variable.declaration.terraform
26-
# ^ scope.terraform meta.block.terraform variable.declaration.terraform keyword.operator.assignment.terraform
27-
# ^ scope.terraform meta.block.terraform variable.declaration.terraform
28-
# ^ scope.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform
29-
# ^^^^^^^^ scope.terraform meta.block.terraform string.quoted.double.terraform
30-
# ^ scope.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform
23+
#^^ source.terraform meta.block.terraform
24+
# ^^^^^^^^^^^^^ source.terraform meta.block.terraform variable.declaration.terraform variable.other.readwrite.terraform
25+
# ^ source.terraform meta.block.terraform variable.declaration.terraform
26+
# ^ source.terraform meta.block.terraform variable.declaration.terraform keyword.operator.assignment.terraform
27+
# ^ source.terraform meta.block.terraform variable.declaration.terraform
28+
# ^ source.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform
29+
# ^^^^^^^^ source.terraform meta.block.terraform string.quoted.double.terraform
30+
# ^ source.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform
3131
> timeouts {
32-
#^^ scope.terraform meta.block.terraform
33-
# ^^^^^^^^ scope.terraform meta.block.terraform meta.block.terraform entity.name.label.terraform
34-
# ^ scope.terraform meta.block.terraform meta.block.terraform
35-
# ^ scope.terraform meta.block.terraform meta.block.terraform punctuation.section.block.begin.terraform
32+
#^^ source.terraform meta.block.terraform
33+
# ^^^^^^^^ source.terraform meta.block.terraform meta.block.terraform entity.name.label.terraform
34+
# ^ source.terraform meta.block.terraform meta.block.terraform
35+
# ^ source.terraform meta.block.terraform meta.block.terraform punctuation.section.block.begin.terraform
3636
> create = "60m"
37-
#^^^^ scope.terraform meta.block.terraform meta.block.terraform
38-
# ^^^^^^ scope.terraform meta.block.terraform meta.block.terraform variable.declaration.terraform variable.other.readwrite.terraform
39-
# ^ scope.terraform meta.block.terraform meta.block.terraform variable.declaration.terraform
40-
# ^ scope.terraform meta.block.terraform meta.block.terraform variable.declaration.terraform keyword.operator.assignment.terraform
41-
# ^ scope.terraform meta.block.terraform meta.block.terraform variable.declaration.terraform
42-
# ^ scope.terraform meta.block.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform
43-
# ^^^ scope.terraform meta.block.terraform meta.block.terraform string.quoted.double.terraform
44-
# ^ scope.terraform meta.block.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform
37+
#^^^^ source.terraform meta.block.terraform meta.block.terraform
38+
# ^^^^^^ source.terraform meta.block.terraform meta.block.terraform variable.declaration.terraform variable.other.readwrite.terraform
39+
# ^ source.terraform meta.block.terraform meta.block.terraform variable.declaration.terraform
40+
# ^ source.terraform meta.block.terraform meta.block.terraform variable.declaration.terraform keyword.operator.assignment.terraform
41+
# ^ source.terraform meta.block.terraform meta.block.terraform variable.declaration.terraform
42+
# ^ source.terraform meta.block.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform
43+
# ^^^ source.terraform meta.block.terraform meta.block.terraform string.quoted.double.terraform
44+
# ^ source.terraform meta.block.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform
4545
> delete = "2h"
46-
#^^^^ scope.terraform meta.block.terraform meta.block.terraform
47-
# ^^^^^^ scope.terraform meta.block.terraform meta.block.terraform variable.declaration.terraform variable.other.readwrite.terraform
48-
# ^ scope.terraform meta.block.terraform meta.block.terraform variable.declaration.terraform
49-
# ^ scope.terraform meta.block.terraform meta.block.terraform variable.declaration.terraform keyword.operator.assignment.terraform
50-
# ^ scope.terraform meta.block.terraform meta.block.terraform variable.declaration.terraform
51-
# ^ scope.terraform meta.block.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform
52-
# ^^ scope.terraform meta.block.terraform meta.block.terraform string.quoted.double.terraform
53-
# ^ scope.terraform meta.block.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform
46+
#^^^^ source.terraform meta.block.terraform meta.block.terraform
47+
# ^^^^^^ source.terraform meta.block.terraform meta.block.terraform variable.declaration.terraform variable.other.readwrite.terraform
48+
# ^ source.terraform meta.block.terraform meta.block.terraform variable.declaration.terraform
49+
# ^ source.terraform meta.block.terraform meta.block.terraform variable.declaration.terraform keyword.operator.assignment.terraform
50+
# ^ source.terraform meta.block.terraform meta.block.terraform variable.declaration.terraform
51+
# ^ source.terraform meta.block.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.begin.terraform
52+
# ^^ source.terraform meta.block.terraform meta.block.terraform string.quoted.double.terraform
53+
# ^ source.terraform meta.block.terraform meta.block.terraform string.quoted.double.terraform punctuation.definition.string.end.terraform
5454
> }
55-
#^^ scope.terraform meta.block.terraform meta.block.terraform
56-
# ^ scope.terraform meta.block.terraform meta.block.terraform punctuation.section.block.end.terraform
55+
#^^ source.terraform meta.block.terraform meta.block.terraform
56+
# ^ source.terraform meta.block.terraform meta.block.terraform punctuation.section.block.end.terraform
5757
>}
58-
#^ scope.terraform meta.block.terraform punctuation.section.block.end.terraform
58+
#^ source.terraform meta.block.terraform punctuation.section.block.end.terraform
5959
>
+7-7
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
># line comment
2-
#^ scope.terraform comment.line.terraform punctuation.definition.comment.terraform
3-
# ^^^^^^^^^^^^^ scope.terraform comment.line.terraform
2+
#^ source.terraform comment.line.terraform punctuation.definition.comment.terraform
3+
# ^^^^^^^^^^^^^ source.terraform comment.line.terraform
44
>
55
>// line comment
6-
#^^ scope.terraform comment.line.terraform punctuation.definition.comment.terraform
7-
# ^^^^^^^^^^^^^ scope.terraform comment.line.terraform
6+
#^^ source.terraform comment.line.terraform punctuation.definition.comment.terraform
7+
# ^^^^^^^^^^^^^ source.terraform comment.line.terraform
88
>
99
>/*
10-
#^^ scope.terraform comment.block.terraform punctuation.definition.comment.terraform
10+
#^^ source.terraform comment.block.terraform punctuation.definition.comment.terraform
1111
> Block comment
12-
#^^^^^^^^^^^^^^^^ scope.terraform comment.block.terraform
12+
#^^^^^^^^^^^^^^^^ source.terraform comment.block.terraform
1313
>*/
14-
#^^ scope.terraform comment.block.terraform punctuation.definition.comment.terraform
14+
#^^ source.terraform comment.block.terraform punctuation.definition.comment.terraform
1515
>

0 commit comments

Comments
 (0)