Skip to content

Commit 90ddd5d

Browse files
Add language constants to strings (#67)
1 parent 8c1f80a commit 90ddd5d

File tree

3 files changed

+48
-10
lines changed

3 files changed

+48
-10
lines changed

Terraform.sublime-syntax

Lines changed: 31 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -218,9 +218,12 @@ contexts:
218218
# https://www.terraform.io/docs/language/expressions/types.html#literal-expressions
219219
# https://github.com/hashicorp/hcl2/blob/master/hcl/hclsyntax/spec.md#literal-values
220220
language_constants:
221-
- match: \b(true|false|null)\b
222-
comment: Language Constants
223-
scope: constant.language.terraform
221+
- match: \btrue\b
222+
scope: constant.language.boolean.true.terraform
223+
- match: \bfalse\b
224+
scope: constant.language.boolean.false.terraform
225+
- match: \bnull\b
226+
scope: constant.language.null.terraform
224227

225228
# Numbers: Integers, fractions and exponents
226229
#
@@ -247,6 +250,31 @@ contexts:
247250
# https://www.terraform.io/docs/language/expressions/types.html
248251
# https://github.com/hashicorp/hcl2/blob/master/hcl/hclsyntax/spec.md#template-expressions
249252
string_literals:
253+
- match: (")(true)(")
254+
scope: string.quoted.double.terraform
255+
captures:
256+
1: punctuation.definition.string.begin.terraform
257+
2: constant.language.boolean.true.terraform
258+
3: punctuation.definition.string.end.terraform
259+
- match: (")(false)(")
260+
scope: string.quoted.double.terraform
261+
captures:
262+
1: punctuation.definition.string.begin.terraform
263+
2: constant.language.boolean.false.terraform
264+
3: punctuation.definition.string.end.terraform
265+
- match: (")(none|null)(")
266+
scope: string.quoted.double.terraform
267+
captures:
268+
1: punctuation.definition.string.begin.terraform
269+
2: constant.language.null.terraform
270+
3: punctuation.definition.string.end.terraform
271+
- match: (")(-?)(\d+)(")
272+
scope: string.quoted.double.terraform
273+
captures:
274+
1: punctuation.definition.string.begin.terraform
275+
2: keyword.operator.arithmetic.terraform
276+
3: meta.number.integer.terraform constant.numeric.value.terraform
277+
4: punctuation.definition.string.end.terraform
250278
- match: '"'
251279
comment: Strings
252280
scope: punctuation.definition.string.begin.terraform

syntax_test_terraform-vars.tfvars

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424

2525
true
2626
# ^ -constant
27-
# ^^^^ constant.language.terraform
27+
# ^^^^ constant.language.boolean.true.terraform
2828
# ^ -constant
2929

3030
444

syntax_test_terraform.tf

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@
8989

9090
true
9191
# ^ -constant
92-
# ^^^^ constant.language.terraform
92+
# ^^^^ constant.language.boolean.true.terraform
9393
# ^ -constant
9494

9595
/////
@@ -98,7 +98,7 @@
9898

9999
false
100100
# ^ -constant
101-
# ^^^^^ constant.language.terraform
101+
# ^^^^^ constant.language.boolean.false.terraform
102102
# ^ -constant
103103

104104

@@ -108,7 +108,7 @@
108108

109109
null
110110
# ^ -constant
111-
# ^^^^ constant.language.terraform
111+
# ^^^^ constant.language.null.terraform
112112
# ^ -constant
113113

114114
/////////////////////////////////////////////////////////////////////
@@ -327,9 +327,9 @@
327327
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.interpolation.terraform
328328
# ^^^^^^^^^^^^^^^^^^^^^^^^^^ source.terraform
329329
# ^ keyword.operator.ternary.terraform
330-
# ^^^^ meta.interpolation.terraform constant.language.terraform
330+
# ^^^^ meta.interpolation.terraform constant.language.boolean.true.terraform
331331
# ^ meta.interpolation.terraform keyword.operator.ternary.terraform
332-
# ^^^^^ meta.interpolation.terraform constant.language.terraform
332+
# ^^^^^ meta.interpolation.terraform constant.language.boolean.false.terraform
333333
# ^ meta.interpolation.terraform punctuation.section.interpolation.end.terraform
334334
# ^ string.quoted.double.terraform punctuation.definition.string.end.terraform
335335

@@ -2399,9 +2399,19 @@
23992399
tobool(true)
24002400
# ^^^^^^ meta.function-call.terraform support.function.builtin.terraform
24012401
# ^ meta.function-call.terraform punctuation.section.parens.begin.terraform
2402-
# ^^^^ meta.function-call.terraform constant.language.terraform
2402+
# ^^^^ meta.function-call.terraform constant.language.boolean.true.terraform
24032403
# ^ meta.function-call.terraform punctuation.section.parens.end.terraform
24042404

2405+
tobool("true")
2406+
# ^^^^^^^^^^^^^^ meta.function-call.terraform
2407+
# ^^^^^^ support.function.builtin.terraform
2408+
# ^ punctuation.section.parens.begin.terraform
2409+
# ^^^^^^ string.quoted.double.terraform
2410+
# ^ punctuation.definition.string.begin.terraform
2411+
# ^^^^ constant.language.boolean.true.terraform
2412+
# ^ punctuation.definition.string.end.terraform
2413+
# ^ punctuation.section.parens.end.terraform
2414+
24052415
tolist(["a", "b", "c"])
24062416
# ^^^^^^ meta.function-call.terraform support.function.builtin.terraform
24072417
# ^ meta.function-call.terraform punctuation.section.parens.begin.terraform

0 commit comments

Comments
 (0)