|
@@ -3,15 +3,15 @@
|
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
*--------------------------------------------------------------------------------------------*/
|
|
*--------------------------------------------------------------------------------------------*/
|
|
|
|
|
|
-"use strict";
|
|
|
|
|
|
+'use strict';
|
|
|
|
|
|
-import { testTokenization } from "../test/testRunner";
|
|
|
|
|
|
+import { testTokenization } from '../test/testRunner';
|
|
|
|
|
|
-testTokenization("hcl", [
|
|
|
|
- /*
|
|
|
|
|
|
+testTokenization('hcl', [
|
|
|
|
+ /*
|
|
// Foo
|
|
// Foo
|
|
/* Bar */
|
|
/* Bar */
|
|
- /*
|
|
|
|
|
|
+ /*
|
|
/*
|
|
/*
|
|
Baz
|
|
Baz
|
|
*\/
|
|
*\/
|
|
@@ -21,106 +21,106 @@ testTokenization("hcl", [
|
|
# Lines
|
|
# Lines
|
|
foo = "bar"
|
|
foo = "bar"
|
|
*/
|
|
*/
|
|
- [
|
|
|
|
- {
|
|
|
|
- line: "// Foo",
|
|
|
|
- tokens: [{ startIndex: 0, type: "comment.hcl" }],
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- line: "/* Bar */",
|
|
|
|
- tokens: [{ startIndex: 0, type: "comment.hcl" }],
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- line: "/*",
|
|
|
|
- tokens: [{ startIndex: 0, type: "comment.hcl" }],
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- line: "/*",
|
|
|
|
- tokens: [{ startIndex: 0, type: "comment.hcl" }],
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- line: "Baz",
|
|
|
|
- tokens: [{ startIndex: 0, type: "comment.hcl" }],
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- line: "*/",
|
|
|
|
- tokens: [{ startIndex: 0, type: "comment.hcl" }],
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- line: "# Another",
|
|
|
|
- tokens: [{ startIndex: 0, type: "comment.hcl" }],
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- line: "",
|
|
|
|
- tokens: [],
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- line: "# Multiple",
|
|
|
|
- tokens: [{ startIndex: 0, type: "comment.hcl" }],
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- line: "# Lines",
|
|
|
|
- tokens: [{ startIndex: 0, type: "comment.hcl" }],
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- line: 'foo = "bar"',
|
|
|
|
- tokens: [
|
|
|
|
- { startIndex: 0, type: "variable.hcl" },
|
|
|
|
- { startIndex: 3, type: "" },
|
|
|
|
- { startIndex: 4, type: "operator.hcl" },
|
|
|
|
- { startIndex: 5, type: "" },
|
|
|
|
- { startIndex: 6, type: "string.hcl" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- ],
|
|
|
|
|
|
+ [
|
|
|
|
+ {
|
|
|
|
+ line: '// Foo',
|
|
|
|
+ tokens: [{ startIndex: 0, type: 'comment.hcl' }]
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ line: '/* Bar */',
|
|
|
|
+ tokens: [{ startIndex: 0, type: 'comment.hcl' }]
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ line: '/*',
|
|
|
|
+ tokens: [{ startIndex: 0, type: 'comment.hcl' }]
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ line: '/*',
|
|
|
|
+ tokens: [{ startIndex: 0, type: 'comment.hcl' }]
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ line: 'Baz',
|
|
|
|
+ tokens: [{ startIndex: 0, type: 'comment.hcl' }]
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ line: '*/',
|
|
|
|
+ tokens: [{ startIndex: 0, type: 'comment.hcl' }]
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ line: '# Another',
|
|
|
|
+ tokens: [{ startIndex: 0, type: 'comment.hcl' }]
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ line: '',
|
|
|
|
+ tokens: []
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ line: '# Multiple',
|
|
|
|
+ tokens: [{ startIndex: 0, type: 'comment.hcl' }]
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ line: '# Lines',
|
|
|
|
+ tokens: [{ startIndex: 0, type: 'comment.hcl' }]
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ line: 'foo = "bar"',
|
|
|
|
+ tokens: [
|
|
|
|
+ { startIndex: 0, type: 'variable.hcl' },
|
|
|
|
+ { startIndex: 3, type: '' },
|
|
|
|
+ { startIndex: 4, type: 'operator.hcl' },
|
|
|
|
+ { startIndex: 5, type: '' },
|
|
|
|
+ { startIndex: 6, type: 'string.hcl' }
|
|
|
|
+ ]
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
|
|
- [
|
|
|
|
- {
|
|
|
|
- line: "",
|
|
|
|
- tokens: [],
|
|
|
|
- },
|
|
|
|
- ],
|
|
|
|
|
|
+ [
|
|
|
|
+ {
|
|
|
|
+ line: '',
|
|
|
|
+ tokens: []
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
|
|
- /*
|
|
|
|
|
|
+ /*
|
|
foo = [
|
|
foo = [
|
|
"1",
|
|
"1",
|
|
"2", # comment
|
|
"2", # comment
|
|
]
|
|
]
|
|
*/
|
|
*/
|
|
- [
|
|
|
|
- {
|
|
|
|
- line: "foo = [",
|
|
|
|
- tokens: [
|
|
|
|
- { startIndex: 0, type: "variable.hcl" },
|
|
|
|
- { startIndex: 3, type: "" },
|
|
|
|
- { startIndex: 4, type: "operator.hcl" },
|
|
|
|
- { startIndex: 5, type: "" },
|
|
|
|
- { startIndex: 6, type: "delimiter.square.hcl" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- line: '"1",',
|
|
|
|
- tokens: [
|
|
|
|
- { startIndex: 0, type: "string.hcl" },
|
|
|
|
- { startIndex: 3, type: "delimiter.hcl" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- line: '"2", # comment',
|
|
|
|
- tokens: [
|
|
|
|
- { startIndex: 0, type: "string.hcl" },
|
|
|
|
- { startIndex: 3, type: "delimiter.hcl" },
|
|
|
|
- { startIndex: 4, type: "" },
|
|
|
|
- { startIndex: 5, type: "comment.hcl" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- line: "]",
|
|
|
|
- tokens: [{ startIndex: 0, type: "delimiter.square.hcl" }],
|
|
|
|
- },
|
|
|
|
- ],
|
|
|
|
|
|
+ [
|
|
|
|
+ {
|
|
|
|
+ line: 'foo = [',
|
|
|
|
+ tokens: [
|
|
|
|
+ { startIndex: 0, type: 'variable.hcl' },
|
|
|
|
+ { startIndex: 3, type: '' },
|
|
|
|
+ { startIndex: 4, type: 'operator.hcl' },
|
|
|
|
+ { startIndex: 5, type: '' },
|
|
|
|
+ { startIndex: 6, type: 'delimiter.square.hcl' }
|
|
|
|
+ ]
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ line: '"1",',
|
|
|
|
+ tokens: [
|
|
|
|
+ { startIndex: 0, type: 'string.hcl' },
|
|
|
|
+ { startIndex: 3, type: 'delimiter.hcl' }
|
|
|
|
+ ]
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ line: '"2", # comment',
|
|
|
|
+ tokens: [
|
|
|
|
+ { startIndex: 0, type: 'string.hcl' },
|
|
|
|
+ { startIndex: 3, type: 'delimiter.hcl' },
|
|
|
|
+ { startIndex: 4, type: '' },
|
|
|
|
+ { startIndex: 5, type: 'comment.hcl' }
|
|
|
|
+ ]
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ line: ']',
|
|
|
|
+ tokens: [{ startIndex: 0, type: 'delimiter.square.hcl' }]
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
|
|
- /*
|
|
|
|
|
|
+ /*
|
|
resource = [{
|
|
resource = [{
|
|
"foo": {
|
|
"foo": {
|
|
"bar": {},
|
|
"bar": {},
|
|
@@ -128,239 +128,239 @@ testTokenization("hcl", [
|
|
}
|
|
}
|
|
}]
|
|
}]
|
|
*/
|
|
*/
|
|
- [
|
|
|
|
- {
|
|
|
|
- line: "resource = [{",
|
|
|
|
- tokens: [
|
|
|
|
- { startIndex: 0, type: "variable.hcl" },
|
|
|
|
- { startIndex: 8, type: "" },
|
|
|
|
- { startIndex: 9, type: "operator.hcl" },
|
|
|
|
- { startIndex: 10, type: "" },
|
|
|
|
- { startIndex: 11, type: "delimiter.square.hcl" },
|
|
|
|
- { startIndex: 12, type: "delimiter.curly.hcl" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- line: '"foo": {',
|
|
|
|
- tokens: [
|
|
|
|
- { startIndex: 0, type: "string.hcl" },
|
|
|
|
- { startIndex: 5, type: "operator.hcl" },
|
|
|
|
- { startIndex: 6, type: "" },
|
|
|
|
- { startIndex: 7, type: "delimiter.curly.hcl" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- line: '"bar": {},',
|
|
|
|
- tokens: [
|
|
|
|
- { startIndex: 0, type: "string.hcl" },
|
|
|
|
- { startIndex: 5, type: "operator.hcl" },
|
|
|
|
- { startIndex: 6, type: "" },
|
|
|
|
- { startIndex: 7, type: "delimiter.curly.hcl" },
|
|
|
|
- { startIndex: 9, type: "delimiter.hcl" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- line: '"baz": [1, 2, "foo"],',
|
|
|
|
- tokens: [
|
|
|
|
- { startIndex: 0, type: "string.hcl" },
|
|
|
|
- { startIndex: 5, type: "operator.hcl" },
|
|
|
|
- { startIndex: 6, type: "" },
|
|
|
|
- { startIndex: 7, type: "delimiter.square.hcl" },
|
|
|
|
- { startIndex: 8, type: "number.hcl" },
|
|
|
|
- { startIndex: 9, type: "delimiter.hcl" },
|
|
|
|
- { startIndex: 10, type: "" },
|
|
|
|
- { startIndex: 11, type: "number.hcl" },
|
|
|
|
- { startIndex: 12, type: "delimiter.hcl" },
|
|
|
|
- { startIndex: 13, type: "" },
|
|
|
|
- { startIndex: 14, type: "string.hcl" },
|
|
|
|
- { startIndex: 19, type: "delimiter.square.hcl" },
|
|
|
|
- { startIndex: 20, type: "delimiter.hcl" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- line: "}",
|
|
|
|
- tokens: [{ startIndex: 0, type: "delimiter.curly.hcl" }],
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- line: "}]",
|
|
|
|
- tokens: [
|
|
|
|
- { startIndex: 0, type: "delimiter.curly.hcl" },
|
|
|
|
- { startIndex: 1, type: "delimiter.square.hcl" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- ],
|
|
|
|
|
|
+ [
|
|
|
|
+ {
|
|
|
|
+ line: 'resource = [{',
|
|
|
|
+ tokens: [
|
|
|
|
+ { startIndex: 0, type: 'variable.hcl' },
|
|
|
|
+ { startIndex: 8, type: '' },
|
|
|
|
+ { startIndex: 9, type: 'operator.hcl' },
|
|
|
|
+ { startIndex: 10, type: '' },
|
|
|
|
+ { startIndex: 11, type: 'delimiter.square.hcl' },
|
|
|
|
+ { startIndex: 12, type: 'delimiter.curly.hcl' }
|
|
|
|
+ ]
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ line: '"foo": {',
|
|
|
|
+ tokens: [
|
|
|
|
+ { startIndex: 0, type: 'string.hcl' },
|
|
|
|
+ { startIndex: 5, type: 'operator.hcl' },
|
|
|
|
+ { startIndex: 6, type: '' },
|
|
|
|
+ { startIndex: 7, type: 'delimiter.curly.hcl' }
|
|
|
|
+ ]
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ line: '"bar": {},',
|
|
|
|
+ tokens: [
|
|
|
|
+ { startIndex: 0, type: 'string.hcl' },
|
|
|
|
+ { startIndex: 5, type: 'operator.hcl' },
|
|
|
|
+ { startIndex: 6, type: '' },
|
|
|
|
+ { startIndex: 7, type: 'delimiter.curly.hcl' },
|
|
|
|
+ { startIndex: 9, type: 'delimiter.hcl' }
|
|
|
|
+ ]
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ line: '"baz": [1, 2, "foo"],',
|
|
|
|
+ tokens: [
|
|
|
|
+ { startIndex: 0, type: 'string.hcl' },
|
|
|
|
+ { startIndex: 5, type: 'operator.hcl' },
|
|
|
|
+ { startIndex: 6, type: '' },
|
|
|
|
+ { startIndex: 7, type: 'delimiter.square.hcl' },
|
|
|
|
+ { startIndex: 8, type: 'number.hcl' },
|
|
|
|
+ { startIndex: 9, type: 'delimiter.hcl' },
|
|
|
|
+ { startIndex: 10, type: '' },
|
|
|
|
+ { startIndex: 11, type: 'number.hcl' },
|
|
|
|
+ { startIndex: 12, type: 'delimiter.hcl' },
|
|
|
|
+ { startIndex: 13, type: '' },
|
|
|
|
+ { startIndex: 14, type: 'string.hcl' },
|
|
|
|
+ { startIndex: 19, type: 'delimiter.square.hcl' },
|
|
|
|
+ { startIndex: 20, type: 'delimiter.hcl' }
|
|
|
|
+ ]
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ line: '}',
|
|
|
|
+ tokens: [{ startIndex: 0, type: 'delimiter.curly.hcl' }]
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ line: '}]',
|
|
|
|
+ tokens: [
|
|
|
|
+ { startIndex: 0, type: 'delimiter.curly.hcl' },
|
|
|
|
+ { startIndex: 1, type: 'delimiter.square.hcl' }
|
|
|
|
+ ]
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
|
|
- /*
|
|
|
|
|
|
+ /*
|
|
variable "foo" {
|
|
variable "foo" {
|
|
default = "bar"
|
|
default = "bar"
|
|
description = "bar"
|
|
description = "bar"
|
|
}
|
|
}
|
|
*/
|
|
*/
|
|
- [
|
|
|
|
- {
|
|
|
|
- line: 'variable "foo" {',
|
|
|
|
- tokens: [
|
|
|
|
- { startIndex: 0, type: "type.hcl" },
|
|
|
|
- { startIndex: 8, type: "" },
|
|
|
|
- { startIndex: 9, type: "string.hcl" },
|
|
|
|
- { startIndex: 14, type: "" },
|
|
|
|
- { startIndex: 15, type: "delimiter.curly.hcl" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- line: ' default = "bar"',
|
|
|
|
- tokens: [
|
|
|
|
- { startIndex: 0, type: "" },
|
|
|
|
- { startIndex: 2, type: "variable.hcl" },
|
|
|
|
- { startIndex: 9, type: "" },
|
|
|
|
- { startIndex: 10, type: "operator.hcl" },
|
|
|
|
- { startIndex: 11, type: "" },
|
|
|
|
- { startIndex: 12, type: "string.hcl" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- line: ' description = "bar"',
|
|
|
|
- tokens: [
|
|
|
|
- { startIndex: 0, type: "" },
|
|
|
|
- { startIndex: 2, type: "variable.hcl" },
|
|
|
|
- { startIndex: 13, type: "" },
|
|
|
|
- { startIndex: 14, type: "operator.hcl" },
|
|
|
|
- { startIndex: 15, type: "" },
|
|
|
|
- { startIndex: 16, type: "string.hcl" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- line: "}",
|
|
|
|
- tokens: [{ startIndex: 0, type: "delimiter.curly.hcl" }],
|
|
|
|
- },
|
|
|
|
- ],
|
|
|
|
- [
|
|
|
|
- {
|
|
|
|
- line: 'provider "aws" {',
|
|
|
|
- tokens: [
|
|
|
|
- { startIndex: 0, type: "type.hcl" },
|
|
|
|
- { startIndex: 8, type: "" },
|
|
|
|
- { startIndex: 9, type: "string.hcl" },
|
|
|
|
- { startIndex: 14, type: "" },
|
|
|
|
- { startIndex: 15, type: "delimiter.curly.hcl" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- ],
|
|
|
|
- /*
|
|
|
|
|
|
+ [
|
|
|
|
+ {
|
|
|
|
+ line: 'variable "foo" {',
|
|
|
|
+ tokens: [
|
|
|
|
+ { startIndex: 0, type: 'type.hcl' },
|
|
|
|
+ { startIndex: 8, type: '' },
|
|
|
|
+ { startIndex: 9, type: 'string.hcl' },
|
|
|
|
+ { startIndex: 14, type: '' },
|
|
|
|
+ { startIndex: 15, type: 'delimiter.curly.hcl' }
|
|
|
|
+ ]
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ line: ' default = "bar"',
|
|
|
|
+ tokens: [
|
|
|
|
+ { startIndex: 0, type: '' },
|
|
|
|
+ { startIndex: 2, type: 'variable.hcl' },
|
|
|
|
+ { startIndex: 9, type: '' },
|
|
|
|
+ { startIndex: 10, type: 'operator.hcl' },
|
|
|
|
+ { startIndex: 11, type: '' },
|
|
|
|
+ { startIndex: 12, type: 'string.hcl' }
|
|
|
|
+ ]
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ line: ' description = "bar"',
|
|
|
|
+ tokens: [
|
|
|
|
+ { startIndex: 0, type: '' },
|
|
|
|
+ { startIndex: 2, type: 'variable.hcl' },
|
|
|
|
+ { startIndex: 13, type: '' },
|
|
|
|
+ { startIndex: 14, type: 'operator.hcl' },
|
|
|
|
+ { startIndex: 15, type: '' },
|
|
|
|
+ { startIndex: 16, type: 'string.hcl' }
|
|
|
|
+ ]
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ line: '}',
|
|
|
|
+ tokens: [{ startIndex: 0, type: 'delimiter.curly.hcl' }]
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
+ [
|
|
|
|
+ {
|
|
|
|
+ line: 'provider "aws" {',
|
|
|
|
+ tokens: [
|
|
|
|
+ { startIndex: 0, type: 'type.hcl' },
|
|
|
|
+ { startIndex: 8, type: '' },
|
|
|
|
+ { startIndex: 9, type: 'string.hcl' },
|
|
|
|
+ { startIndex: 14, type: '' },
|
|
|
|
+ { startIndex: 15, type: 'delimiter.curly.hcl' }
|
|
|
|
+ ]
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
+ /*
|
|
provider "do" {
|
|
provider "do" {
|
|
api_key = "${var.foo}"
|
|
api_key = "${var.foo}"
|
|
}
|
|
}
|
|
*/
|
|
*/
|
|
- [
|
|
|
|
- {
|
|
|
|
- line: 'provider "do" {',
|
|
|
|
- tokens: [
|
|
|
|
- { startIndex: 0, type: "type.hcl" },
|
|
|
|
- { startIndex: 8, type: "" },
|
|
|
|
- { startIndex: 9, type: "string.hcl" },
|
|
|
|
- { startIndex: 13, type: "" },
|
|
|
|
- { startIndex: 14, type: "delimiter.curly.hcl" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- line: ' api_key = "${var.foo}"',
|
|
|
|
- tokens: [
|
|
|
|
- { startIndex: 0, type: "" },
|
|
|
|
- { startIndex: 2, type: "variable.hcl" },
|
|
|
|
- { startIndex: 9, type: "" },
|
|
|
|
- { startIndex: 10, type: "operator.hcl" },
|
|
|
|
- { startIndex: 11, type: "" },
|
|
|
|
- { startIndex: 12, type: "string.hcl" },
|
|
|
|
- { startIndex: 13, type: "delimiter.hcl" },
|
|
|
|
- { startIndex: 15, type: "keyword.var.hcl" },
|
|
|
|
- { startIndex: 18, type: "delimiter.hcl" },
|
|
|
|
- { startIndex: 19, type: "variable.hcl" },
|
|
|
|
- { startIndex: 22, type: "delimiter.hcl" },
|
|
|
|
- { startIndex: 23, type: "string.hcl" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- line: "}",
|
|
|
|
- tokens: [{ startIndex: 0, type: "delimiter.curly.hcl" }],
|
|
|
|
- },
|
|
|
|
- ],
|
|
|
|
- /*
|
|
|
|
|
|
+ [
|
|
|
|
+ {
|
|
|
|
+ line: 'provider "do" {',
|
|
|
|
+ tokens: [
|
|
|
|
+ { startIndex: 0, type: 'type.hcl' },
|
|
|
|
+ { startIndex: 8, type: '' },
|
|
|
|
+ { startIndex: 9, type: 'string.hcl' },
|
|
|
|
+ { startIndex: 13, type: '' },
|
|
|
|
+ { startIndex: 14, type: 'delimiter.curly.hcl' }
|
|
|
|
+ ]
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ line: ' api_key = "${var.foo}"',
|
|
|
|
+ tokens: [
|
|
|
|
+ { startIndex: 0, type: '' },
|
|
|
|
+ { startIndex: 2, type: 'variable.hcl' },
|
|
|
|
+ { startIndex: 9, type: '' },
|
|
|
|
+ { startIndex: 10, type: 'operator.hcl' },
|
|
|
|
+ { startIndex: 11, type: '' },
|
|
|
|
+ { startIndex: 12, type: 'string.hcl' },
|
|
|
|
+ { startIndex: 13, type: 'delimiter.hcl' },
|
|
|
|
+ { startIndex: 15, type: 'keyword.var.hcl' },
|
|
|
|
+ { startIndex: 18, type: 'delimiter.hcl' },
|
|
|
|
+ { startIndex: 19, type: 'variable.hcl' },
|
|
|
|
+ { startIndex: 22, type: 'delimiter.hcl' },
|
|
|
|
+ { startIndex: 23, type: 'string.hcl' }
|
|
|
|
+ ]
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ line: '}',
|
|
|
|
+ tokens: [{ startIndex: 0, type: 'delimiter.curly.hcl' }]
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
+ /*
|
|
resource "aws_security_group" "firewall" {
|
|
resource "aws_security_group" "firewall" {
|
|
count = 5
|
|
count = 5
|
|
}
|
|
}
|
|
*/
|
|
*/
|
|
- [
|
|
|
|
- {
|
|
|
|
- line: 'resource "aws_security_group" "firewall" {',
|
|
|
|
- tokens: [
|
|
|
|
- { startIndex: 0, type: "type.hcl" },
|
|
|
|
- { startIndex: 8, type: "" },
|
|
|
|
- { startIndex: 9, type: "string.hcl" },
|
|
|
|
- { startIndex: 29, type: "" },
|
|
|
|
- { startIndex: 30, type: "string.hcl" },
|
|
|
|
- { startIndex: 40, type: "" },
|
|
|
|
- { startIndex: 41, type: "delimiter.curly.hcl" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- line: " count = 5",
|
|
|
|
- tokens: [
|
|
|
|
- { startIndex: 0, type: "" },
|
|
|
|
- { startIndex: 2, type: "variable.hcl" },
|
|
|
|
- { startIndex: 7, type: "" },
|
|
|
|
- { startIndex: 8, type: "operator.hcl" },
|
|
|
|
- { startIndex: 9, type: "" },
|
|
|
|
- { startIndex: 10, type: "number.hcl" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- line: "}",
|
|
|
|
- tokens: [{ startIndex: 0, type: "delimiter.curly.hcl" }],
|
|
|
|
- },
|
|
|
|
- ],
|
|
|
|
- [
|
|
|
|
- {
|
|
|
|
- line: "resource aws_security_group firewall {",
|
|
|
|
- tokens: [
|
|
|
|
- { startIndex: 0, type: "type.hcl" },
|
|
|
|
- { startIndex: 8, type: "" },
|
|
|
|
- { startIndex: 9, type: "string.hcl" },
|
|
|
|
- { startIndex: 27, type: "" },
|
|
|
|
- { startIndex: 28, type: "string.hcl" },
|
|
|
|
- { startIndex: 36, type: "" },
|
|
|
|
- { startIndex: 37, type: "delimiter.curly.hcl" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- ],
|
|
|
|
- [
|
|
|
|
- {
|
|
|
|
- line: 'resource "aws_security_group" firewall {',
|
|
|
|
- tokens: [
|
|
|
|
- { startIndex: 0, type: "type.hcl" },
|
|
|
|
- { startIndex: 8, type: "" },
|
|
|
|
- { startIndex: 9, type: "string.hcl" },
|
|
|
|
- { startIndex: 29, type: "" },
|
|
|
|
- { startIndex: 30, type: "string.hcl" },
|
|
|
|
- { startIndex: 38, type: "" },
|
|
|
|
- { startIndex: 39, type: "delimiter.curly.hcl" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- ],
|
|
|
|
- [
|
|
|
|
- {
|
|
|
|
- line: 'resource aws_security_group "firewall" {',
|
|
|
|
- tokens: [
|
|
|
|
- { startIndex: 0, type: "type.hcl" },
|
|
|
|
- { startIndex: 8, type: "" },
|
|
|
|
- { startIndex: 9, type: "string.hcl" },
|
|
|
|
- { startIndex: 27, type: "" },
|
|
|
|
- { startIndex: 28, type: "string.hcl" },
|
|
|
|
- { startIndex: 38, type: "" },
|
|
|
|
- { startIndex: 39, type: "delimiter.curly.hcl" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- ],
|
|
|
|
- /*
|
|
|
|
|
|
+ [
|
|
|
|
+ {
|
|
|
|
+ line: 'resource "aws_security_group" "firewall" {',
|
|
|
|
+ tokens: [
|
|
|
|
+ { startIndex: 0, type: 'type.hcl' },
|
|
|
|
+ { startIndex: 8, type: '' },
|
|
|
|
+ { startIndex: 9, type: 'string.hcl' },
|
|
|
|
+ { startIndex: 29, type: '' },
|
|
|
|
+ { startIndex: 30, type: 'string.hcl' },
|
|
|
|
+ { startIndex: 40, type: '' },
|
|
|
|
+ { startIndex: 41, type: 'delimiter.curly.hcl' }
|
|
|
|
+ ]
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ line: ' count = 5',
|
|
|
|
+ tokens: [
|
|
|
|
+ { startIndex: 0, type: '' },
|
|
|
|
+ { startIndex: 2, type: 'variable.hcl' },
|
|
|
|
+ { startIndex: 7, type: '' },
|
|
|
|
+ { startIndex: 8, type: 'operator.hcl' },
|
|
|
|
+ { startIndex: 9, type: '' },
|
|
|
|
+ { startIndex: 10, type: 'number.hcl' }
|
|
|
|
+ ]
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ line: '}',
|
|
|
|
+ tokens: [{ startIndex: 0, type: 'delimiter.curly.hcl' }]
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
+ [
|
|
|
|
+ {
|
|
|
|
+ line: 'resource aws_security_group firewall {',
|
|
|
|
+ tokens: [
|
|
|
|
+ { startIndex: 0, type: 'type.hcl' },
|
|
|
|
+ { startIndex: 8, type: '' },
|
|
|
|
+ { startIndex: 9, type: 'string.hcl' },
|
|
|
|
+ { startIndex: 27, type: '' },
|
|
|
|
+ { startIndex: 28, type: 'string.hcl' },
|
|
|
|
+ { startIndex: 36, type: '' },
|
|
|
|
+ { startIndex: 37, type: 'delimiter.curly.hcl' }
|
|
|
|
+ ]
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
+ [
|
|
|
|
+ {
|
|
|
|
+ line: 'resource "aws_security_group" firewall {',
|
|
|
|
+ tokens: [
|
|
|
|
+ { startIndex: 0, type: 'type.hcl' },
|
|
|
|
+ { startIndex: 8, type: '' },
|
|
|
|
+ { startIndex: 9, type: 'string.hcl' },
|
|
|
|
+ { startIndex: 29, type: '' },
|
|
|
|
+ { startIndex: 30, type: 'string.hcl' },
|
|
|
|
+ { startIndex: 38, type: '' },
|
|
|
|
+ { startIndex: 39, type: 'delimiter.curly.hcl' }
|
|
|
|
+ ]
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
+ [
|
|
|
|
+ {
|
|
|
|
+ line: 'resource aws_security_group "firewall" {',
|
|
|
|
+ tokens: [
|
|
|
|
+ { startIndex: 0, type: 'type.hcl' },
|
|
|
|
+ { startIndex: 8, type: '' },
|
|
|
|
+ { startIndex: 9, type: 'string.hcl' },
|
|
|
|
+ { startIndex: 27, type: '' },
|
|
|
|
+ { startIndex: 28, type: 'string.hcl' },
|
|
|
|
+ { startIndex: 38, type: '' },
|
|
|
|
+ { startIndex: 39, type: 'delimiter.curly.hcl' }
|
|
|
|
+ ]
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
+ /*
|
|
resource aws_instance "web" {
|
|
resource aws_instance "web" {
|
|
ami = "${var.foo}"
|
|
ami = "${var.foo}"
|
|
security_groups = [
|
|
security_groups = [
|
|
@@ -373,829 +373,829 @@ testTokenization("hcl", [
|
|
}
|
|
}
|
|
}
|
|
}
|
|
*/
|
|
*/
|
|
- [
|
|
|
|
- {
|
|
|
|
- line: 'resource aws_instance "web" {',
|
|
|
|
- tokens: [
|
|
|
|
- { startIndex: 0, type: "type.hcl" },
|
|
|
|
- { startIndex: 8, type: "" },
|
|
|
|
- { startIndex: 9, type: "string.hcl" },
|
|
|
|
- { startIndex: 21, type: "" },
|
|
|
|
- { startIndex: 22, type: "string.hcl" },
|
|
|
|
- { startIndex: 27, type: "" },
|
|
|
|
- { startIndex: 28, type: "delimiter.curly.hcl" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- line: ' ami = "${var.foo}"',
|
|
|
|
- tokens: [
|
|
|
|
- { startIndex: 0, type: "" },
|
|
|
|
- { startIndex: 2, type: "variable.hcl" },
|
|
|
|
- { startIndex: 5, type: "" },
|
|
|
|
- { startIndex: 6, type: "operator.hcl" },
|
|
|
|
- { startIndex: 7, type: "" },
|
|
|
|
- { startIndex: 8, type: "string.hcl" },
|
|
|
|
- { startIndex: 9, type: "delimiter.hcl" },
|
|
|
|
- { startIndex: 11, type: "keyword.var.hcl" },
|
|
|
|
- { startIndex: 14, type: "delimiter.hcl" },
|
|
|
|
- { startIndex: 15, type: "variable.hcl" },
|
|
|
|
- { startIndex: 18, type: "delimiter.hcl" },
|
|
|
|
- { startIndex: 19, type: "string.hcl" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- line: " security_groups = [",
|
|
|
|
- tokens: [
|
|
|
|
- { startIndex: 0, type: "" },
|
|
|
|
- { startIndex: 2, type: "variable.hcl" },
|
|
|
|
- { startIndex: 17, type: "" },
|
|
|
|
- { startIndex: 18, type: "operator.hcl" },
|
|
|
|
- { startIndex: 19, type: "" },
|
|
|
|
- { startIndex: 20, type: "delimiter.square.hcl" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- line: ' "foo",',
|
|
|
|
- tokens: [
|
|
|
|
- { startIndex: 0, type: "" },
|
|
|
|
- { startIndex: 4, type: "string.hcl" },
|
|
|
|
- { startIndex: 9, type: "delimiter.hcl" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- line: ' "${aws_security_group.firewall.foo}"',
|
|
|
|
- tokens: [
|
|
|
|
- { startIndex: 0, type: "" },
|
|
|
|
- { startIndex: 4, type: "string.hcl" },
|
|
|
|
- { startIndex: 5, type: "delimiter.hcl" },
|
|
|
|
- { startIndex: 7, type: "variable.hcl" },
|
|
|
|
- { startIndex: 25, type: "delimiter.hcl" },
|
|
|
|
- { startIndex: 26, type: "variable.hcl" },
|
|
|
|
- { startIndex: 34, type: "delimiter.hcl" },
|
|
|
|
- { startIndex: 35, type: "variable.hcl" },
|
|
|
|
- { startIndex: 38, type: "delimiter.hcl" },
|
|
|
|
- { startIndex: 39, type: "string.hcl" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- line: " ]",
|
|
|
|
- tokens: [
|
|
|
|
- { startIndex: 0, type: "" },
|
|
|
|
- { startIndex: 2, type: "delimiter.square.hcl" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- line: " network_interface {",
|
|
|
|
- tokens: [
|
|
|
|
- { startIndex: 0, type: "" },
|
|
|
|
- { startIndex: 2, type: "identifier.hcl" },
|
|
|
|
- { startIndex: 20, type: "delimiter.curly.hcl" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- line: " device_index = 0",
|
|
|
|
- tokens: [
|
|
|
|
- { startIndex: 0, type: "" },
|
|
|
|
- { startIndex: 4, type: "variable.hcl" },
|
|
|
|
- { startIndex: 16, type: "" },
|
|
|
|
- { startIndex: 17, type: "operator.hcl" },
|
|
|
|
- { startIndex: 18, type: "" },
|
|
|
|
- { startIndex: 19, type: "number.hcl" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- line: ' description = "Main network interface"',
|
|
|
|
- tokens: [
|
|
|
|
- { startIndex: 0, type: "" },
|
|
|
|
- { startIndex: 4, type: "variable.hcl" },
|
|
|
|
- { startIndex: 15, type: "" },
|
|
|
|
- { startIndex: 16, type: "operator.hcl" },
|
|
|
|
- { startIndex: 17, type: "" },
|
|
|
|
- { startIndex: 18, type: "string.hcl" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- line: " }",
|
|
|
|
- tokens: [
|
|
|
|
- { startIndex: 0, type: "" },
|
|
|
|
- { startIndex: 2, type: "delimiter.curly.hcl" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- line: "}",
|
|
|
|
- tokens: [{ startIndex: 0, type: "delimiter.curly.hcl" }],
|
|
|
|
- },
|
|
|
|
- ],
|
|
|
|
- /*
|
|
|
|
|
|
+ [
|
|
|
|
+ {
|
|
|
|
+ line: 'resource aws_instance "web" {',
|
|
|
|
+ tokens: [
|
|
|
|
+ { startIndex: 0, type: 'type.hcl' },
|
|
|
|
+ { startIndex: 8, type: '' },
|
|
|
|
+ { startIndex: 9, type: 'string.hcl' },
|
|
|
|
+ { startIndex: 21, type: '' },
|
|
|
|
+ { startIndex: 22, type: 'string.hcl' },
|
|
|
|
+ { startIndex: 27, type: '' },
|
|
|
|
+ { startIndex: 28, type: 'delimiter.curly.hcl' }
|
|
|
|
+ ]
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ line: ' ami = "${var.foo}"',
|
|
|
|
+ tokens: [
|
|
|
|
+ { startIndex: 0, type: '' },
|
|
|
|
+ { startIndex: 2, type: 'variable.hcl' },
|
|
|
|
+ { startIndex: 5, type: '' },
|
|
|
|
+ { startIndex: 6, type: 'operator.hcl' },
|
|
|
|
+ { startIndex: 7, type: '' },
|
|
|
|
+ { startIndex: 8, type: 'string.hcl' },
|
|
|
|
+ { startIndex: 9, type: 'delimiter.hcl' },
|
|
|
|
+ { startIndex: 11, type: 'keyword.var.hcl' },
|
|
|
|
+ { startIndex: 14, type: 'delimiter.hcl' },
|
|
|
|
+ { startIndex: 15, type: 'variable.hcl' },
|
|
|
|
+ { startIndex: 18, type: 'delimiter.hcl' },
|
|
|
|
+ { startIndex: 19, type: 'string.hcl' }
|
|
|
|
+ ]
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ line: ' security_groups = [',
|
|
|
|
+ tokens: [
|
|
|
|
+ { startIndex: 0, type: '' },
|
|
|
|
+ { startIndex: 2, type: 'variable.hcl' },
|
|
|
|
+ { startIndex: 17, type: '' },
|
|
|
|
+ { startIndex: 18, type: 'operator.hcl' },
|
|
|
|
+ { startIndex: 19, type: '' },
|
|
|
|
+ { startIndex: 20, type: 'delimiter.square.hcl' }
|
|
|
|
+ ]
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ line: ' "foo",',
|
|
|
|
+ tokens: [
|
|
|
|
+ { startIndex: 0, type: '' },
|
|
|
|
+ { startIndex: 4, type: 'string.hcl' },
|
|
|
|
+ { startIndex: 9, type: 'delimiter.hcl' }
|
|
|
|
+ ]
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ line: ' "${aws_security_group.firewall.foo}"',
|
|
|
|
+ tokens: [
|
|
|
|
+ { startIndex: 0, type: '' },
|
|
|
|
+ { startIndex: 4, type: 'string.hcl' },
|
|
|
|
+ { startIndex: 5, type: 'delimiter.hcl' },
|
|
|
|
+ { startIndex: 7, type: 'variable.hcl' },
|
|
|
|
+ { startIndex: 25, type: 'delimiter.hcl' },
|
|
|
|
+ { startIndex: 26, type: 'variable.hcl' },
|
|
|
|
+ { startIndex: 34, type: 'delimiter.hcl' },
|
|
|
|
+ { startIndex: 35, type: 'variable.hcl' },
|
|
|
|
+ { startIndex: 38, type: 'delimiter.hcl' },
|
|
|
|
+ { startIndex: 39, type: 'string.hcl' }
|
|
|
|
+ ]
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ line: ' ]',
|
|
|
|
+ tokens: [
|
|
|
|
+ { startIndex: 0, type: '' },
|
|
|
|
+ { startIndex: 2, type: 'delimiter.square.hcl' }
|
|
|
|
+ ]
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ line: ' network_interface {',
|
|
|
|
+ tokens: [
|
|
|
|
+ { startIndex: 0, type: '' },
|
|
|
|
+ { startIndex: 2, type: 'identifier.hcl' },
|
|
|
|
+ { startIndex: 20, type: 'delimiter.curly.hcl' }
|
|
|
|
+ ]
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ line: ' device_index = 0',
|
|
|
|
+ tokens: [
|
|
|
|
+ { startIndex: 0, type: '' },
|
|
|
|
+ { startIndex: 4, type: 'variable.hcl' },
|
|
|
|
+ { startIndex: 16, type: '' },
|
|
|
|
+ { startIndex: 17, type: 'operator.hcl' },
|
|
|
|
+ { startIndex: 18, type: '' },
|
|
|
|
+ { startIndex: 19, type: 'number.hcl' }
|
|
|
|
+ ]
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ line: ' description = "Main network interface"',
|
|
|
|
+ tokens: [
|
|
|
|
+ { startIndex: 0, type: '' },
|
|
|
|
+ { startIndex: 4, type: 'variable.hcl' },
|
|
|
|
+ { startIndex: 15, type: '' },
|
|
|
|
+ { startIndex: 16, type: 'operator.hcl' },
|
|
|
|
+ { startIndex: 17, type: '' },
|
|
|
|
+ { startIndex: 18, type: 'string.hcl' }
|
|
|
|
+ ]
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ line: ' }',
|
|
|
|
+ tokens: [
|
|
|
|
+ { startIndex: 0, type: '' },
|
|
|
|
+ { startIndex: 2, type: 'delimiter.curly.hcl' }
|
|
|
|
+ ]
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ line: '}',
|
|
|
|
+ tokens: [{ startIndex: 0, type: 'delimiter.curly.hcl' }]
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
+ /*
|
|
resource "aws_instance" "db" {
|
|
resource "aws_instance" "db" {
|
|
security_groups = "${aws_security_group.firewall.*.id}"
|
|
security_groups = "${aws_security_group.firewall.*.id}"
|
|
VPC = "foo"
|
|
VPC = "foo"
|
|
depends_on = ["aws_instance.web"]
|
|
depends_on = ["aws_instance.web"]
|
|
}
|
|
}
|
|
*/
|
|
*/
|
|
- [
|
|
|
|
- {
|
|
|
|
- line: 'resource "aws_instance" "db" {',
|
|
|
|
- tokens: [
|
|
|
|
- { startIndex: 0, type: "type.hcl" },
|
|
|
|
- { startIndex: 8, type: "" },
|
|
|
|
- { startIndex: 9, type: "string.hcl" },
|
|
|
|
- { startIndex: 23, type: "" },
|
|
|
|
- { startIndex: 24, type: "string.hcl" },
|
|
|
|
- { startIndex: 28, type: "" },
|
|
|
|
- { startIndex: 29, type: "delimiter.curly.hcl" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- line: ' security_groups = "${aws_security_group.firewall.*.id}"',
|
|
|
|
- tokens: [
|
|
|
|
- { startIndex: 0, type: "" },
|
|
|
|
- { startIndex: 2, type: "variable.hcl" },
|
|
|
|
- { startIndex: 17, type: "" },
|
|
|
|
- { startIndex: 18, type: "operator.hcl" },
|
|
|
|
- { startIndex: 19, type: "" },
|
|
|
|
- { startIndex: 20, type: "string.hcl" },
|
|
|
|
- { startIndex: 21, type: "delimiter.hcl" },
|
|
|
|
- { startIndex: 23, type: "variable.hcl" },
|
|
|
|
- { startIndex: 41, type: "delimiter.hcl" },
|
|
|
|
- { startIndex: 42, type: "variable.hcl" },
|
|
|
|
- { startIndex: 50, type: "delimiter.hcl" },
|
|
|
|
- { startIndex: 51, type: "operator.hcl" },
|
|
|
|
- { startIndex: 52, type: "delimiter.hcl" },
|
|
|
|
- { startIndex: 53, type: "variable.hcl" },
|
|
|
|
- { startIndex: 55, type: "delimiter.hcl" },
|
|
|
|
- { startIndex: 56, type: "string.hcl" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- line: ' VPC = "foo"',
|
|
|
|
- tokens: [
|
|
|
|
- { startIndex: 0, type: "" },
|
|
|
|
- { startIndex: 2, type: "variable.hcl" },
|
|
|
|
- { startIndex: 5, type: "" },
|
|
|
|
- { startIndex: 6, type: "operator.hcl" },
|
|
|
|
- { startIndex: 7, type: "" },
|
|
|
|
- { startIndex: 8, type: "string.hcl" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- line: ' depends_on = ["aws_instance.web"]',
|
|
|
|
- tokens: [
|
|
|
|
- { startIndex: 0, type: "" },
|
|
|
|
- { startIndex: 2, type: "variable.hcl" },
|
|
|
|
- { startIndex: 12, type: "" },
|
|
|
|
- { startIndex: 13, type: "operator.hcl" },
|
|
|
|
- { startIndex: 14, type: "" },
|
|
|
|
- { startIndex: 15, type: "delimiter.square.hcl" },
|
|
|
|
- { startIndex: 16, type: "string.hcl" },
|
|
|
|
- { startIndex: 34, type: "delimiter.square.hcl" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- line: "}",
|
|
|
|
- tokens: [{ startIndex: 0, type: "delimiter.curly.hcl" }],
|
|
|
|
- },
|
|
|
|
- ],
|
|
|
|
- /*
|
|
|
|
|
|
+ [
|
|
|
|
+ {
|
|
|
|
+ line: 'resource "aws_instance" "db" {',
|
|
|
|
+ tokens: [
|
|
|
|
+ { startIndex: 0, type: 'type.hcl' },
|
|
|
|
+ { startIndex: 8, type: '' },
|
|
|
|
+ { startIndex: 9, type: 'string.hcl' },
|
|
|
|
+ { startIndex: 23, type: '' },
|
|
|
|
+ { startIndex: 24, type: 'string.hcl' },
|
|
|
|
+ { startIndex: 28, type: '' },
|
|
|
|
+ { startIndex: 29, type: 'delimiter.curly.hcl' }
|
|
|
|
+ ]
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ line: ' security_groups = "${aws_security_group.firewall.*.id}"',
|
|
|
|
+ tokens: [
|
|
|
|
+ { startIndex: 0, type: '' },
|
|
|
|
+ { startIndex: 2, type: 'variable.hcl' },
|
|
|
|
+ { startIndex: 17, type: '' },
|
|
|
|
+ { startIndex: 18, type: 'operator.hcl' },
|
|
|
|
+ { startIndex: 19, type: '' },
|
|
|
|
+ { startIndex: 20, type: 'string.hcl' },
|
|
|
|
+ { startIndex: 21, type: 'delimiter.hcl' },
|
|
|
|
+ { startIndex: 23, type: 'variable.hcl' },
|
|
|
|
+ { startIndex: 41, type: 'delimiter.hcl' },
|
|
|
|
+ { startIndex: 42, type: 'variable.hcl' },
|
|
|
|
+ { startIndex: 50, type: 'delimiter.hcl' },
|
|
|
|
+ { startIndex: 51, type: 'operator.hcl' },
|
|
|
|
+ { startIndex: 52, type: 'delimiter.hcl' },
|
|
|
|
+ { startIndex: 53, type: 'variable.hcl' },
|
|
|
|
+ { startIndex: 55, type: 'delimiter.hcl' },
|
|
|
|
+ { startIndex: 56, type: 'string.hcl' }
|
|
|
|
+ ]
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ line: ' VPC = "foo"',
|
|
|
|
+ tokens: [
|
|
|
|
+ { startIndex: 0, type: '' },
|
|
|
|
+ { startIndex: 2, type: 'variable.hcl' },
|
|
|
|
+ { startIndex: 5, type: '' },
|
|
|
|
+ { startIndex: 6, type: 'operator.hcl' },
|
|
|
|
+ { startIndex: 7, type: '' },
|
|
|
|
+ { startIndex: 8, type: 'string.hcl' }
|
|
|
|
+ ]
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ line: ' depends_on = ["aws_instance.web"]',
|
|
|
|
+ tokens: [
|
|
|
|
+ { startIndex: 0, type: '' },
|
|
|
|
+ { startIndex: 2, type: 'variable.hcl' },
|
|
|
|
+ { startIndex: 12, type: '' },
|
|
|
|
+ { startIndex: 13, type: 'operator.hcl' },
|
|
|
|
+ { startIndex: 14, type: '' },
|
|
|
|
+ { startIndex: 15, type: 'delimiter.square.hcl' },
|
|
|
|
+ { startIndex: 16, type: 'string.hcl' },
|
|
|
|
+ { startIndex: 34, type: 'delimiter.square.hcl' }
|
|
|
|
+ ]
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ line: '}',
|
|
|
|
+ tokens: [{ startIndex: 0, type: 'delimiter.curly.hcl' }]
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
+ /*
|
|
output "web_ip" {
|
|
output "web_ip" {
|
|
value = "${aws_instance.web.private_ip}"
|
|
value = "${aws_instance.web.private_ip}"
|
|
}
|
|
}
|
|
*/
|
|
*/
|
|
- [
|
|
|
|
- {
|
|
|
|
- line: 'output "web_ip" {',
|
|
|
|
- tokens: [
|
|
|
|
- { startIndex: 0, type: "type.hcl" },
|
|
|
|
- { startIndex: 6, type: "" },
|
|
|
|
- { startIndex: 7, type: "string.hcl" },
|
|
|
|
- { startIndex: 15, type: "" },
|
|
|
|
- { startIndex: 16, type: "delimiter.curly.hcl" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- line: 'value = "${aws_instance.web.private_ip}"',
|
|
|
|
- tokens: [
|
|
|
|
- { startIndex: 0, type: "variable.hcl" },
|
|
|
|
- { startIndex: 5, type: "" },
|
|
|
|
- { startIndex: 6, type: "operator.hcl" },
|
|
|
|
- { startIndex: 7, type: "" },
|
|
|
|
- { startIndex: 8, type: "string.hcl" },
|
|
|
|
- { startIndex: 9, type: "delimiter.hcl" },
|
|
|
|
- { startIndex: 11, type: "variable.hcl" },
|
|
|
|
- { startIndex: 23, type: "delimiter.hcl" },
|
|
|
|
- { startIndex: 24, type: "variable.hcl" },
|
|
|
|
- { startIndex: 27, type: "delimiter.hcl" },
|
|
|
|
- { startIndex: 28, type: "variable.hcl" },
|
|
|
|
- { startIndex: 38, type: "delimiter.hcl" },
|
|
|
|
- { startIndex: 39, type: "string.hcl" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- line: "}",
|
|
|
|
- tokens: [{ startIndex: 0, type: "delimiter.curly.hcl" }],
|
|
|
|
- },
|
|
|
|
- ],
|
|
|
|
|
|
+ [
|
|
|
|
+ {
|
|
|
|
+ line: 'output "web_ip" {',
|
|
|
|
+ tokens: [
|
|
|
|
+ { startIndex: 0, type: 'type.hcl' },
|
|
|
|
+ { startIndex: 6, type: '' },
|
|
|
|
+ { startIndex: 7, type: 'string.hcl' },
|
|
|
|
+ { startIndex: 15, type: '' },
|
|
|
|
+ { startIndex: 16, type: 'delimiter.curly.hcl' }
|
|
|
|
+ ]
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ line: 'value = "${aws_instance.web.private_ip}"',
|
|
|
|
+ tokens: [
|
|
|
|
+ { startIndex: 0, type: 'variable.hcl' },
|
|
|
|
+ { startIndex: 5, type: '' },
|
|
|
|
+ { startIndex: 6, type: 'operator.hcl' },
|
|
|
|
+ { startIndex: 7, type: '' },
|
|
|
|
+ { startIndex: 8, type: 'string.hcl' },
|
|
|
|
+ { startIndex: 9, type: 'delimiter.hcl' },
|
|
|
|
+ { startIndex: 11, type: 'variable.hcl' },
|
|
|
|
+ { startIndex: 23, type: 'delimiter.hcl' },
|
|
|
|
+ { startIndex: 24, type: 'variable.hcl' },
|
|
|
|
+ { startIndex: 27, type: 'delimiter.hcl' },
|
|
|
|
+ { startIndex: 28, type: 'variable.hcl' },
|
|
|
|
+ { startIndex: 38, type: 'delimiter.hcl' },
|
|
|
|
+ { startIndex: 39, type: 'string.hcl' }
|
|
|
|
+ ]
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ line: '}',
|
|
|
|
+ tokens: [{ startIndex: 0, type: 'delimiter.curly.hcl' }]
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
|
|
- [
|
|
|
|
- {
|
|
|
|
- line: 'foo = [1, 2, "foo"]',
|
|
|
|
- tokens: [
|
|
|
|
- { startIndex: 0, type: "variable.hcl" },
|
|
|
|
- { startIndex: 3, type: "" },
|
|
|
|
- { startIndex: 4, type: "operator.hcl" },
|
|
|
|
- { startIndex: 5, type: "" },
|
|
|
|
- { startIndex: 6, type: "delimiter.square.hcl" },
|
|
|
|
- { startIndex: 7, type: "number.hcl" },
|
|
|
|
- { startIndex: 8, type: "delimiter.hcl" },
|
|
|
|
- { startIndex: 9, type: "" },
|
|
|
|
- { startIndex: 10, type: "number.hcl" },
|
|
|
|
- { startIndex: 11, type: "delimiter.hcl" },
|
|
|
|
- { startIndex: 12, type: "" },
|
|
|
|
- { startIndex: 13, type: "string.hcl" },
|
|
|
|
- { startIndex: 18, type: "delimiter.square.hcl" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- ],
|
|
|
|
- [
|
|
|
|
- {
|
|
|
|
- line: 'foo = [1, 2, "foo",]',
|
|
|
|
- tokens: [
|
|
|
|
- { startIndex: 0, type: "variable.hcl" },
|
|
|
|
- { startIndex: 3, type: "" },
|
|
|
|
- { startIndex: 4, type: "operator.hcl" },
|
|
|
|
- { startIndex: 5, type: "" },
|
|
|
|
- { startIndex: 6, type: "delimiter.square.hcl" },
|
|
|
|
- { startIndex: 7, type: "number.hcl" },
|
|
|
|
- { startIndex: 8, type: "delimiter.hcl" },
|
|
|
|
- { startIndex: 9, type: "" },
|
|
|
|
- { startIndex: 10, type: "number.hcl" },
|
|
|
|
- { startIndex: 11, type: "delimiter.hcl" },
|
|
|
|
- { startIndex: 12, type: "" },
|
|
|
|
- { startIndex: 13, type: "string.hcl" },
|
|
|
|
- { startIndex: 18, type: "delimiter.hcl" },
|
|
|
|
- { startIndex: 19, type: "delimiter.square.hcl" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- ],
|
|
|
|
- /*
|
|
|
|
|
|
+ [
|
|
|
|
+ {
|
|
|
|
+ line: 'foo = [1, 2, "foo"]',
|
|
|
|
+ tokens: [
|
|
|
|
+ { startIndex: 0, type: 'variable.hcl' },
|
|
|
|
+ { startIndex: 3, type: '' },
|
|
|
|
+ { startIndex: 4, type: 'operator.hcl' },
|
|
|
|
+ { startIndex: 5, type: '' },
|
|
|
|
+ { startIndex: 6, type: 'delimiter.square.hcl' },
|
|
|
|
+ { startIndex: 7, type: 'number.hcl' },
|
|
|
|
+ { startIndex: 8, type: 'delimiter.hcl' },
|
|
|
|
+ { startIndex: 9, type: '' },
|
|
|
|
+ { startIndex: 10, type: 'number.hcl' },
|
|
|
|
+ { startIndex: 11, type: 'delimiter.hcl' },
|
|
|
|
+ { startIndex: 12, type: '' },
|
|
|
|
+ { startIndex: 13, type: 'string.hcl' },
|
|
|
|
+ { startIndex: 18, type: 'delimiter.square.hcl' }
|
|
|
|
+ ]
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
+ [
|
|
|
|
+ {
|
|
|
|
+ line: 'foo = [1, 2, "foo",]',
|
|
|
|
+ tokens: [
|
|
|
|
+ { startIndex: 0, type: 'variable.hcl' },
|
|
|
|
+ { startIndex: 3, type: '' },
|
|
|
|
+ { startIndex: 4, type: 'operator.hcl' },
|
|
|
|
+ { startIndex: 5, type: '' },
|
|
|
|
+ { startIndex: 6, type: 'delimiter.square.hcl' },
|
|
|
|
+ { startIndex: 7, type: 'number.hcl' },
|
|
|
|
+ { startIndex: 8, type: 'delimiter.hcl' },
|
|
|
|
+ { startIndex: 9, type: '' },
|
|
|
|
+ { startIndex: 10, type: 'number.hcl' },
|
|
|
|
+ { startIndex: 11, type: 'delimiter.hcl' },
|
|
|
|
+ { startIndex: 12, type: '' },
|
|
|
|
+ { startIndex: 13, type: 'string.hcl' },
|
|
|
|
+ { startIndex: 18, type: 'delimiter.hcl' },
|
|
|
|
+ { startIndex: 19, type: 'delimiter.square.hcl' }
|
|
|
|
+ ]
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
+ /*
|
|
default = {
|
|
default = {
|
|
"eu-west-1": "ami-b1cf19c6",
|
|
"eu-west-1": "ami-b1cf19c6",
|
|
}
|
|
}
|
|
*/
|
|
*/
|
|
- [
|
|
|
|
- {
|
|
|
|
- line: "default = {",
|
|
|
|
- tokens: [
|
|
|
|
- { startIndex: 0, type: "variable.hcl" },
|
|
|
|
- { startIndex: 7, type: "" },
|
|
|
|
- { startIndex: 8, type: "operator.hcl" },
|
|
|
|
- { startIndex: 9, type: "" },
|
|
|
|
- { startIndex: 10, type: "delimiter.curly.hcl" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- line: ' "eu-west-1": "ami-b1cf19c6",',
|
|
|
|
- tokens: [
|
|
|
|
- { startIndex: 0, type: "" },
|
|
|
|
- { startIndex: 2, type: "string.hcl" },
|
|
|
|
- { startIndex: 13, type: "operator.hcl" },
|
|
|
|
- { startIndex: 14, type: "" },
|
|
|
|
- { startIndex: 15, type: "string.hcl" },
|
|
|
|
- { startIndex: 29, type: "delimiter.hcl" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- line: "}",
|
|
|
|
- tokens: [{ startIndex: 0, type: "delimiter.curly.hcl" }],
|
|
|
|
- },
|
|
|
|
- ],
|
|
|
|
- [
|
|
|
|
- {
|
|
|
|
- line: 'resource "foo" "bar" {}',
|
|
|
|
- tokens: [
|
|
|
|
- { startIndex: 0, type: "type.hcl" },
|
|
|
|
- { startIndex: 8, type: "" },
|
|
|
|
- { startIndex: 9, type: "string.hcl" },
|
|
|
|
- { startIndex: 14, type: "" },
|
|
|
|
- { startIndex: 15, type: "string.hcl" },
|
|
|
|
- { startIndex: 20, type: "" },
|
|
|
|
- { startIndex: 21, type: "delimiter.curly.hcl" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- ],
|
|
|
|
- [
|
|
|
|
- {
|
|
|
|
- line: 'foo = "bar"',
|
|
|
|
- tokens: [
|
|
|
|
- { startIndex: 0, type: "variable.hcl" },
|
|
|
|
- { startIndex: 3, type: "" },
|
|
|
|
- { startIndex: 4, type: "operator.hcl" },
|
|
|
|
- { startIndex: 5, type: "" },
|
|
|
|
- { startIndex: 6, type: "string.hcl" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- ],
|
|
|
|
- [
|
|
|
|
- {
|
|
|
|
- line: "bar = 7",
|
|
|
|
- tokens: [
|
|
|
|
- { startIndex: 0, type: "variable.hcl" },
|
|
|
|
- { startIndex: 3, type: "" },
|
|
|
|
- { startIndex: 4, type: "operator.hcl" },
|
|
|
|
- { startIndex: 5, type: "" },
|
|
|
|
- { startIndex: 6, type: "number.hcl" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- ],
|
|
|
|
- [
|
|
|
|
- {
|
|
|
|
- line: "baz = [1,2,3]",
|
|
|
|
- tokens: [
|
|
|
|
- { startIndex: 0, type: "variable.hcl" },
|
|
|
|
- { startIndex: 3, type: "" },
|
|
|
|
- { startIndex: 4, type: "operator.hcl" },
|
|
|
|
- { startIndex: 5, type: "" },
|
|
|
|
- { startIndex: 6, type: "delimiter.square.hcl" },
|
|
|
|
- { startIndex: 7, type: "number.hcl" },
|
|
|
|
- { startIndex: 8, type: "delimiter.hcl" },
|
|
|
|
- { startIndex: 9, type: "number.hcl" },
|
|
|
|
- { startIndex: 10, type: "delimiter.hcl" },
|
|
|
|
- { startIndex: 11, type: "number.hcl" },
|
|
|
|
- { startIndex: 12, type: "delimiter.square.hcl" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- ],
|
|
|
|
- [
|
|
|
|
- {
|
|
|
|
- line: "foo = -12",
|
|
|
|
- tokens: [
|
|
|
|
- { startIndex: 0, type: "variable.hcl" },
|
|
|
|
- { startIndex: 3, type: "" },
|
|
|
|
- { startIndex: 4, type: "operator.hcl" },
|
|
|
|
- { startIndex: 5, type: "" },
|
|
|
|
- { startIndex: 6, type: "operator.hcl" },
|
|
|
|
- { startIndex: 7, type: "number.hcl" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- ],
|
|
|
|
- [
|
|
|
|
- {
|
|
|
|
- line: "bar = 3.14159",
|
|
|
|
- tokens: [
|
|
|
|
- { startIndex: 0, type: "variable.hcl" },
|
|
|
|
- { startIndex: 3, type: "" },
|
|
|
|
- { startIndex: 4, type: "operator.hcl" },
|
|
|
|
- { startIndex: 5, type: "" },
|
|
|
|
- { startIndex: 6, type: "number.float.hcl" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- ],
|
|
|
|
- [
|
|
|
|
- {
|
|
|
|
- line: "foo = true",
|
|
|
|
- tokens: [
|
|
|
|
- { startIndex: 0, type: "variable.hcl" },
|
|
|
|
- { startIndex: 3, type: "" },
|
|
|
|
- { startIndex: 4, type: "operator.hcl" },
|
|
|
|
- { startIndex: 5, type: "" },
|
|
|
|
- { startIndex: 6, type: "keyword.true.hcl" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- ],
|
|
|
|
- [
|
|
|
|
- {
|
|
|
|
- line: "bar = false",
|
|
|
|
- tokens: [
|
|
|
|
- { startIndex: 0, type: "variable.hcl" },
|
|
|
|
- { startIndex: 3, type: "" },
|
|
|
|
- { startIndex: 4, type: "operator.hcl" },
|
|
|
|
- { startIndex: 5, type: "" },
|
|
|
|
- { startIndex: 6, type: "keyword.false.hcl" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- ],
|
|
|
|
- /*
|
|
|
|
|
|
+ [
|
|
|
|
+ {
|
|
|
|
+ line: 'default = {',
|
|
|
|
+ tokens: [
|
|
|
|
+ { startIndex: 0, type: 'variable.hcl' },
|
|
|
|
+ { startIndex: 7, type: '' },
|
|
|
|
+ { startIndex: 8, type: 'operator.hcl' },
|
|
|
|
+ { startIndex: 9, type: '' },
|
|
|
|
+ { startIndex: 10, type: 'delimiter.curly.hcl' }
|
|
|
|
+ ]
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ line: ' "eu-west-1": "ami-b1cf19c6",',
|
|
|
|
+ tokens: [
|
|
|
|
+ { startIndex: 0, type: '' },
|
|
|
|
+ { startIndex: 2, type: 'string.hcl' },
|
|
|
|
+ { startIndex: 13, type: 'operator.hcl' },
|
|
|
|
+ { startIndex: 14, type: '' },
|
|
|
|
+ { startIndex: 15, type: 'string.hcl' },
|
|
|
|
+ { startIndex: 29, type: 'delimiter.hcl' }
|
|
|
|
+ ]
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ line: '}',
|
|
|
|
+ tokens: [{ startIndex: 0, type: 'delimiter.curly.hcl' }]
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
+ [
|
|
|
|
+ {
|
|
|
|
+ line: 'resource "foo" "bar" {}',
|
|
|
|
+ tokens: [
|
|
|
|
+ { startIndex: 0, type: 'type.hcl' },
|
|
|
|
+ { startIndex: 8, type: '' },
|
|
|
|
+ { startIndex: 9, type: 'string.hcl' },
|
|
|
|
+ { startIndex: 14, type: '' },
|
|
|
|
+ { startIndex: 15, type: 'string.hcl' },
|
|
|
|
+ { startIndex: 20, type: '' },
|
|
|
|
+ { startIndex: 21, type: 'delimiter.curly.hcl' }
|
|
|
|
+ ]
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
+ [
|
|
|
|
+ {
|
|
|
|
+ line: 'foo = "bar"',
|
|
|
|
+ tokens: [
|
|
|
|
+ { startIndex: 0, type: 'variable.hcl' },
|
|
|
|
+ { startIndex: 3, type: '' },
|
|
|
|
+ { startIndex: 4, type: 'operator.hcl' },
|
|
|
|
+ { startIndex: 5, type: '' },
|
|
|
|
+ { startIndex: 6, type: 'string.hcl' }
|
|
|
|
+ ]
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
+ [
|
|
|
|
+ {
|
|
|
|
+ line: 'bar = 7',
|
|
|
|
+ tokens: [
|
|
|
|
+ { startIndex: 0, type: 'variable.hcl' },
|
|
|
|
+ { startIndex: 3, type: '' },
|
|
|
|
+ { startIndex: 4, type: 'operator.hcl' },
|
|
|
|
+ { startIndex: 5, type: '' },
|
|
|
|
+ { startIndex: 6, type: 'number.hcl' }
|
|
|
|
+ ]
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
+ [
|
|
|
|
+ {
|
|
|
|
+ line: 'baz = [1,2,3]',
|
|
|
|
+ tokens: [
|
|
|
|
+ { startIndex: 0, type: 'variable.hcl' },
|
|
|
|
+ { startIndex: 3, type: '' },
|
|
|
|
+ { startIndex: 4, type: 'operator.hcl' },
|
|
|
|
+ { startIndex: 5, type: '' },
|
|
|
|
+ { startIndex: 6, type: 'delimiter.square.hcl' },
|
|
|
|
+ { startIndex: 7, type: 'number.hcl' },
|
|
|
|
+ { startIndex: 8, type: 'delimiter.hcl' },
|
|
|
|
+ { startIndex: 9, type: 'number.hcl' },
|
|
|
|
+ { startIndex: 10, type: 'delimiter.hcl' },
|
|
|
|
+ { startIndex: 11, type: 'number.hcl' },
|
|
|
|
+ { startIndex: 12, type: 'delimiter.square.hcl' }
|
|
|
|
+ ]
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
+ [
|
|
|
|
+ {
|
|
|
|
+ line: 'foo = -12',
|
|
|
|
+ tokens: [
|
|
|
|
+ { startIndex: 0, type: 'variable.hcl' },
|
|
|
|
+ { startIndex: 3, type: '' },
|
|
|
|
+ { startIndex: 4, type: 'operator.hcl' },
|
|
|
|
+ { startIndex: 5, type: '' },
|
|
|
|
+ { startIndex: 6, type: 'operator.hcl' },
|
|
|
|
+ { startIndex: 7, type: 'number.hcl' }
|
|
|
|
+ ]
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
+ [
|
|
|
|
+ {
|
|
|
|
+ line: 'bar = 3.14159',
|
|
|
|
+ tokens: [
|
|
|
|
+ { startIndex: 0, type: 'variable.hcl' },
|
|
|
|
+ { startIndex: 3, type: '' },
|
|
|
|
+ { startIndex: 4, type: 'operator.hcl' },
|
|
|
|
+ { startIndex: 5, type: '' },
|
|
|
|
+ { startIndex: 6, type: 'number.float.hcl' }
|
|
|
|
+ ]
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
+ [
|
|
|
|
+ {
|
|
|
|
+ line: 'foo = true',
|
|
|
|
+ tokens: [
|
|
|
|
+ { startIndex: 0, type: 'variable.hcl' },
|
|
|
|
+ { startIndex: 3, type: '' },
|
|
|
|
+ { startIndex: 4, type: 'operator.hcl' },
|
|
|
|
+ { startIndex: 5, type: '' },
|
|
|
|
+ { startIndex: 6, type: 'keyword.true.hcl' }
|
|
|
|
+ ]
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
+ [
|
|
|
|
+ {
|
|
|
|
+ line: 'bar = false',
|
|
|
|
+ tokens: [
|
|
|
|
+ { startIndex: 0, type: 'variable.hcl' },
|
|
|
|
+ { startIndex: 3, type: '' },
|
|
|
|
+ { startIndex: 4, type: 'operator.hcl' },
|
|
|
|
+ { startIndex: 5, type: '' },
|
|
|
|
+ { startIndex: 6, type: 'keyword.false.hcl' }
|
|
|
|
+ ]
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
+ /*
|
|
resource = [{
|
|
resource = [{
|
|
foo = [{
|
|
foo = [{
|
|
bar = {}
|
|
bar = {}
|
|
}]
|
|
}]
|
|
}]
|
|
}]
|
|
*/
|
|
*/
|
|
- [
|
|
|
|
- {
|
|
|
|
- line: "resource = [{",
|
|
|
|
- tokens: [
|
|
|
|
- { startIndex: 0, type: "variable.hcl" },
|
|
|
|
- { startIndex: 8, type: "" },
|
|
|
|
- { startIndex: 9, type: "operator.hcl" },
|
|
|
|
- { startIndex: 10, type: "" },
|
|
|
|
- { startIndex: 11, type: "delimiter.square.hcl" },
|
|
|
|
- { startIndex: 12, type: "delimiter.curly.hcl" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- line: " foo = [{",
|
|
|
|
- tokens: [
|
|
|
|
- { startIndex: 0, type: "" },
|
|
|
|
- { startIndex: 2, type: "variable.hcl" },
|
|
|
|
- { startIndex: 5, type: "" },
|
|
|
|
- { startIndex: 6, type: "operator.hcl" },
|
|
|
|
- { startIndex: 7, type: "" },
|
|
|
|
- { startIndex: 8, type: "delimiter.square.hcl" },
|
|
|
|
- { startIndex: 9, type: "delimiter.curly.hcl" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- line: " bar = {}",
|
|
|
|
- tokens: [
|
|
|
|
- { startIndex: 0, type: "" },
|
|
|
|
- { startIndex: 4, type: "variable.hcl" },
|
|
|
|
- { startIndex: 7, type: "" },
|
|
|
|
- { startIndex: 8, type: "operator.hcl" },
|
|
|
|
- { startIndex: 9, type: "" },
|
|
|
|
- { startIndex: 10, type: "delimiter.curly.hcl" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- line: " }]",
|
|
|
|
- tokens: [
|
|
|
|
- { startIndex: 0, type: "" },
|
|
|
|
- { startIndex: 2, type: "delimiter.curly.hcl" },
|
|
|
|
- { startIndex: 3, type: "delimiter.square.hcl" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- line: "}]",
|
|
|
|
- tokens: [
|
|
|
|
- { startIndex: 0, type: "delimiter.curly.hcl" },
|
|
|
|
- { startIndex: 1, type: "delimiter.square.hcl" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- ],
|
|
|
|
- [
|
|
|
|
- {
|
|
|
|
- line: 'bar = "${file("bing/bong.txt")}"',
|
|
|
|
- tokens: [
|
|
|
|
- { startIndex: 0, type: "variable.hcl" },
|
|
|
|
- { startIndex: 3, type: "" },
|
|
|
|
- { startIndex: 4, type: "operator.hcl" },
|
|
|
|
- { startIndex: 5, type: "" },
|
|
|
|
- { startIndex: 6, type: "string.hcl" },
|
|
|
|
- { startIndex: 7, type: "delimiter.hcl" },
|
|
|
|
- { startIndex: 9, type: "type.hcl" },
|
|
|
|
- { startIndex: 13, type: "delimiter.parenthesis.hcl" },
|
|
|
|
- { startIndex: 14, type: "string.hcl" },
|
|
|
|
- { startIndex: 29, type: "delimiter.parenthesis.hcl" },
|
|
|
|
- { startIndex: 30, type: "delimiter.hcl" },
|
|
|
|
- { startIndex: 31, type: "string.hcl" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- ],
|
|
|
|
- [
|
|
|
|
- {
|
|
|
|
- line: 'foo-bar="baz"',
|
|
|
|
- tokens: [
|
|
|
|
- { startIndex: 0, type: "variable.hcl" },
|
|
|
|
- { startIndex: 7, type: "operator.hcl" },
|
|
|
|
- { startIndex: 8, type: "string.hcl" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- ],
|
|
|
|
- /*
|
|
|
|
|
|
+ [
|
|
|
|
+ {
|
|
|
|
+ line: 'resource = [{',
|
|
|
|
+ tokens: [
|
|
|
|
+ { startIndex: 0, type: 'variable.hcl' },
|
|
|
|
+ { startIndex: 8, type: '' },
|
|
|
|
+ { startIndex: 9, type: 'operator.hcl' },
|
|
|
|
+ { startIndex: 10, type: '' },
|
|
|
|
+ { startIndex: 11, type: 'delimiter.square.hcl' },
|
|
|
|
+ { startIndex: 12, type: 'delimiter.curly.hcl' }
|
|
|
|
+ ]
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ line: ' foo = [{',
|
|
|
|
+ tokens: [
|
|
|
|
+ { startIndex: 0, type: '' },
|
|
|
|
+ { startIndex: 2, type: 'variable.hcl' },
|
|
|
|
+ { startIndex: 5, type: '' },
|
|
|
|
+ { startIndex: 6, type: 'operator.hcl' },
|
|
|
|
+ { startIndex: 7, type: '' },
|
|
|
|
+ { startIndex: 8, type: 'delimiter.square.hcl' },
|
|
|
|
+ { startIndex: 9, type: 'delimiter.curly.hcl' }
|
|
|
|
+ ]
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ line: ' bar = {}',
|
|
|
|
+ tokens: [
|
|
|
|
+ { startIndex: 0, type: '' },
|
|
|
|
+ { startIndex: 4, type: 'variable.hcl' },
|
|
|
|
+ { startIndex: 7, type: '' },
|
|
|
|
+ { startIndex: 8, type: 'operator.hcl' },
|
|
|
|
+ { startIndex: 9, type: '' },
|
|
|
|
+ { startIndex: 10, type: 'delimiter.curly.hcl' }
|
|
|
|
+ ]
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ line: ' }]',
|
|
|
|
+ tokens: [
|
|
|
|
+ { startIndex: 0, type: '' },
|
|
|
|
+ { startIndex: 2, type: 'delimiter.curly.hcl' },
|
|
|
|
+ { startIndex: 3, type: 'delimiter.square.hcl' }
|
|
|
|
+ ]
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ line: '}]',
|
|
|
|
+ tokens: [
|
|
|
|
+ { startIndex: 0, type: 'delimiter.curly.hcl' },
|
|
|
|
+ { startIndex: 1, type: 'delimiter.square.hcl' }
|
|
|
|
+ ]
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
+ [
|
|
|
|
+ {
|
|
|
|
+ line: 'bar = "${file("bing/bong.txt")}"',
|
|
|
|
+ tokens: [
|
|
|
|
+ { startIndex: 0, type: 'variable.hcl' },
|
|
|
|
+ { startIndex: 3, type: '' },
|
|
|
|
+ { startIndex: 4, type: 'operator.hcl' },
|
|
|
|
+ { startIndex: 5, type: '' },
|
|
|
|
+ { startIndex: 6, type: 'string.hcl' },
|
|
|
|
+ { startIndex: 7, type: 'delimiter.hcl' },
|
|
|
|
+ { startIndex: 9, type: 'type.hcl' },
|
|
|
|
+ { startIndex: 13, type: 'delimiter.parenthesis.hcl' },
|
|
|
|
+ { startIndex: 14, type: 'string.hcl' },
|
|
|
|
+ { startIndex: 29, type: 'delimiter.parenthesis.hcl' },
|
|
|
|
+ { startIndex: 30, type: 'delimiter.hcl' },
|
|
|
|
+ { startIndex: 31, type: 'string.hcl' }
|
|
|
|
+ ]
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
+ [
|
|
|
|
+ {
|
|
|
|
+ line: 'foo-bar="baz"',
|
|
|
|
+ tokens: [
|
|
|
|
+ { startIndex: 0, type: 'variable.hcl' },
|
|
|
|
+ { startIndex: 7, type: 'operator.hcl' },
|
|
|
|
+ { startIndex: 8, type: 'string.hcl' }
|
|
|
|
+ ]
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
+ /*
|
|
key "foo/" {
|
|
key "foo/" {
|
|
policy = "write"
|
|
policy = "write"
|
|
}
|
|
}
|
|
*/
|
|
*/
|
|
- [
|
|
|
|
- {
|
|
|
|
- line: 'key "foo/" {',
|
|
|
|
- tokens: [
|
|
|
|
- { startIndex: 0, type: "variable.hcl" },
|
|
|
|
- { startIndex: 3, type: "" },
|
|
|
|
- { startIndex: 4, type: "string.hcl" },
|
|
|
|
- { startIndex: 10, type: "" },
|
|
|
|
- { startIndex: 11, type: "delimiter.curly.hcl" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- line: ' policy = "write"',
|
|
|
|
- tokens: [
|
|
|
|
- { startIndex: 0, type: "" },
|
|
|
|
- { startIndex: 2, type: "variable.hcl" },
|
|
|
|
- { startIndex: 8, type: "" },
|
|
|
|
- { startIndex: 9, type: "operator.hcl" },
|
|
|
|
- { startIndex: 10, type: "" },
|
|
|
|
- { startIndex: 11, type: "string.hcl" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- line: "}",
|
|
|
|
- tokens: [{ startIndex: 0, type: "delimiter.curly.hcl" }],
|
|
|
|
- },
|
|
|
|
- ],
|
|
|
|
- [
|
|
|
|
- {
|
|
|
|
- line: 'foo = "bar\\"baz\\\\n"',
|
|
|
|
- tokens: [
|
|
|
|
- { startIndex: 0, type: "variable.hcl" },
|
|
|
|
- { startIndex: 3, type: "" },
|
|
|
|
- { startIndex: 4, type: "operator.hcl" },
|
|
|
|
- { startIndex: 5, type: "" },
|
|
|
|
- { startIndex: 6, type: "string.hcl" },
|
|
|
|
- { startIndex: 10, type: "string.escape.hcl" },
|
|
|
|
- { startIndex: 12, type: "string.hcl" },
|
|
|
|
- { startIndex: 15, type: "string.escape.hcl" },
|
|
|
|
- { startIndex: 17, type: "string.hcl" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- ],
|
|
|
|
- [
|
|
|
|
- {
|
|
|
|
- line: 'bar = "new\\nline"',
|
|
|
|
- tokens: [
|
|
|
|
- { startIndex: 0, type: "variable.hcl" },
|
|
|
|
- { startIndex: 3, type: "" },
|
|
|
|
- { startIndex: 4, type: "operator.hcl" },
|
|
|
|
- { startIndex: 5, type: "" },
|
|
|
|
- { startIndex: 6, type: "string.hcl" },
|
|
|
|
- { startIndex: 10, type: "string.escape.hcl" },
|
|
|
|
- { startIndex: 12, type: "string.hcl" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- ],
|
|
|
|
- [
|
|
|
|
- {
|
|
|
|
- line: 'qux = "back\\\\slash"',
|
|
|
|
- tokens: [
|
|
|
|
- { startIndex: 0, type: "variable.hcl" },
|
|
|
|
- { startIndex: 3, type: "" },
|
|
|
|
- { startIndex: 4, type: "operator.hcl" },
|
|
|
|
- { startIndex: 5, type: "" },
|
|
|
|
- { startIndex: 6, type: "string.hcl" },
|
|
|
|
- { startIndex: 11, type: "string.escape.hcl" },
|
|
|
|
- { startIndex: 13, type: "string.hcl" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- ],
|
|
|
|
- [
|
|
|
|
- {
|
|
|
|
- line: 'qax = "slash\\\\:colon"',
|
|
|
|
- tokens: [
|
|
|
|
- { startIndex: 0, type: "variable.hcl" },
|
|
|
|
- { startIndex: 3, type: "" },
|
|
|
|
- { startIndex: 4, type: "operator.hcl" },
|
|
|
|
- { startIndex: 5, type: "" },
|
|
|
|
- { startIndex: 6, type: "string.hcl" },
|
|
|
|
- { startIndex: 12, type: "string.escape.hcl" },
|
|
|
|
- { startIndex: 14, type: "string.hcl" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- ],
|
|
|
|
- [
|
|
|
|
- {
|
|
|
|
- line: 'nested = "${HH\\\\:mm\\\\:ss}"',
|
|
|
|
- tokens: [
|
|
|
|
- { startIndex: 0, type: "variable.hcl" },
|
|
|
|
- { startIndex: 6, type: "" },
|
|
|
|
- { startIndex: 7, type: "operator.hcl" },
|
|
|
|
- { startIndex: 8, type: "" },
|
|
|
|
- { startIndex: 9, type: "string.hcl" },
|
|
|
|
- { startIndex: 10, type: "delimiter.hcl" },
|
|
|
|
- { startIndex: 12, type: "variable.hcl" },
|
|
|
|
- { startIndex: 14, type: "" },
|
|
|
|
- { startIndex: 16, type: "operator.hcl" },
|
|
|
|
- { startIndex: 17, type: "variable.hcl" },
|
|
|
|
- { startIndex: 19, type: "" },
|
|
|
|
- { startIndex: 21, type: "operator.hcl" },
|
|
|
|
- { startIndex: 22, type: "variable.hcl" },
|
|
|
|
- { startIndex: 24, type: "delimiter.hcl" },
|
|
|
|
- { startIndex: 25, type: "string.hcl" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- ],
|
|
|
|
- [
|
|
|
|
- {
|
|
|
|
- line: 'nestedquotes = "${"\\"stringwrappedinquotes\\""}"',
|
|
|
|
- tokens: [
|
|
|
|
- { startIndex: 0, type: "variable.hcl" },
|
|
|
|
- { startIndex: 12, type: "" },
|
|
|
|
- { startIndex: 13, type: "operator.hcl" },
|
|
|
|
- { startIndex: 14, type: "" },
|
|
|
|
- { startIndex: 15, type: "string.hcl" },
|
|
|
|
- { startIndex: 16, type: "delimiter.hcl" },
|
|
|
|
- { startIndex: 18, type: "string.hcl" },
|
|
|
|
- { startIndex: 19, type: "string.escape.hcl" },
|
|
|
|
- { startIndex: 21, type: "string.hcl" },
|
|
|
|
- { startIndex: 42, type: "string.escape.hcl" },
|
|
|
|
- { startIndex: 44, type: "string.hcl" },
|
|
|
|
- { startIndex: 45, type: "delimiter.hcl" },
|
|
|
|
- { startIndex: 46, type: "string.hcl" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- ],
|
|
|
|
- /*
|
|
|
|
|
|
+ [
|
|
|
|
+ {
|
|
|
|
+ line: 'key "foo/" {',
|
|
|
|
+ tokens: [
|
|
|
|
+ { startIndex: 0, type: 'variable.hcl' },
|
|
|
|
+ { startIndex: 3, type: '' },
|
|
|
|
+ { startIndex: 4, type: 'string.hcl' },
|
|
|
|
+ { startIndex: 10, type: '' },
|
|
|
|
+ { startIndex: 11, type: 'delimiter.curly.hcl' }
|
|
|
|
+ ]
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ line: ' policy = "write"',
|
|
|
|
+ tokens: [
|
|
|
|
+ { startIndex: 0, type: '' },
|
|
|
|
+ { startIndex: 2, type: 'variable.hcl' },
|
|
|
|
+ { startIndex: 8, type: '' },
|
|
|
|
+ { startIndex: 9, type: 'operator.hcl' },
|
|
|
|
+ { startIndex: 10, type: '' },
|
|
|
|
+ { startIndex: 11, type: 'string.hcl' }
|
|
|
|
+ ]
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ line: '}',
|
|
|
|
+ tokens: [{ startIndex: 0, type: 'delimiter.curly.hcl' }]
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
+ [
|
|
|
|
+ {
|
|
|
|
+ line: 'foo = "bar\\"baz\\\\n"',
|
|
|
|
+ tokens: [
|
|
|
|
+ { startIndex: 0, type: 'variable.hcl' },
|
|
|
|
+ { startIndex: 3, type: '' },
|
|
|
|
+ { startIndex: 4, type: 'operator.hcl' },
|
|
|
|
+ { startIndex: 5, type: '' },
|
|
|
|
+ { startIndex: 6, type: 'string.hcl' },
|
|
|
|
+ { startIndex: 10, type: 'string.escape.hcl' },
|
|
|
|
+ { startIndex: 12, type: 'string.hcl' },
|
|
|
|
+ { startIndex: 15, type: 'string.escape.hcl' },
|
|
|
|
+ { startIndex: 17, type: 'string.hcl' }
|
|
|
|
+ ]
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
+ [
|
|
|
|
+ {
|
|
|
|
+ line: 'bar = "new\\nline"',
|
|
|
|
+ tokens: [
|
|
|
|
+ { startIndex: 0, type: 'variable.hcl' },
|
|
|
|
+ { startIndex: 3, type: '' },
|
|
|
|
+ { startIndex: 4, type: 'operator.hcl' },
|
|
|
|
+ { startIndex: 5, type: '' },
|
|
|
|
+ { startIndex: 6, type: 'string.hcl' },
|
|
|
|
+ { startIndex: 10, type: 'string.escape.hcl' },
|
|
|
|
+ { startIndex: 12, type: 'string.hcl' }
|
|
|
|
+ ]
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
+ [
|
|
|
|
+ {
|
|
|
|
+ line: 'qux = "back\\\\slash"',
|
|
|
|
+ tokens: [
|
|
|
|
+ { startIndex: 0, type: 'variable.hcl' },
|
|
|
|
+ { startIndex: 3, type: '' },
|
|
|
|
+ { startIndex: 4, type: 'operator.hcl' },
|
|
|
|
+ { startIndex: 5, type: '' },
|
|
|
|
+ { startIndex: 6, type: 'string.hcl' },
|
|
|
|
+ { startIndex: 11, type: 'string.escape.hcl' },
|
|
|
|
+ { startIndex: 13, type: 'string.hcl' }
|
|
|
|
+ ]
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
+ [
|
|
|
|
+ {
|
|
|
|
+ line: 'qax = "slash\\\\:colon"',
|
|
|
|
+ tokens: [
|
|
|
|
+ { startIndex: 0, type: 'variable.hcl' },
|
|
|
|
+ { startIndex: 3, type: '' },
|
|
|
|
+ { startIndex: 4, type: 'operator.hcl' },
|
|
|
|
+ { startIndex: 5, type: '' },
|
|
|
|
+ { startIndex: 6, type: 'string.hcl' },
|
|
|
|
+ { startIndex: 12, type: 'string.escape.hcl' },
|
|
|
|
+ { startIndex: 14, type: 'string.hcl' }
|
|
|
|
+ ]
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
+ [
|
|
|
|
+ {
|
|
|
|
+ line: 'nested = "${HH\\\\:mm\\\\:ss}"',
|
|
|
|
+ tokens: [
|
|
|
|
+ { startIndex: 0, type: 'variable.hcl' },
|
|
|
|
+ { startIndex: 6, type: '' },
|
|
|
|
+ { startIndex: 7, type: 'operator.hcl' },
|
|
|
|
+ { startIndex: 8, type: '' },
|
|
|
|
+ { startIndex: 9, type: 'string.hcl' },
|
|
|
|
+ { startIndex: 10, type: 'delimiter.hcl' },
|
|
|
|
+ { startIndex: 12, type: 'variable.hcl' },
|
|
|
|
+ { startIndex: 14, type: '' },
|
|
|
|
+ { startIndex: 16, type: 'operator.hcl' },
|
|
|
|
+ { startIndex: 17, type: 'variable.hcl' },
|
|
|
|
+ { startIndex: 19, type: '' },
|
|
|
|
+ { startIndex: 21, type: 'operator.hcl' },
|
|
|
|
+ { startIndex: 22, type: 'variable.hcl' },
|
|
|
|
+ { startIndex: 24, type: 'delimiter.hcl' },
|
|
|
|
+ { startIndex: 25, type: 'string.hcl' }
|
|
|
|
+ ]
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
+ [
|
|
|
|
+ {
|
|
|
|
+ line: 'nestedquotes = "${"\\"stringwrappedinquotes\\""}"',
|
|
|
|
+ tokens: [
|
|
|
|
+ { startIndex: 0, type: 'variable.hcl' },
|
|
|
|
+ { startIndex: 12, type: '' },
|
|
|
|
+ { startIndex: 13, type: 'operator.hcl' },
|
|
|
|
+ { startIndex: 14, type: '' },
|
|
|
|
+ { startIndex: 15, type: 'string.hcl' },
|
|
|
|
+ { startIndex: 16, type: 'delimiter.hcl' },
|
|
|
|
+ { startIndex: 18, type: 'string.hcl' },
|
|
|
|
+ { startIndex: 19, type: 'string.escape.hcl' },
|
|
|
|
+ { startIndex: 21, type: 'string.hcl' },
|
|
|
|
+ { startIndex: 42, type: 'string.escape.hcl' },
|
|
|
|
+ { startIndex: 44, type: 'string.hcl' },
|
|
|
|
+ { startIndex: 45, type: 'delimiter.hcl' },
|
|
|
|
+ { startIndex: 46, type: 'string.hcl' }
|
|
|
|
+ ]
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
+ /*
|
|
foo = <<EOF
|
|
foo = <<EOF
|
|
bar
|
|
bar
|
|
EOF
|
|
EOF
|
|
*/
|
|
*/
|
|
- [
|
|
|
|
- {
|
|
|
|
- line: "foo = <<EOF",
|
|
|
|
- tokens: [
|
|
|
|
- { startIndex: 0, type: "variable.hcl" },
|
|
|
|
- { startIndex: 3, type: "" },
|
|
|
|
- { startIndex: 4, type: "operator.hcl" },
|
|
|
|
- { startIndex: 5, type: "" },
|
|
|
|
- { startIndex: 6, type: "string.heredoc.delimiter.hcl" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- line: "bar",
|
|
|
|
- tokens: [{ startIndex: 0, type: "string.heredoc.hcl" }],
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- line: "EOF",
|
|
|
|
- tokens: [{ startIndex: 0, type: "string.heredoc.delimiter.hcl" }],
|
|
|
|
- },
|
|
|
|
- ],
|
|
|
|
- [
|
|
|
|
- {
|
|
|
|
- line: "foo = <EOF",
|
|
|
|
- tokens: [
|
|
|
|
- { startIndex: 0, type: "variable.hcl" },
|
|
|
|
- { startIndex: 3, type: "" },
|
|
|
|
- { startIndex: 4, type: "operator.hcl" },
|
|
|
|
- { startIndex: 5, type: "" },
|
|
|
|
- { startIndex: 6, type: "delimiter.angle.hcl" },
|
|
|
|
- { startIndex: 7, type: "variable.hcl" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- ],
|
|
|
|
- [
|
|
|
|
- {
|
|
|
|
- line: "foo = <<-EOF",
|
|
|
|
- tokens: [
|
|
|
|
- { startIndex: 0, type: "variable.hcl" },
|
|
|
|
- { startIndex: 3, type: "" },
|
|
|
|
- { startIndex: 4, type: "operator.hcl" },
|
|
|
|
- { startIndex: 5, type: "" },
|
|
|
|
- { startIndex: 6, type: "string.heredoc.delimiter.hcl" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- ],
|
|
|
|
- /*
|
|
|
|
|
|
+ [
|
|
|
|
+ {
|
|
|
|
+ line: 'foo = <<EOF',
|
|
|
|
+ tokens: [
|
|
|
|
+ { startIndex: 0, type: 'variable.hcl' },
|
|
|
|
+ { startIndex: 3, type: '' },
|
|
|
|
+ { startIndex: 4, type: 'operator.hcl' },
|
|
|
|
+ { startIndex: 5, type: '' },
|
|
|
|
+ { startIndex: 6, type: 'string.heredoc.delimiter.hcl' }
|
|
|
|
+ ]
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ line: 'bar',
|
|
|
|
+ tokens: [{ startIndex: 0, type: 'string.heredoc.hcl' }]
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ line: 'EOF',
|
|
|
|
+ tokens: [{ startIndex: 0, type: 'string.heredoc.delimiter.hcl' }]
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
+ [
|
|
|
|
+ {
|
|
|
|
+ line: 'foo = <EOF',
|
|
|
|
+ tokens: [
|
|
|
|
+ { startIndex: 0, type: 'variable.hcl' },
|
|
|
|
+ { startIndex: 3, type: '' },
|
|
|
|
+ { startIndex: 4, type: 'operator.hcl' },
|
|
|
|
+ { startIndex: 5, type: '' },
|
|
|
|
+ { startIndex: 6, type: 'delimiter.angle.hcl' },
|
|
|
|
+ { startIndex: 7, type: 'variable.hcl' }
|
|
|
|
+ ]
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
+ [
|
|
|
|
+ {
|
|
|
|
+ line: 'foo = <<-EOF',
|
|
|
|
+ tokens: [
|
|
|
|
+ { startIndex: 0, type: 'variable.hcl' },
|
|
|
|
+ { startIndex: 3, type: '' },
|
|
|
|
+ { startIndex: 4, type: 'operator.hcl' },
|
|
|
|
+ { startIndex: 5, type: '' },
|
|
|
|
+ { startIndex: 6, type: 'string.heredoc.delimiter.hcl' }
|
|
|
|
+ ]
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
+ /*
|
|
multiline_literal = "hello
|
|
multiline_literal = "hello
|
|
world"
|
|
world"
|
|
foo = "bar"
|
|
foo = "bar"
|
|
*/
|
|
*/
|
|
- [
|
|
|
|
- {
|
|
|
|
- line: 'multiline_literal = "hello',
|
|
|
|
- tokens: [
|
|
|
|
- { startIndex: 0, type: "variable.hcl" },
|
|
|
|
- { startIndex: 17, type: "" },
|
|
|
|
- { startIndex: 18, type: "operator.hcl" },
|
|
|
|
- { startIndex: 19, type: "" },
|
|
|
|
- { startIndex: 20, type: "string.hcl" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- line: ' world"',
|
|
|
|
- tokens: [{ startIndex: 0, type: "string.hcl" }],
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- line: 'foo = "bar"',
|
|
|
|
- tokens: [
|
|
|
|
- { startIndex: 0, type: "variable.hcl" },
|
|
|
|
- { startIndex: 3, type: "" },
|
|
|
|
- { startIndex: 4, type: "operator.hcl" },
|
|
|
|
- { startIndex: 5, type: "" },
|
|
|
|
- { startIndex: 6, type: "string.hcl" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- ],
|
|
|
|
- /*
|
|
|
|
|
|
+ [
|
|
|
|
+ {
|
|
|
|
+ line: 'multiline_literal = "hello',
|
|
|
|
+ tokens: [
|
|
|
|
+ { startIndex: 0, type: 'variable.hcl' },
|
|
|
|
+ { startIndex: 17, type: '' },
|
|
|
|
+ { startIndex: 18, type: 'operator.hcl' },
|
|
|
|
+ { startIndex: 19, type: '' },
|
|
|
|
+ { startIndex: 20, type: 'string.hcl' }
|
|
|
|
+ ]
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ line: ' world"',
|
|
|
|
+ tokens: [{ startIndex: 0, type: 'string.hcl' }]
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ line: 'foo = "bar"',
|
|
|
|
+ tokens: [
|
|
|
|
+ { startIndex: 0, type: 'variable.hcl' },
|
|
|
|
+ { startIndex: 3, type: '' },
|
|
|
|
+ { startIndex: 4, type: 'operator.hcl' },
|
|
|
|
+ { startIndex: 5, type: '' },
|
|
|
|
+ { startIndex: 6, type: 'string.hcl' }
|
|
|
|
+ ]
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
+ /*
|
|
multiline_literal_with_hil = "${hello
|
|
multiline_literal_with_hil = "${hello
|
|
world}"
|
|
world}"
|
|
*/
|
|
*/
|
|
- [
|
|
|
|
- {
|
|
|
|
- line: 'multiline_literal_with_hil = "${hello',
|
|
|
|
- tokens: [
|
|
|
|
- { startIndex: 0, type: "variable.hcl" },
|
|
|
|
- { startIndex: 26, type: "" },
|
|
|
|
- { startIndex: 27, type: "operator.hcl" },
|
|
|
|
- { startIndex: 28, type: "" },
|
|
|
|
- { startIndex: 29, type: "string.hcl" },
|
|
|
|
- { startIndex: 30, type: "delimiter.hcl" },
|
|
|
|
- { startIndex: 32, type: "variable.hcl" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- line: ' world}"',
|
|
|
|
- tokens: [
|
|
|
|
- { startIndex: 0, type: "" },
|
|
|
|
- { startIndex: 1, type: "variable.hcl" },
|
|
|
|
- { startIndex: 6, type: "delimiter.hcl" },
|
|
|
|
- { startIndex: 7, type: "string.hcl" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- line: 'foo = "bar"',
|
|
|
|
- tokens: [
|
|
|
|
- { startIndex: 0, type: "variable.hcl" },
|
|
|
|
- { startIndex: 3, type: "" },
|
|
|
|
- { startIndex: 4, type: "operator.hcl" },
|
|
|
|
- { startIndex: 5, type: "" },
|
|
|
|
- { startIndex: 6, type: "string.hcl" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- ],
|
|
|
|
- // scientific numbers
|
|
|
|
- [
|
|
|
|
- {
|
|
|
|
- line: "a = 1e-10",
|
|
|
|
- tokens: [
|
|
|
|
- { startIndex: 0, type: "variable.hcl" },
|
|
|
|
- { startIndex: 1, type: "" },
|
|
|
|
- { startIndex: 2, type: "operator.hcl" },
|
|
|
|
- { startIndex: 3, type: "" },
|
|
|
|
- { startIndex: 4, type: "number.float.hcl" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- ],
|
|
|
|
- [
|
|
|
|
- {
|
|
|
|
- line: "b = 1e+10",
|
|
|
|
- tokens: [
|
|
|
|
- { startIndex: 0, type: "variable.hcl" },
|
|
|
|
- { startIndex: 1, type: "" },
|
|
|
|
- { startIndex: 2, type: "operator.hcl" },
|
|
|
|
- { startIndex: 3, type: "" },
|
|
|
|
- { startIndex: 4, type: "number.float.hcl" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- ],
|
|
|
|
- [
|
|
|
|
- {
|
|
|
|
- line: "c = 1e10",
|
|
|
|
- tokens: [
|
|
|
|
- { startIndex: 0, type: "variable.hcl" },
|
|
|
|
- { startIndex: 1, type: "" },
|
|
|
|
- { startIndex: 2, type: "operator.hcl" },
|
|
|
|
- { startIndex: 3, type: "" },
|
|
|
|
- { startIndex: 4, type: "number.float.hcl" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- ],
|
|
|
|
- [
|
|
|
|
- {
|
|
|
|
- line: "d = 1.2e-10",
|
|
|
|
- tokens: [
|
|
|
|
- { startIndex: 0, type: "variable.hcl" },
|
|
|
|
- { startIndex: 1, type: "" },
|
|
|
|
- { startIndex: 2, type: "operator.hcl" },
|
|
|
|
- { startIndex: 3, type: "" },
|
|
|
|
- { startIndex: 4, type: "number.float.hcl" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- ],
|
|
|
|
- [
|
|
|
|
- {
|
|
|
|
- line: "e = 1.2e+10",
|
|
|
|
- tokens: [
|
|
|
|
- { startIndex: 0, type: "variable.hcl" },
|
|
|
|
- { startIndex: 1, type: "" },
|
|
|
|
- { startIndex: 2, type: "operator.hcl" },
|
|
|
|
- { startIndex: 3, type: "" },
|
|
|
|
- { startIndex: 4, type: "number.float.hcl" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- ],
|
|
|
|
- [
|
|
|
|
- {
|
|
|
|
- line: "f = 1.2e10",
|
|
|
|
- tokens: [
|
|
|
|
- { startIndex: 0, type: "variable.hcl" },
|
|
|
|
- { startIndex: 1, type: "" },
|
|
|
|
- { startIndex: 2, type: "operator.hcl" },
|
|
|
|
- { startIndex: 3, type: "" },
|
|
|
|
- { startIndex: 4, type: "number.float.hcl" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- ],
|
|
|
|
- [
|
|
|
|
- {
|
|
|
|
- line: 'map.key1 = "Value"',
|
|
|
|
- tokens: [
|
|
|
|
- { startIndex: 0, type: "variable.hcl" },
|
|
|
|
- { startIndex: 3, type: "delimiter.hcl" },
|
|
|
|
- { startIndex: 4, type: "variable.hcl" },
|
|
|
|
- { startIndex: 8, type: "" },
|
|
|
|
- { startIndex: 9, type: "operator.hcl" },
|
|
|
|
- { startIndex: 10, type: "" },
|
|
|
|
- { startIndex: 11, type: "string.hcl" },
|
|
|
|
- ],
|
|
|
|
- },
|
|
|
|
- ],
|
|
|
|
|
|
+ [
|
|
|
|
+ {
|
|
|
|
+ line: 'multiline_literal_with_hil = "${hello',
|
|
|
|
+ tokens: [
|
|
|
|
+ { startIndex: 0, type: 'variable.hcl' },
|
|
|
|
+ { startIndex: 26, type: '' },
|
|
|
|
+ { startIndex: 27, type: 'operator.hcl' },
|
|
|
|
+ { startIndex: 28, type: '' },
|
|
|
|
+ { startIndex: 29, type: 'string.hcl' },
|
|
|
|
+ { startIndex: 30, type: 'delimiter.hcl' },
|
|
|
|
+ { startIndex: 32, type: 'variable.hcl' }
|
|
|
|
+ ]
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ line: ' world}"',
|
|
|
|
+ tokens: [
|
|
|
|
+ { startIndex: 0, type: '' },
|
|
|
|
+ { startIndex: 1, type: 'variable.hcl' },
|
|
|
|
+ { startIndex: 6, type: 'delimiter.hcl' },
|
|
|
|
+ { startIndex: 7, type: 'string.hcl' }
|
|
|
|
+ ]
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ line: 'foo = "bar"',
|
|
|
|
+ tokens: [
|
|
|
|
+ { startIndex: 0, type: 'variable.hcl' },
|
|
|
|
+ { startIndex: 3, type: '' },
|
|
|
|
+ { startIndex: 4, type: 'operator.hcl' },
|
|
|
|
+ { startIndex: 5, type: '' },
|
|
|
|
+ { startIndex: 6, type: 'string.hcl' }
|
|
|
|
+ ]
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
+ // scientific numbers
|
|
|
|
+ [
|
|
|
|
+ {
|
|
|
|
+ line: 'a = 1e-10',
|
|
|
|
+ tokens: [
|
|
|
|
+ { startIndex: 0, type: 'variable.hcl' },
|
|
|
|
+ { startIndex: 1, type: '' },
|
|
|
|
+ { startIndex: 2, type: 'operator.hcl' },
|
|
|
|
+ { startIndex: 3, type: '' },
|
|
|
|
+ { startIndex: 4, type: 'number.float.hcl' }
|
|
|
|
+ ]
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
+ [
|
|
|
|
+ {
|
|
|
|
+ line: 'b = 1e+10',
|
|
|
|
+ tokens: [
|
|
|
|
+ { startIndex: 0, type: 'variable.hcl' },
|
|
|
|
+ { startIndex: 1, type: '' },
|
|
|
|
+ { startIndex: 2, type: 'operator.hcl' },
|
|
|
|
+ { startIndex: 3, type: '' },
|
|
|
|
+ { startIndex: 4, type: 'number.float.hcl' }
|
|
|
|
+ ]
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
+ [
|
|
|
|
+ {
|
|
|
|
+ line: 'c = 1e10',
|
|
|
|
+ tokens: [
|
|
|
|
+ { startIndex: 0, type: 'variable.hcl' },
|
|
|
|
+ { startIndex: 1, type: '' },
|
|
|
|
+ { startIndex: 2, type: 'operator.hcl' },
|
|
|
|
+ { startIndex: 3, type: '' },
|
|
|
|
+ { startIndex: 4, type: 'number.float.hcl' }
|
|
|
|
+ ]
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
+ [
|
|
|
|
+ {
|
|
|
|
+ line: 'd = 1.2e-10',
|
|
|
|
+ tokens: [
|
|
|
|
+ { startIndex: 0, type: 'variable.hcl' },
|
|
|
|
+ { startIndex: 1, type: '' },
|
|
|
|
+ { startIndex: 2, type: 'operator.hcl' },
|
|
|
|
+ { startIndex: 3, type: '' },
|
|
|
|
+ { startIndex: 4, type: 'number.float.hcl' }
|
|
|
|
+ ]
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
+ [
|
|
|
|
+ {
|
|
|
|
+ line: 'e = 1.2e+10',
|
|
|
|
+ tokens: [
|
|
|
|
+ { startIndex: 0, type: 'variable.hcl' },
|
|
|
|
+ { startIndex: 1, type: '' },
|
|
|
|
+ { startIndex: 2, type: 'operator.hcl' },
|
|
|
|
+ { startIndex: 3, type: '' },
|
|
|
|
+ { startIndex: 4, type: 'number.float.hcl' }
|
|
|
|
+ ]
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
+ [
|
|
|
|
+ {
|
|
|
|
+ line: 'f = 1.2e10',
|
|
|
|
+ tokens: [
|
|
|
|
+ { startIndex: 0, type: 'variable.hcl' },
|
|
|
|
+ { startIndex: 1, type: '' },
|
|
|
|
+ { startIndex: 2, type: 'operator.hcl' },
|
|
|
|
+ { startIndex: 3, type: '' },
|
|
|
|
+ { startIndex: 4, type: 'number.float.hcl' }
|
|
|
|
+ ]
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
+ [
|
|
|
|
+ {
|
|
|
|
+ line: 'map.key1 = "Value"',
|
|
|
|
+ tokens: [
|
|
|
|
+ { startIndex: 0, type: 'variable.hcl' },
|
|
|
|
+ { startIndex: 3, type: 'delimiter.hcl' },
|
|
|
|
+ { startIndex: 4, type: 'variable.hcl' },
|
|
|
|
+ { startIndex: 8, type: '' },
|
|
|
|
+ { startIndex: 9, type: 'operator.hcl' },
|
|
|
|
+ { startIndex: 10, type: '' },
|
|
|
|
+ { startIndex: 11, type: 'string.hcl' }
|
|
|
|
+ ]
|
|
|
|
+ }
|
|
|
|
+ ]
|
|
]);
|
|
]);
|