1129 lines
31 KiB
JSON
1129 lines
31 KiB
JSON
{
|
|
"displayName": "CUE",
|
|
"fileTypes": [
|
|
"cue"
|
|
],
|
|
"name": "cue",
|
|
"patterns": [
|
|
{
|
|
"include": "#whitespace"
|
|
},
|
|
{
|
|
"include": "#comment"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "keyword.other.package"
|
|
},
|
|
"2": {
|
|
"name": "entity.name.namespace"
|
|
}
|
|
},
|
|
"match": "(?<![#$_\\p{L}\\d])(package)[\\t ]+([#$\\p{L}][#$_\\p{L}\\d]*)(?![#$_\\p{L}\\d])"
|
|
},
|
|
{
|
|
"patterns": [
|
|
{
|
|
"begin": "(?<![#$_\\p{L}\\d])(import)[\\t ]+(\\()",
|
|
"beginCaptures": {
|
|
"1": {
|
|
"name": "keyword.other.import"
|
|
},
|
|
"2": {
|
|
"name": "punctuation.section.parens.begin"
|
|
}
|
|
},
|
|
"end": "\\)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.parens.end"
|
|
}
|
|
},
|
|
"name": "meta.imports",
|
|
"patterns": [
|
|
{
|
|
"include": "#whitespace"
|
|
},
|
|
{
|
|
"include": "#comment"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "entity.name.namespace"
|
|
},
|
|
"2": {
|
|
"name": "punctuation.definition.string.begin"
|
|
},
|
|
"3": {
|
|
"name": "string.quoted.double-import"
|
|
},
|
|
"4": {
|
|
"name": "punctuation.colon"
|
|
},
|
|
"5": {
|
|
"name": "entity.name"
|
|
},
|
|
"6": {
|
|
"name": "punctuation.definition.string.end"
|
|
}
|
|
},
|
|
"match": "(?:([#$\\p{L}][#$_\\p{L}\\d]*)[\\t ]+)?(\")([^\":]+)(?:(:)([#$\\p{L}][#$_\\p{L}\\d]*))?(\")",
|
|
"name": "meta.import-spec"
|
|
},
|
|
{
|
|
"match": ";",
|
|
"name": "punctuation.separator"
|
|
},
|
|
{
|
|
"include": "#invalid_in_parens"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "keyword.other.import"
|
|
},
|
|
"2": {
|
|
"name": "entity.name.namespace"
|
|
},
|
|
"3": {
|
|
"name": "punctuation.definition.string.begin"
|
|
},
|
|
"4": {
|
|
"name": "string.quoted.double-import"
|
|
},
|
|
"5": {
|
|
"name": "punctuation.colon"
|
|
},
|
|
"6": {
|
|
"name": "entity.name"
|
|
},
|
|
"7": {
|
|
"name": "punctuation.definition.string.end"
|
|
}
|
|
},
|
|
"match": "(?<![#$_\\p{L}\\d])(import)[\\t ]+(?:([#$\\p{L}][#$_\\p{L}\\d]*)[\\t ]+)?(\")([^\":]+)(?:(:)([#$\\p{L}][#$_\\p{L}\\d]*))?(\")",
|
|
"name": "meta.import"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"include": "#punctuation_comma"
|
|
},
|
|
{
|
|
"include": "#declaration"
|
|
},
|
|
{
|
|
"include": "#invalid_in_braces"
|
|
}
|
|
],
|
|
"repository": {
|
|
"attribute_element": {
|
|
"patterns": [
|
|
{
|
|
"begin": "([#$\\p{L}][#$_\\p{L}\\d]*|_[#$_\\p{L}\\d]+)(=)",
|
|
"beginCaptures": {
|
|
"1": {
|
|
"name": "variable.other"
|
|
},
|
|
"2": {
|
|
"name": "punctuation.bind"
|
|
}
|
|
},
|
|
"end": "(?=[),])",
|
|
"patterns": [
|
|
{
|
|
"include": "#attribute_string"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "([#$\\p{L}][#$_\\p{L}\\d]*|_[#$_\\p{L}\\d]+)(\\()",
|
|
"beginCaptures": {
|
|
"1": {
|
|
"name": "variable.other"
|
|
},
|
|
"2": {
|
|
"name": "punctuation.attribute-elements.begin"
|
|
}
|
|
},
|
|
"end": "\\)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.attribute-elements.end"
|
|
}
|
|
},
|
|
"patterns": [
|
|
{
|
|
"include": "#punctuation_comma"
|
|
},
|
|
{
|
|
"include": "#attribute_element"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"include": "#attribute_string"
|
|
}
|
|
]
|
|
},
|
|
"attribute_string": {
|
|
"patterns": [
|
|
{
|
|
"include": "#string"
|
|
},
|
|
{
|
|
"match": "[^\\n\"#'(),=]+",
|
|
"name": "string.unquoted"
|
|
},
|
|
{
|
|
"match": "[^),]+",
|
|
"name": "invalid"
|
|
}
|
|
]
|
|
},
|
|
"comment": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "punctuation.definition.comment"
|
|
}
|
|
},
|
|
"match": "(//).*$\\n?",
|
|
"name": "comment.line"
|
|
},
|
|
{
|
|
"begin": "/\\*",
|
|
"captures": {
|
|
"0": {
|
|
"name": "punctuation.definition.comment"
|
|
}
|
|
},
|
|
"end": "\\*/",
|
|
"name": "comment.block"
|
|
}
|
|
]
|
|
},
|
|
"declaration": {
|
|
"patterns": [
|
|
{
|
|
"begin": "(@)([#$\\p{L}][#$_\\p{L}\\d]*|_[#$_\\p{L}\\d]+)(\\()",
|
|
"beginCaptures": {
|
|
"1": {
|
|
"name": "punctuation.definition.annotation"
|
|
},
|
|
"2": {
|
|
"name": "variable.annotation"
|
|
},
|
|
"3": {
|
|
"name": "punctuation.attribute-elements.begin"
|
|
}
|
|
},
|
|
"end": "\\)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.attribute-elements.end"
|
|
}
|
|
},
|
|
"name": "meta.annotation",
|
|
"patterns": [
|
|
{
|
|
"include": "#punctuation_comma"
|
|
},
|
|
{
|
|
"include": "#attribute_element"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"match": "(?<!:)::(?!:)",
|
|
"name": "punctuation.isa"
|
|
},
|
|
{
|
|
"include": "#punctuation_colon"
|
|
},
|
|
{
|
|
"match": "\\?",
|
|
"name": "punctuation.option"
|
|
},
|
|
{
|
|
"match": "(?<![!<=>])=(?![=~])",
|
|
"name": "punctuation.bind"
|
|
},
|
|
{
|
|
"match": "<-",
|
|
"name": "punctuation.arrow"
|
|
},
|
|
{
|
|
"include": "#expression"
|
|
}
|
|
]
|
|
},
|
|
"expression": {
|
|
"patterns": [
|
|
{
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "keyword.control.for"
|
|
},
|
|
"2": {
|
|
"name": "variable.other"
|
|
},
|
|
"3": {
|
|
"name": "punctuation.separator"
|
|
},
|
|
"4": {
|
|
"name": "variable.other"
|
|
},
|
|
"5": {
|
|
"name": "keyword.control.in"
|
|
}
|
|
},
|
|
"match": "(?<![#$_\\p{L}\\d])(for)[\\t ]+([#$\\p{L}][#$_\\p{L}\\d]*|_[#$_\\p{L}\\d]+)(?:[\\t ]*(,)[\\t ]*([#$\\p{L}][#$_\\p{L}\\d]*|_[#$_\\p{L}\\d]+))?[\\t ]+(in)(?![#$_\\p{L}\\d])"
|
|
},
|
|
{
|
|
"match": "(?<![#$_\\p{L}\\d])if(?![#$_\\p{L}\\d])",
|
|
"name": "keyword.control.conditional"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "keyword.control.let"
|
|
},
|
|
"2": {
|
|
"name": "variable.other"
|
|
},
|
|
"3": {
|
|
"name": "punctuation.bind"
|
|
}
|
|
},
|
|
"match": "(?<![#$_\\p{L}\\d])(let)[\\t ]+([#$\\p{L}][#$_\\p{L}\\d]*|_[#$_\\p{L}\\d]+)[\\t ]*(=)(?!=)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"patterns": [
|
|
{
|
|
"match": "[-*+]|/(?![*/])",
|
|
"name": "keyword.operator"
|
|
},
|
|
{
|
|
"match": "(?<![#$_\\p{L}\\d])(?:div|mod|quo|rem)(?![#$_\\p{L}\\d])",
|
|
"name": "keyword.operator.word"
|
|
},
|
|
{
|
|
"match": "=[=~]|![=~]|<=|>=|<(?![-=])|>(?!=)",
|
|
"name": "keyword.operator.comparison"
|
|
},
|
|
{
|
|
"match": "&{2}|\\|{2}|!(?![=~])",
|
|
"name": "keyword.operator.logical"
|
|
},
|
|
{
|
|
"match": "&(?!&)|\\|(?!\\|)",
|
|
"name": "keyword.operator.set"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "punctuation.accessor"
|
|
},
|
|
"2": {
|
|
"name": "variable.other.member"
|
|
}
|
|
},
|
|
"match": "(?<!\\.)(\\.)([#$\\p{L}][#$_\\p{L}\\d]*|_[#$_\\p{L}\\d]+)(?![#$_\\p{L}\\d])"
|
|
},
|
|
{
|
|
"patterns": [
|
|
{
|
|
"match": "(?<![#$_\\p{L}\\d])_(?!\\|)(?![#$_\\p{L}\\d])",
|
|
"name": "constant.language.top"
|
|
},
|
|
{
|
|
"match": "(?<![#$_\\p{L}\\d])_\\|_(?![#$_\\p{L}\\d])",
|
|
"name": "constant.language.bottom"
|
|
},
|
|
{
|
|
"match": "(?<![#$_\\p{L}\\d])null(?![#$_\\p{L}\\d])",
|
|
"name": "constant.language.null"
|
|
},
|
|
{
|
|
"match": "(?<![#$_\\p{L}\\d])(?:true|false)(?![#$_\\p{L}\\d])",
|
|
"name": "constant.language.bool"
|
|
},
|
|
{
|
|
"patterns": [
|
|
{
|
|
"patterns": [
|
|
{
|
|
"match": "(?<![._\\p{L}\\d])[0-9](?:_?[0-9])*\\.(?:[0-9](?:_?[0-9])*)?(?:[Ee][-+]?[0-9](?:_?[0-9])*)?(?![._\\p{L}\\d])",
|
|
"name": "constant.numeric.float.decimal"
|
|
},
|
|
{
|
|
"match": "(?<![._\\p{L}\\d])[0-9](?:_?[0-9])*[Ee][-+]?[0-9](?:_?[0-9])*(?![._\\p{L}\\d])",
|
|
"name": "constant.numeric.float.decimal"
|
|
},
|
|
{
|
|
"match": "(?<![._\\p{L}\\d])\\.[0-9](?:_?[0-9])*(?:[Ee][-+]?[0-9](?:_?[0-9])*)?(?![._\\p{L}\\d])",
|
|
"name": "constant.numeric.float.decimal"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"patterns": [
|
|
{
|
|
"patterns": [
|
|
{
|
|
"match": "(?<![._\\p{L}\\d])(?:0|[1-9](?:_?[0-9])*)(?:\\.[0-9](?:_?[0-9])*)?[EGKMPTYZ]i?(?![._\\p{L}\\d])",
|
|
"name": "constant.numeric.integer.other"
|
|
},
|
|
{
|
|
"match": "(?<![._\\p{L}\\d])\\.[0-9](?:_?[0-9])*[EGKMPTYZ]i?(?![._\\p{L}\\d])",
|
|
"name": "constant.numeric.integer.other"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"match": "(?<![._\\p{L}\\d])(?:0|[1-9](?:_?[0-9])*)(?![._\\p{L}\\d])",
|
|
"name": "constant.numeric.integer.decimal"
|
|
},
|
|
{
|
|
"match": "(?<![._\\p{L}\\d])0b[01](?:_?[01])*(?![._\\p{L}\\d])",
|
|
"name": "constant.numeric.integer.binary"
|
|
},
|
|
{
|
|
"match": "(?<![._\\p{L}\\d])0[Xx]\\h(?:_?\\h)*(?![._\\p{L}\\d])",
|
|
"name": "constant.numeric.integer.hexadecimal"
|
|
},
|
|
{
|
|
"match": "(?<![._\\p{L}\\d])0o?[0-7](?:_?[0-7])*(?![._\\p{L}\\d])",
|
|
"name": "constant.numeric.integer.octal"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"include": "#string"
|
|
},
|
|
{
|
|
"match": "(?<![#$_\\p{L}\\d])(?:bool|u?int(?:8|16|32|64|128)?|float(?:32|64)?|string|bytes|number|rune)(?![#$_\\p{L}\\d])",
|
|
"name": "support.type"
|
|
},
|
|
{
|
|
"patterns": [
|
|
{
|
|
"begin": "(?<![#$_\\p{L}\\d])(len|close|and|or)(\\()",
|
|
"beginCaptures": {
|
|
"1": {
|
|
"name": "support.function"
|
|
},
|
|
"2": {
|
|
"name": "punctuation.section.parens.begin"
|
|
}
|
|
},
|
|
"end": "\\)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.parens.end"
|
|
}
|
|
},
|
|
"name": "meta.function-call",
|
|
"patterns": [
|
|
{
|
|
"include": "#whitespace"
|
|
},
|
|
{
|
|
"include": "#comment"
|
|
},
|
|
{
|
|
"include": "#punctuation_comma"
|
|
},
|
|
{
|
|
"include": "#expression"
|
|
},
|
|
{
|
|
"include": "#invalid_in_parens"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "(?<![#$_\\p{L}\\d])([#$\\p{L}][#$_\\p{L}\\d]*)(\\.)(\\p{Lu}[#$_\\p{L}\\d]*)(\\()",
|
|
"beginCaptures": {
|
|
"1": {
|
|
"name": "support.module"
|
|
},
|
|
"2": {
|
|
"name": "punctuation"
|
|
},
|
|
"3": {
|
|
"name": "support.function"
|
|
},
|
|
"4": {
|
|
"name": "punctuation.section.parens.begin"
|
|
}
|
|
},
|
|
"end": "\\)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.parens.end"
|
|
}
|
|
},
|
|
"name": "meta.function-call",
|
|
"patterns": [
|
|
{
|
|
"include": "#whitespace"
|
|
},
|
|
{
|
|
"include": "#comment"
|
|
},
|
|
{
|
|
"include": "#punctuation_comma"
|
|
},
|
|
{
|
|
"include": "#expression"
|
|
},
|
|
{
|
|
"include": "#invalid_in_parens"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"match": "(?<![#$_\\p{L}\\d])(?:[#$\\p{L}][#$_\\p{L}\\d]*|_[#$_\\p{L}\\d]+)(?![#$_\\p{L}\\d])",
|
|
"name": "variable.other"
|
|
},
|
|
{
|
|
"begin": "\\{",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.definition.struct.begin"
|
|
}
|
|
},
|
|
"end": "}",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.definition.struct.end"
|
|
}
|
|
},
|
|
"name": "meta.struct",
|
|
"patterns": [
|
|
{
|
|
"include": "#whitespace"
|
|
},
|
|
{
|
|
"include": "#comment"
|
|
},
|
|
{
|
|
"include": "#punctuation_comma"
|
|
},
|
|
{
|
|
"include": "#punctuation_ellipsis"
|
|
},
|
|
{
|
|
"include": "#declaration"
|
|
},
|
|
{
|
|
"include": "#invalid_in_braces"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "\\[",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.brackets.begin"
|
|
}
|
|
},
|
|
"end": "]",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.brackets.end"
|
|
}
|
|
},
|
|
"name": "meta.brackets",
|
|
"patterns": [
|
|
{
|
|
"include": "#whitespace"
|
|
},
|
|
{
|
|
"include": "#comment"
|
|
},
|
|
{
|
|
"include": "#punctuation_colon"
|
|
},
|
|
{
|
|
"include": "#punctuation_comma"
|
|
},
|
|
{
|
|
"include": "#punctuation_ellipsis"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "variable.other"
|
|
},
|
|
"2": {
|
|
"name": "punctuation.alias"
|
|
}
|
|
},
|
|
"match": "([#$\\p{L}][#$_\\p{L}\\d]*|_[#$_\\p{L}\\d]+)[\\t ]*(=)"
|
|
},
|
|
{
|
|
"include": "#expression"
|
|
},
|
|
{
|
|
"match": "[^]]+",
|
|
"name": "invalid"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "\\(",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.parens.begin"
|
|
}
|
|
},
|
|
"end": "\\)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.parens.end"
|
|
}
|
|
},
|
|
"name": "meta.parens",
|
|
"patterns": [
|
|
{
|
|
"include": "#whitespace"
|
|
},
|
|
{
|
|
"include": "#comment"
|
|
},
|
|
{
|
|
"include": "#punctuation_comma"
|
|
},
|
|
{
|
|
"include": "#expression"
|
|
},
|
|
{
|
|
"include": "#invalid_in_parens"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"invalid_in_braces": {
|
|
"match": "[^}]+",
|
|
"name": "invalid"
|
|
},
|
|
"invalid_in_parens": {
|
|
"match": "[^)]+",
|
|
"name": "invalid"
|
|
},
|
|
"punctuation_colon": {
|
|
"match": "(?<!:):(?!:)",
|
|
"name": "punctuation.colon"
|
|
},
|
|
"punctuation_comma": {
|
|
"match": ",",
|
|
"name": "punctuation.separator"
|
|
},
|
|
"punctuation_ellipsis": {
|
|
"match": "(?<!\\.)\\.{3}(?!\\.)",
|
|
"name": "punctuation.ellipsis"
|
|
},
|
|
"string": {
|
|
"patterns": [
|
|
{
|
|
"begin": "#\"\"\"",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.definition.string.begin"
|
|
}
|
|
},
|
|
"contentName": "string.quoted.double-multiline",
|
|
"end": "\"\"\"#",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.definition.string.end"
|
|
}
|
|
},
|
|
"name": "meta.string",
|
|
"patterns": [
|
|
{
|
|
"match": "\\\\#(?:\"\"\"|[/\\\\abfnrtv]|u\\h{4}|U\\h{8})",
|
|
"name": "constant.character.escape"
|
|
},
|
|
{
|
|
"match": "\\\\#(?:[0-7]{3}|x\\h{2})",
|
|
"name": "invalid.illegal"
|
|
},
|
|
{
|
|
"begin": "\\\\#\\(",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.interpolation.begin"
|
|
}
|
|
},
|
|
"contentName": "source.cue.embedded",
|
|
"end": "\\)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.interpolation.end"
|
|
}
|
|
},
|
|
"name": "meta.interpolation",
|
|
"patterns": [
|
|
{
|
|
"include": "#whitespace"
|
|
},
|
|
{
|
|
"include": "#expression"
|
|
},
|
|
{
|
|
"include": "#invalid_in_parens"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"match": "\\\\#.",
|
|
"name": "invalid.illegal"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "#\"",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.definition.string.begin"
|
|
}
|
|
},
|
|
"contentName": "string.quoted.double",
|
|
"end": "\"#",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.definition.string.end"
|
|
}
|
|
},
|
|
"name": "meta.string",
|
|
"patterns": [
|
|
{
|
|
"match": "\\\\#(?:[\"/\\\\abfnrtv]|u\\h{4}|U\\h{8})",
|
|
"name": "constant.character.escape"
|
|
},
|
|
{
|
|
"match": "\\\\#(?:[0-7]{3}|x\\h{2})",
|
|
"name": "invalid.illegal"
|
|
},
|
|
{
|
|
"begin": "\\\\#\\(",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.interpolation.begin"
|
|
}
|
|
},
|
|
"contentName": "source.cue.embedded",
|
|
"end": "\\)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.interpolation.end"
|
|
}
|
|
},
|
|
"name": "meta.interpolation",
|
|
"patterns": [
|
|
{
|
|
"include": "#whitespace"
|
|
},
|
|
{
|
|
"include": "#expression"
|
|
},
|
|
{
|
|
"include": "#invalid_in_parens"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"match": "\\\\#.",
|
|
"name": "invalid.illegal"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "#'''",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.definition.string.begin"
|
|
}
|
|
},
|
|
"contentName": "string.quoted.single-multiline",
|
|
"end": "'''#",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.definition.string.end"
|
|
}
|
|
},
|
|
"name": "meta.string",
|
|
"patterns": [
|
|
{
|
|
"match": "\\\\#(?:'''|[/\\\\abfnrtv]|u\\h{4}|U\\h{8})",
|
|
"name": "constant.character.escape"
|
|
},
|
|
{
|
|
"match": "\\\\#(?:[0-7]{3}|x\\h{2})",
|
|
"name": "constant.character.escape"
|
|
},
|
|
{
|
|
"begin": "\\\\#\\(",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.interpolation.begin"
|
|
}
|
|
},
|
|
"contentName": "source.cue.embedded",
|
|
"end": "\\)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.interpolation.end"
|
|
}
|
|
},
|
|
"name": "meta.interpolation",
|
|
"patterns": [
|
|
{
|
|
"include": "#whitespace"
|
|
},
|
|
{
|
|
"include": "#expression"
|
|
},
|
|
{
|
|
"include": "#invalid_in_parens"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"match": "\\\\#.",
|
|
"name": "invalid.illegal"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "#'",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.definition.string.begin"
|
|
}
|
|
},
|
|
"contentName": "string.quoted.single",
|
|
"end": "'#",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.definition.string.end"
|
|
}
|
|
},
|
|
"name": "meta.string",
|
|
"patterns": [
|
|
{
|
|
"match": "\\\\#(?:['/\\\\abfnrtv]|u\\h{4}|U\\h{8})",
|
|
"name": "constant.character.escape"
|
|
},
|
|
{
|
|
"match": "\\\\#(?:[0-7]{3}|x\\h{2})",
|
|
"name": "constant.character.escape"
|
|
},
|
|
{
|
|
"begin": "\\\\#\\(",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.interpolation.begin"
|
|
}
|
|
},
|
|
"contentName": "source.cue.embedded",
|
|
"end": "\\)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.interpolation.end"
|
|
}
|
|
},
|
|
"name": "meta.interpolation",
|
|
"patterns": [
|
|
{
|
|
"include": "#whitespace"
|
|
},
|
|
{
|
|
"include": "#expression"
|
|
},
|
|
{
|
|
"include": "#invalid_in_parens"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"match": "\\\\#.",
|
|
"name": "invalid.illegal"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "\"\"\"",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.definition.string.begin"
|
|
}
|
|
},
|
|
"contentName": "string.quoted.double-multiline",
|
|
"end": "\"\"\"",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.definition.string.end"
|
|
}
|
|
},
|
|
"name": "meta.string",
|
|
"patterns": [
|
|
{
|
|
"match": "\\\\(?:\"\"\"|[/\\\\abfnrtv]|u\\h{4}|U\\h{8})",
|
|
"name": "constant.character.escape"
|
|
},
|
|
{
|
|
"match": "\\\\(?:[0-7]{3}|x\\h{2})",
|
|
"name": "invalid.illegal"
|
|
},
|
|
{
|
|
"begin": "\\\\\\(",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.interpolation.begin"
|
|
}
|
|
},
|
|
"contentName": "source.cue.embedded",
|
|
"end": "\\)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.interpolation.end"
|
|
}
|
|
},
|
|
"name": "meta.interpolation",
|
|
"patterns": [
|
|
{
|
|
"include": "#whitespace"
|
|
},
|
|
{
|
|
"include": "#expression"
|
|
},
|
|
{
|
|
"include": "#invalid_in_parens"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"match": "\\\\.",
|
|
"name": "invalid.illegal"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "\"",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.definition.string.begin"
|
|
}
|
|
},
|
|
"contentName": "string.quoted.double",
|
|
"end": "\"",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.definition.string.end"
|
|
}
|
|
},
|
|
"name": "meta.string",
|
|
"patterns": [
|
|
{
|
|
"match": "\\\\(?:[\"/\\\\abfnrtv]|u\\h{4}|U\\h{8})",
|
|
"name": "constant.character.escape"
|
|
},
|
|
{
|
|
"match": "\\\\(?:[0-7]{3}|x\\h{2})",
|
|
"name": "invalid.illegal"
|
|
},
|
|
{
|
|
"begin": "\\\\\\(",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.interpolation.begin"
|
|
}
|
|
},
|
|
"contentName": "source.cue.embedded",
|
|
"end": "\\)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.interpolation.end"
|
|
}
|
|
},
|
|
"name": "meta.interpolation",
|
|
"patterns": [
|
|
{
|
|
"include": "#whitespace"
|
|
},
|
|
{
|
|
"include": "#expression"
|
|
},
|
|
{
|
|
"include": "#invalid_in_parens"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"match": "\\\\.",
|
|
"name": "invalid.illegal"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "'''",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.definition.string.begin"
|
|
}
|
|
},
|
|
"contentName": "string.quoted.single-multiline",
|
|
"end": "'''",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.definition.string.end"
|
|
}
|
|
},
|
|
"name": "meta.string",
|
|
"patterns": [
|
|
{
|
|
"match": "\\\\(?:'''|[/\\\\abfnrtv]|u\\h{4}|U\\h{8})",
|
|
"name": "constant.character.escape"
|
|
},
|
|
{
|
|
"match": "\\\\(?:[0-7]{3}|x\\h{2})",
|
|
"name": "constant.character.escape"
|
|
},
|
|
{
|
|
"begin": "\\\\\\(",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.interpolation.begin"
|
|
}
|
|
},
|
|
"contentName": "source.cue.embedded",
|
|
"end": "\\)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.interpolation.end"
|
|
}
|
|
},
|
|
"name": "meta.interpolation",
|
|
"patterns": [
|
|
{
|
|
"include": "#whitespace"
|
|
},
|
|
{
|
|
"include": "#expression"
|
|
},
|
|
{
|
|
"include": "#invalid_in_parens"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"match": "\\\\.",
|
|
"name": "invalid.illegal"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "'",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.definition.string.begin"
|
|
}
|
|
},
|
|
"contentName": "string.quoted.single",
|
|
"end": "'",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.definition.string.end"
|
|
}
|
|
},
|
|
"name": "meta.string",
|
|
"patterns": [
|
|
{
|
|
"match": "\\\\(?:['/\\\\abfnrtv]|u\\h{4}|U\\h{8})",
|
|
"name": "constant.character.escape"
|
|
},
|
|
{
|
|
"match": "\\\\(?:[0-7]{3}|x\\h{2})",
|
|
"name": "constant.character.escape"
|
|
},
|
|
{
|
|
"begin": "\\\\\\(",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.interpolation.begin"
|
|
}
|
|
},
|
|
"contentName": "source.cue.embedded",
|
|
"end": "\\)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.interpolation.end"
|
|
}
|
|
},
|
|
"name": "meta.interpolation",
|
|
"patterns": [
|
|
{
|
|
"include": "#whitespace"
|
|
},
|
|
{
|
|
"include": "#expression"
|
|
},
|
|
{
|
|
"include": "#invalid_in_parens"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"match": "\\\\.",
|
|
"name": "invalid.illegal"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "`",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.definition.string.begin"
|
|
}
|
|
},
|
|
"contentName": "string.quoted.backtick",
|
|
"end": "`",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.definition.string.end"
|
|
}
|
|
},
|
|
"name": "meta.string"
|
|
}
|
|
]
|
|
},
|
|
"whitespace": {
|
|
"match": "[\\t\\n\\r ]+"
|
|
}
|
|
},
|
|
"scopeName": "source.cue"
|
|
}
|