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

819 lines
21 KiB
JSON

{
"fileTypes": ["hjson"],
"foldingStartMarker": "(?x: # turn on extended mode\n ^ # a line beginning with\n \\s* # some optional space\n [{\\[] # the start of an object or array\n (?! # but not followed by\n .* # whatever\n [}\\]] # and the close of an object or array\n ,? # an optional comma\n \\s* # some optional space\n $ # at the end of the line\n )\n | # ...or...\n [{\\[] # the start of an object or array\n \\s* # some optional space\n $ # at the end of the line\n )",
"foldingStopMarker": "(?x: # turn on extended mode\n ^ # a line beginning with\n \\s* # some optional space\n [}\\]] # and the close of an object or array\n )",
"keyEquivalent": "^~J",
"name": "hjson",
"patterns": [
{
"include": "#comments"
},
{
"include": "#value"
},
{
"match": "[^\\s]",
"name": "invalid.illegal.excess-characters.hjson"
}
],
"repository": {
"array": {
"begin": "\\[",
"beginCaptures": {
"0": {
"name": "punctuation.definition.array.begin.hjson"
}
},
"end": "(\\])(?:\\s*([^,\\s]+))?",
"endCaptures": {
"1": {
"name": "punctuation.definition.array.end.hjson"
},
"2": {
"name": "invalid.illegal.value.hjson"
}
},
"name": "meta.structure.array.hjson",
"patterns": [
{
"include": "#arrayContent"
}
]
},
"arrayArray": {
"begin": "\\[",
"beginCaptures": {
"0": {
"name": "punctuation.definition.array.begin.hjson"
}
},
"end": "(\\])(?:\\s*([^,\\s\\]]+))?",
"endCaptures": {
"1": {
"name": "punctuation.definition.array.end.hjson"
},
"2": {
"name": "invalid.illegal.value.hjson"
}
},
"name": "meta.structure.array.hjson",
"patterns": [
{
"include": "#arrayContent"
}
]
},
"arrayConstant": {
"captures": {
"1": {
"name": "constant.language.hjson"
},
"2": {
"name": "punctuation.separator.array.after-const.hjson"
}
},
"match": "\\b(true|false|null)(?:[\\t ]*(?=,)|[\\t ]*(?:(,)[\\t ]*)?(?=$|#|/\\*|//|\\]))"
},
"arrayContent": {
"name": "meta.structure.array.hjson",
"patterns": [
{
"include": "#comments"
},
{
"include": "#arrayValue"
},
{
"begin": "(?<=\\[)|,",
"beginCaptures": {
"1": {
"name": "punctuation.separator.dictionary.pair.hjson"
}
},
"end": "(?=[^\\s,/#])|(?=/[^/*])",
"patterns": [
{
"include": "#comments"
},
{
"match": ",",
"name": "invalid.illegal.extra-comma.hjson"
}
]
},
{
"match": ",",
"name": "punctuation.separator.array.hjson"
},
{
"match": "[^\\s\\]]",
"name": "invalid.illegal.expected-array-separator.hjson"
}
]
},
"arrayJstring": {
"patterns": [
{
"begin": "\"",
"beginCaptures": {
"0": {
"name": "punctuation.definition.string.begin.hjson"
}
},
"end": "(\")(?:\\s*((?:[^,\\s\\]#/]|/[^/*])+))?",
"endCaptures": {
"1": {
"name": "punctuation.definition.string.end.hjson"
},
"2": {
"name": "invalid.illegal.value.hjson"
}
},
"name": "string.quoted.double.hjson",
"patterns": [
{
"include": "#jstringDoubleContent"
}
]
},
{
"begin": "'",
"beginCaptures": {
"0": {
"name": "punctuation.definition.string.begin.hjson"
}
},
"end": "(')(?:\\s*((?:[^,\\s\\]#/]|/[^/*])+))?",
"endCaptures": {
"1": {
"name": "punctuation.definition.string.end.hjson"
},
"2": {
"name": "invalid.illegal.value.hjson"
}
},
"name": "string.quoted.single.hjson",
"patterns": [
{
"include": "#jstringSingleContent"
}
]
}
]
},
"arrayMstring": {
"begin": "'''",
"beginCaptures": {
"0": {
"name": "punctuation.definition.string.begin.hjson"
}
},
"end": "(''')(?:\\s*((?:[^,\\s\\]#/]|/[^/*])+))?",
"endCaptures": {
"1": {
"name": "punctuation.definition.string.end.hjson"
},
"2": {
"name": "invalid.illegal.value.hjson"
}
},
"name": "string.quoted.multiline.hjson"
},
"arrayNumber": {
"captures": {
"1": {
"name": "constant.numeric.hjson"
},
"2": {
"name": "punctuation.separator.array.after-num.hjson"
}
},
"match": "(-?(?:0|(?:[1-9]\\d*))(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)(?:[\\t ]*(?=,)|[\\t ]*(?:(,)[\\t ]*)?(?=$|#|/\\*|//|\\]))"
},
"arrayObject": {
"begin": "\\{",
"beginCaptures": {
"0": {
"name": "punctuation.definition.dictionary.begin.hjson"
}
},
"end": "(\\}|(?<=\\}))(?:\\s*([^,\\s\\]]+))?",
"endCaptures": {
"1": {
"name": "punctuation.definition.dictionary.end.hjson"
},
"2": {
"name": "invalid.illegal.value.hjson"
}
},
"name": "meta.structure.dictionary.hjson",
"patterns": [
{
"include": "#objectContent"
}
]
},
"arrayString": {
"patterns": [
{
"include": "#arrayMstring"
},
{
"include": "#arrayJstring"
},
{
"include": "#ustring"
}
]
},
"arrayValue": {
"patterns": [
{
"include": "#arrayNumber"
},
{
"include": "#arrayConstant"
},
{
"include": "#arrayString"
},
{
"include": "#arrayObject"
},
{
"include": "#arrayArray"
}
]
},
"comments": {
"patterns": [
{
"captures": {
"1": {
"name": "punctuation.definition.comment.hjson"
}
},
"match": "^\\s*(#).*(?:\\n)?",
"name": "comment.line.hash"
},
{
"captures": {
"1": {
"name": "punctuation.definition.comment.hjson"
}
},
"match": "^\\s*(//).*(?:\\n)?",
"name": "comment.line.double-slash"
},
{
"begin": "^\\s*/\\*",
"beginCaptures": {
"1": {
"name": "punctuation.definition.comment.hjson"
}
},
"end": "\\*/(?:\\s*\\n)?",
"endCaptures": {
"1": {
"name": "punctuation.definition.comment.hjson"
}
},
"name": "comment.block.double-slash"
},
{
"captures": {
"1": {
"name": "punctuation.definition.comment.hjson"
}
},
"match": "(#)[^\\n]*",
"name": "comment.line.hash"
},
{
"captures": {
"1": {
"name": "punctuation.definition.comment.hjson"
}
},
"match": "(//)[^\\n]*",
"name": "comment.line.double-slash"
},
{
"begin": "/\\*",
"beginCaptures": {
"1": {
"name": "punctuation.definition.comment.hjson"
}
},
"end": "\\*/",
"endCaptures": {
"1": {
"name": "punctuation.definition.comment.hjson"
}
},
"name": "comment.block.double-slash"
}
]
},
"commentsNewline": {
"patterns": [
{
"captures": {
"1": {
"name": "punctuation.definition.comment.hjson"
}
},
"match": "(#).*\\n",
"name": "comment.line.hash"
},
{
"captures": {
"1": {
"name": "punctuation.definition.comment.hjson"
}
},
"match": "(//).*\\n",
"name": "comment.line.double-slash"
},
{
"begin": "/\\*",
"beginCaptures": {
"1": {
"name": "punctuation.definition.comment.hjson"
}
},
"end": "\\*/(\\s*\\n)?",
"endCaptures": {
"1": {
"name": "punctuation.definition.comment.hjson"
}
},
"name": "comment.block.double-slash"
}
]
},
"constant": {
"captures": {
"1": {
"name": "constant.language.hjson"
}
},
"match": "\\b(true|false|null)[\\t ]*(?=$|#|/\\*|//|\\])"
},
"jstring": {
"patterns": [
{
"begin": "\"",
"beginCaptures": {
"0": {
"name": "punctuation.definition.string.begin.hjson"
}
},
"end": "(\")(?:\\s*((?:[^\\s#/]|/[^/*]).*)$)?",
"endCaptures": {
"1": {
"name": "punctuation.definition.string.end.hjson"
},
"2": {
"name": "invalid.illegal.value.hjson"
}
},
"name": "string.quoted.double.hjson",
"patterns": [
{
"include": "#jstringDoubleContent"
}
]
},
{
"begin": "'",
"beginCaptures": {
"0": {
"name": "punctuation.definition.string.begin.hjson"
}
},
"end": "(')(?:\\s*((?:[^\\s#/]|/[^/*]).*)$)?",
"endCaptures": {
"1": {
"name": "punctuation.definition.string.end.hjson"
},
"2": {
"name": "invalid.illegal.value.hjson"
}
},
"name": "string.quoted.single.hjson",
"patterns": [
{
"include": "#jstringSingleContent"
}
]
}
]
},
"jstringDoubleContent": {
"patterns": [
{
"match": "\\\\(?:[\"'\\\\\\/bfnrt]|u[0-9a-fA-F]{4})",
"name": "constant.character.escape.hjson"
},
{
"match": "\\\\.",
"name": "invalid.illegal.unrecognized-string-escape.hjson"
},
{
"match": "[^\"]*[^\\n\\r\"\\\\]$",
"name": "invalid.illegal.string.hjson"
}
]
},
"jstringSingleContent": {
"patterns": [
{
"match": "\\\\(?:[\"'\\\\\\/bfnrt]|u[0-9a-fA-F]{4})",
"name": "constant.character.escape.hjson"
},
{
"match": "\\\\.",
"name": "invalid.illegal.unrecognized-string-escape.hjson"
},
{
"match": "[^']*[^\\n\\r'\\\\]$",
"name": "invalid.illegal.string.hjson"
}
]
},
"key": {
"begin": "(?x:\n (\n (?:[^:,\\{\\}\\[\\]\\s\"'][^:,\\{\\}\\[\\]\\s]*) |\n (?: # json string w/ '\n '\n (?:\n [^\\\\'] | # anything but an escape character or quote\n (\\\\(?:[\"'\\\\\\/bfnrt]|u[0-9a-fA-F]{4})) | # escape characters\n (\\\\.) # bad escape characters\n )*\n '\n ) |\n (?: # json string w/ \"\n \"\n (?:\n [^\\\\\"] | # anything but an escape character or quote\n (\\\\(?:[\"'\\\\\\/bfnrt]|u[0-9a-fA-F]{4})) | # escape characters\n (\\\\.) # bad escape characters\n )*\n \"\n )\n )\n \\s*\n (?!\\n)\n ([,\\{\\}\\[\\]]*)\n )",
"beginCaptures": {
"0": {
"name": "meta.structure.key-value.begin.hjson"
},
"1": {
"name": "support.type.property-name.hjson"
},
"2": {
"name": "constant.character.escape.hjson"
},
"3": {
"name": "invalid.illegal.unrecognized-string-escape.hjson"
},
"4": {
"name": "constant.character.escape.hjson"
},
"5": {
"name": "invalid.illegal.unrecognized-string-escape.hjson"
},
"6": {
"name": "invalid.illegal.separator.hjson"
},
"7": {
"name": "invalid.illegal.property-name.hjson"
}
},
"end": "(?<!^|:)\\s*\\n|(?=})|(,)",
"endCaptures": {
"1": {
"name": "punctuation.separator.dictionary.pair.hjson"
}
},
"patterns": [
{
"include": "#commentsNewline"
},
{
"include": "#keyValue"
},
{
"match": "[^\\s]",
"name": "invalid.illegal.object-property.hjson"
}
]
},
"keyValue": {
"begin": "(?x:\n \\s*\n (:)\n \\s* # capture the line ending if there is no value on the same line\n ([,\\}\\]]*)\n )",
"beginCaptures": {
"1": {
"name": "punctuation.separator.dictionary.key-value.hjson"
},
"2": {
"name": "invalid.illegal.object-property.hjson"
}
},
"end": "(?<!^)\\s*(?=\\n)|(?=[},])",
"name": "meta.structure.key-value.hjson",
"patterns": [
{
"include": "#comments"
},
{
"match": "^\\s+"
},
{
"include": "#objectValue"
},
{
"captures": {
"1": {
"name": "invalid.illegal.object-property.closing-bracket.hjson"
}
},
"match": "^\\s*(\\})"
},
{
"match": "[^\\s]",
"name": "invalid.illegal.object-property.hjson"
}
]
},
"mstring": {
"begin": "'''",
"beginCaptures": {
"0": {
"name": "punctuation.definition.string.begin.hjson"
}
},
"end": "(''')(?:\\s*((?:[^\\s#/]|/[^/*]).*)$)?",
"endCaptures": {
"1": {
"name": "punctuation.definition.string.end.hjson"
},
"2": {
"name": "invalid.illegal.value.hjson"
}
},
"name": "string.quoted.multiline.hjson"
},
"number": {
"captures": {
"1": {
"name": "constant.numeric.hjson"
}
},
"match": "(-?(?:0|(?:[1-9]\\d*))(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)[\\t ]*(?=$|#|/\\*|//|\\])"
},
"object": {
"begin": "\\{",
"beginCaptures": {
"0": {
"name": "punctuation.definition.dictionary.begin.hjson"
}
},
"end": "(\\}|(?<=\\}))(?:\\s*([^,\\s]+))?",
"endCaptures": {
"1": {
"name": "punctuation.definition.dictionary.end.hjson"
},
"2": {
"name": "invalid.illegal.value.hjson"
}
},
"name": "meta.structure.dictionary.hjson",
"patterns": [
{
"include": "#objectContent"
}
]
},
"objectArray": {
"begin": "\\[",
"beginCaptures": {
"0": {
"name": "punctuation.definition.array.begin.hjson"
}
},
"end": "(\\])(?:\\s*([^,\\s\\}]+))?",
"endCaptures": {
"1": {
"name": "punctuation.definition.array.end.hjson"
},
"2": {
"name": "invalid.illegal.value.hjson"
}
},
"name": "meta.structure.array.hjson",
"patterns": [
{
"include": "#arrayContent"
}
]
},
"objectConstant": {
"captures": {
"1": {
"name": "constant.language.hjson"
},
"2": {
"name": "punctuation.separator.dictionary.pair.after-const.hjson"
}
},
"match": "\\b(true|false|null)(?:[\\t ]*(?=,)|[\\t ]*(?:(,)[\\t ]*)?(?=$|#|/\\*|//|\\}))"
},
"objectContent": {
"patterns": [
{
"include": "#comments"
},
{
"include": "#key"
},
{
"match": ":[.|\\s]",
"name": "invalid.illegal.object-property.hjson"
},
{
"begin": "(?<=\\{|,)|,",
"beginCaptures": {
"1": {
"name": "punctuation.separator.dictionary.pair.hjson"
}
},
"end": "(?=[^\\s,/#])|(?=/[^/*])",
"patterns": [
{
"include": "#comments"
},
{
"match": ",",
"name": "invalid.illegal.extra-comma.hjson"
}
]
},
{
"match": "[^\\s]",
"name": "invalid.illegal.object-property.hjson"
}
]
},
"objectJstring": {
"patterns": [
{
"begin": "\"",
"beginCaptures": {
"0": {
"name": "punctuation.definition.string.begin.hjson"
}
},
"end": "(\")(?:\\s*((?:[^,\\s\\}#/]|/[^/*])+))?",
"endCaptures": {
"1": {
"name": "punctuation.definition.string.end.hjson"
},
"2": {
"name": "invalid.illegal.value.hjson"
}
},
"name": "string.quoted.double.hjson",
"patterns": [
{
"include": "#jstringDoubleContent"
}
]
},
{
"begin": "'",
"beginCaptures": {
"0": {
"name": "punctuation.definition.string.begin.hjson"
}
},
"end": "(')(?:\\s*((?:[^,\\s\\}#/]|/[^/*])+))?",
"endCaptures": {
"1": {
"name": "punctuation.definition.string.end.hjson"
},
"2": {
"name": "invalid.illegal.value.hjson"
}
},
"name": "string.quoted.single.hjson",
"patterns": [
{
"include": "#jstringSingleContent"
}
]
}
]
},
"objectMstring": {
"begin": "'''",
"beginCaptures": {
"0": {
"name": "punctuation.definition.string.begin.hjson"
}
},
"end": "(''')(?:\\s*((?:[^,\\s\\}#/]|/[^/*])+))?",
"endCaptures": {
"1": {
"name": "punctuation.definition.string.end.hjson"
},
"2": {
"name": "invalid.illegal.value.hjson"
}
},
"name": "string.quoted.multiline.hjson"
},
"objectNumber": {
"captures": {
"1": {
"name": "constant.numeric.hjson"
},
"2": {
"name": "punctuation.separator.dictionary.pair.after-num.hjson"
}
},
"match": "(-?(?:0|(?:[1-9]\\d*))(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)(?:[\\t ]*(?=,)|[\\t ]*(?:(,)[\\t ]*)?(?=$|#|/\\*|//|\\}))"
},
"objectObject": {
"begin": "\\{",
"beginCaptures": {
"0": {
"name": "punctuation.definition.dictionary.begin.hjson"
}
},
"end": "(\\}|(?<=\\})\\}?)(?:\\s*([^,\\s}]+))?",
"endCaptures": {
"1": {
"name": "punctuation.definition.dictionary.end.hjson"
},
"2": {
"name": "invalid.illegal.value.hjson"
}
},
"name": "meta.structure.dictionary.hjson",
"patterns": [
{
"include": "#objectContent"
}
]
},
"objectString": {
"patterns": [
{
"include": "#objectMstring"
},
{
"include": "#objectJstring"
},
{
"include": "#ustring"
}
]
},
"objectValue": {
"patterns": [
{
"include": "#objectNumber"
},
{
"include": "#objectConstant"
},
{
"include": "#objectString"
},
{
"include": "#objectObject"
},
{
"include": "#objectArray"
}
]
},
"string": {
"patterns": [
{
"include": "#mstring"
},
{
"include": "#jstring"
},
{
"include": "#ustring"
}
]
},
"ustring": {
"match": "([^:,\\{\\[\\}\\]\\s].*)$",
"name": "string.quoted.none.hjson"
},
"value": {
"patterns": [
{
"include": "#number"
},
{
"include": "#constant"
},
{
"include": "#string"
},
{
"include": "#object"
},
{
"include": "#array"
}
]
}
},
"scopeName": "source.hjson"
}