kjelsrud.dev/node_modules/shiki/languages/cue.tmLanguage.json
2023-07-19 21:31:30 +02:00

1126 lines
32 KiB
JSON

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