212 lines
4.4 KiB
Plaintext
212 lines
4.4 KiB
Plaintext
|
{
|
||
|
"fileTypes": [],
|
||
|
"name": "HCL Expression",
|
||
|
"patterns": [
|
||
|
{
|
||
|
"begin": "#|//",
|
||
|
"captures": {
|
||
|
"0": {
|
||
|
"name": "punctuation.definition.comment.hcl"
|
||
|
}
|
||
|
},
|
||
|
"comment": "Comments",
|
||
|
"end": "$\\n?",
|
||
|
"name": "comment.line.hcl"
|
||
|
},
|
||
|
{
|
||
|
"begin": "/\\*",
|
||
|
"captures": {
|
||
|
"0": {
|
||
|
"name": "punctuation.definition.comment.hcl"
|
||
|
}
|
||
|
},
|
||
|
"comment": "Block comments",
|
||
|
"end": "\\*/",
|
||
|
"name": "comment.block.hcl"
|
||
|
},
|
||
|
{
|
||
|
"comment": "Language constants (true, false, null)",
|
||
|
"match": "\\b(true|false|null)\\b",
|
||
|
"name": "constant.language.hcl"
|
||
|
},
|
||
|
{
|
||
|
"comment": "Numbers",
|
||
|
"match": "\\b([0-9]+)(.[0-9]+)?([eE][0-9]+)?\\b",
|
||
|
"name": "constant.numeric.hcl"
|
||
|
},
|
||
|
{
|
||
|
"begin": "([-\\w]+)(\\()",
|
||
|
"beginCaptures": {
|
||
|
"1": {
|
||
|
"name": "keyword.other.function.inline.hcl"
|
||
|
},
|
||
|
"2": {
|
||
|
"name": "keyword.other.section.begin.hcl"
|
||
|
}
|
||
|
},
|
||
|
"comment": "Function Calls",
|
||
|
"end": "(\\))",
|
||
|
"endCaptures": {
|
||
|
"1": {
|
||
|
"name": "keyword.other.section.end.hcl"
|
||
|
}
|
||
|
},
|
||
|
"patterns": [
|
||
|
{
|
||
|
"include": "$self"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"captures": {
|
||
|
"0": {
|
||
|
"name": "variable.other.hcl"
|
||
|
}
|
||
|
},
|
||
|
"comment": "Variables and Attribute Names",
|
||
|
"match": "[-\\w]+"
|
||
|
},
|
||
|
{
|
||
|
"begin": "(?\u003e\\s*\u003c\u003c(\\w+))",
|
||
|
"beginCaptures": {
|
||
|
"0": {
|
||
|
"name": "punctuation.definition.string.begin.hcl"
|
||
|
},
|
||
|
"1": {
|
||
|
"name": "keyword.operator.heredoc.hcl"
|
||
|
}
|
||
|
},
|
||
|
"comment": "Heredoc Templates",
|
||
|
"end": "^\\s*\\1$",
|
||
|
"endCaptures": {
|
||
|
"0": {
|
||
|
"name": "punctuation.definition.string.end.hcl keyword.operator.heredoc.hcl"
|
||
|
}
|
||
|
},
|
||
|
"patterns": [
|
||
|
{
|
||
|
"include": "source.hcltemplate"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"begin": "\\\"",
|
||
|
"beginCaptures": {
|
||
|
"0": {
|
||
|
"name": "string.hcl punctuation.definition.string.begin.hcl"
|
||
|
}
|
||
|
},
|
||
|
"comment": "String Templates",
|
||
|
"end": "\\\"",
|
||
|
"endCaptures": {
|
||
|
"0": {
|
||
|
"name": "string.hcl punctuation.definition.string.end.hcl"
|
||
|
}
|
||
|
},
|
||
|
"patterns": [
|
||
|
{
|
||
|
"include": "source.hcltemplate"
|
||
|
},
|
||
|
{
|
||
|
"match": "(^\"|$\\{|%\\{)+",
|
||
|
"name": "string.quoted.double.hcl"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"captures": {
|
||
|
"0": {
|
||
|
"name": "keyword.operator.hcl"
|
||
|
}
|
||
|
},
|
||
|
"comment": "Operators",
|
||
|
"match": "(!=|==|\u003e=|\u003c=|\u0026\u0026|\\|\\||[-+*/%\u003c\u003e!?:])"
|
||
|
},
|
||
|
{
|
||
|
"begin": "\\(",
|
||
|
"beginCaptures": {
|
||
|
"0": {
|
||
|
"name": "meta.brace.round.hcl"
|
||
|
}
|
||
|
},
|
||
|
"comment": "Parentheses",
|
||
|
"end": "\\)",
|
||
|
"endCaptures": {
|
||
|
"0": {
|
||
|
"name": "meta.brace.round.hcl"
|
||
|
}
|
||
|
},
|
||
|
"patterns": [
|
||
|
{
|
||
|
"include": "$self"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"begin": "\\[",
|
||
|
"beginCaptures": {
|
||
|
"0": {
|
||
|
"name": "meta.brace.square.hcl"
|
||
|
}
|
||
|
},
|
||
|
"comment": "Tuple Constructor",
|
||
|
"end": "\\]",
|
||
|
"endCaptures": {
|
||
|
"0": {
|
||
|
"name": "meta.brace.square.hcl"
|
||
|
}
|
||
|
},
|
||
|
"patterns": [
|
||
|
{
|
||
|
"captures": {
|
||
|
"0": {
|
||
|
"name": "keyword.control.hcl"
|
||
|
}
|
||
|
},
|
||
|
"match": "(for|in)"
|
||
|
},
|
||
|
{
|
||
|
"include": "$self"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"begin": "\\{",
|
||
|
"beginCaptures": {
|
||
|
"0": {
|
||
|
"name": "meta.brace.curly.hcl"
|
||
|
}
|
||
|
},
|
||
|
"comment": "Object Constructor",
|
||
|
"end": "\\}",
|
||
|
"endCaptures": {
|
||
|
"0": {
|
||
|
"name": "meta.brace.curly.hcl"
|
||
|
}
|
||
|
},
|
||
|
"patterns": [
|
||
|
{
|
||
|
"captures": {
|
||
|
"0": {
|
||
|
"name": "keyword.control.hcl"
|
||
|
}
|
||
|
},
|
||
|
"match": "(for|in)"
|
||
|
},
|
||
|
{
|
||
|
"captures": {
|
||
|
"0": {
|
||
|
"name": "keyword.operator.hcl"
|
||
|
}
|
||
|
},
|
||
|
"match": "(=\u003e|\\.\\.\\.)"
|
||
|
},
|
||
|
{
|
||
|
"include": "$self"
|
||
|
}
|
||
|
]
|
||
|
}
|
||
|
],
|
||
|
"scopeName": "source.hclexpr",
|
||
|
"uuid": "6c358551-0381-4128-9ea3-277b21943b5c"
|
||
|
}
|