mirror of https://github.com/coder/code-server.git
621 lines
21 KiB
JSON
621 lines
21 KiB
JSON
{
|
|
"information_for_contributors": [
|
|
"This file has been converted from https://github.com/textmate/yaml.tmbundle/blob/master/Syntaxes/YAML.tmLanguage",
|
|
"If you want to provide a fix or improvement, please create a pull request against the original repository.",
|
|
"Once accepted there, we are happy to receive an update request."
|
|
],
|
|
"version": "https://github.com/textmate/yaml.tmbundle/commit/e54ceae3b719506dba7e481a77cea4a8b576ae46",
|
|
"name": "YAML",
|
|
"scopeName": "source.yaml",
|
|
"patterns": [
|
|
{
|
|
"include": "#comment"
|
|
},
|
|
{
|
|
"include": "#property"
|
|
},
|
|
{
|
|
"include": "#directive"
|
|
},
|
|
{
|
|
"match": "^---",
|
|
"name": "entity.other.document.begin.yaml"
|
|
},
|
|
{
|
|
"match": "^\\.{3}",
|
|
"name": "entity.other.document.end.yaml"
|
|
},
|
|
{
|
|
"include": "#node"
|
|
}
|
|
],
|
|
"repository": {
|
|
"block-collection": {
|
|
"patterns": [
|
|
{
|
|
"include": "#block-sequence"
|
|
},
|
|
{
|
|
"include": "#block-mapping"
|
|
}
|
|
]
|
|
},
|
|
"block-mapping": {
|
|
"patterns": [
|
|
{
|
|
"include": "#block-pair"
|
|
}
|
|
]
|
|
},
|
|
"block-node": {
|
|
"patterns": [
|
|
{
|
|
"include": "#prototype"
|
|
},
|
|
{
|
|
"include": "#block-scalar"
|
|
},
|
|
{
|
|
"include": "#block-collection"
|
|
},
|
|
{
|
|
"include": "#flow-scalar-plain-out"
|
|
},
|
|
{
|
|
"include": "#flow-node"
|
|
}
|
|
]
|
|
},
|
|
"block-pair": {
|
|
"patterns": [
|
|
{
|
|
"begin": "\\?",
|
|
"beginCaptures": {
|
|
"1": {
|
|
"name": "punctuation.definition.key-value.begin.yaml"
|
|
}
|
|
},
|
|
"end": "(?=\\?)|^ *(:)|(:)",
|
|
"endCaptures": {
|
|
"1": {
|
|
"name": "punctuation.separator.key-value.mapping.yaml"
|
|
},
|
|
"2": {
|
|
"name": "invalid.illegal.expected-newline.yaml"
|
|
}
|
|
},
|
|
"name": "meta.block-mapping.yaml",
|
|
"patterns": [
|
|
{
|
|
"include": "#block-node"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "(?x)\n (?=\n (?x:\n [^\\s[-?:,\\[\\]{}#&*!|>'\"%@`]]\n | [?:-] \\S\n )\n (\n [^\\s:]\n | : \\S\n | \\s+ (?![#\\s])\n )*\n \\s*\n :\n\t\t\t\t\t\t\t(\\s|$)\n )\n ",
|
|
"end": "(?x)\n (?=\n \\s* $\n | \\s+ \\#\n | \\s* : (\\s|$)\n )\n ",
|
|
"patterns": [
|
|
{
|
|
"include": "#flow-scalar-plain-out-implicit-type"
|
|
},
|
|
{
|
|
"begin": "(?x)\n [^\\s[-?:,\\[\\]{}#&*!|>'\"%@`]]\n | [?:-] \\S\n ",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "entity.name.tag.yaml"
|
|
}
|
|
},
|
|
"contentName": "entity.name.tag.yaml",
|
|
"end": "(?x)\n (?=\n \\s* $\n | \\s+ \\#\n | \\s* : (\\s|$)\n )\n ",
|
|
"name": "string.unquoted.plain.out.yaml"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"match": ":(?=\\s|$)",
|
|
"name": "punctuation.separator.key-value.mapping.yaml"
|
|
}
|
|
]
|
|
},
|
|
"block-scalar": {
|
|
"begin": "(?:(\\|)|(>))([1-9])?([-+])?(.*\\n?)",
|
|
"beginCaptures": {
|
|
"1": {
|
|
"name": "keyword.control.flow.block-scalar.literal.yaml"
|
|
},
|
|
"2": {
|
|
"name": "keyword.control.flow.block-scalar.folded.yaml"
|
|
},
|
|
"3": {
|
|
"name": "constant.numeric.indentation-indicator.yaml"
|
|
},
|
|
"4": {
|
|
"name": "storage.modifier.chomping-indicator.yaml"
|
|
},
|
|
"5": {
|
|
"patterns": [
|
|
{
|
|
"include": "#comment"
|
|
},
|
|
{
|
|
"match": ".+",
|
|
"name": "invalid.illegal.expected-comment-or-newline.yaml"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"end": "^(?=\\S)|(?!\\G)",
|
|
"patterns": [
|
|
{
|
|
"begin": "^([ ]+)(?! )",
|
|
"end": "^(?!\\1|\\s*$)",
|
|
"name": "string.unquoted.block.yaml"
|
|
}
|
|
]
|
|
},
|
|
"block-sequence": {
|
|
"match": "(-)(?!\\S)",
|
|
"name": "punctuation.definition.block.sequence.item.yaml"
|
|
},
|
|
"comment": {
|
|
"begin": "(?:(^[ \\t]*)|[ \\t]+)(?=#\\p{Print}*$)",
|
|
"beginCaptures": {
|
|
"1": {
|
|
"name": "punctuation.whitespace.comment.leading.yaml"
|
|
}
|
|
},
|
|
"end": "(?!\\G)",
|
|
"patterns": [
|
|
{
|
|
"begin": "#",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.definition.comment.yaml"
|
|
}
|
|
},
|
|
"end": "\\n",
|
|
"name": "comment.line.number-sign.yaml"
|
|
}
|
|
]
|
|
},
|
|
"directive": {
|
|
"begin": "^%",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.definition.directive.begin.yaml"
|
|
}
|
|
},
|
|
"end": "(?=$|[ \\t]+($|#))",
|
|
"name": "meta.directive.yaml",
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "keyword.other.directive.yaml.yaml"
|
|
},
|
|
"2": {
|
|
"name": "constant.numeric.yaml-version.yaml"
|
|
}
|
|
},
|
|
"match": "\\G(YAML)[ \\t]+(\\d+\\.\\d+)"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "keyword.other.directive.tag.yaml"
|
|
},
|
|
"2": {
|
|
"name": "storage.type.tag-handle.yaml"
|
|
},
|
|
"3": {
|
|
"name": "support.type.tag-prefix.yaml"
|
|
}
|
|
},
|
|
"match": "(?x)\n \\G\n (TAG)\n (?:[ \\t]+\n ((?:!(?:[0-9A-Za-z\\-]*!)?))\n (?:[ \\t]+ (\n ! (?x: %[0-9A-Fa-f]{2} | [0-9A-Za-z\\-#;/?:@&=+$,_.!~*'()\\[\\]] )*\n | (?![,!\\[\\]{}]) (?x: %[0-9A-Fa-f]{2} | [0-9A-Za-z\\-#;/?:@&=+$,_.!~*'()\\[\\]] )+\n )\n )?\n )?\n "
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "support.other.directive.reserved.yaml"
|
|
},
|
|
"2": {
|
|
"name": "string.unquoted.directive-name.yaml"
|
|
},
|
|
"3": {
|
|
"name": "string.unquoted.directive-parameter.yaml"
|
|
}
|
|
},
|
|
"match": "(?x) \\G (\\w+) (?:[ \\t]+ (\\w+) (?:[ \\t]+ (\\w+))? )?"
|
|
},
|
|
{
|
|
"match": "\\S+",
|
|
"name": "invalid.illegal.unrecognized.yaml"
|
|
}
|
|
]
|
|
},
|
|
"flow-alias": {
|
|
"captures": {
|
|
"1": {
|
|
"name": "keyword.control.flow.alias.yaml"
|
|
},
|
|
"2": {
|
|
"name": "punctuation.definition.alias.yaml"
|
|
},
|
|
"3": {
|
|
"name": "variable.other.alias.yaml"
|
|
},
|
|
"4": {
|
|
"name": "invalid.illegal.character.anchor.yaml"
|
|
}
|
|
},
|
|
"match": "((\\*))([^\\s\\[\\]/{/},]+)([^\\s\\]},]\\S*)?"
|
|
},
|
|
"flow-collection": {
|
|
"patterns": [
|
|
{
|
|
"include": "#flow-sequence"
|
|
},
|
|
{
|
|
"include": "#flow-mapping"
|
|
}
|
|
]
|
|
},
|
|
"flow-mapping": {
|
|
"begin": "\\{",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.definition.mapping.begin.yaml"
|
|
}
|
|
},
|
|
"end": "\\}",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.definition.mapping.end.yaml"
|
|
}
|
|
},
|
|
"name": "meta.flow-mapping.yaml",
|
|
"patterns": [
|
|
{
|
|
"include": "#prototype"
|
|
},
|
|
{
|
|
"match": ",",
|
|
"name": "punctuation.separator.mapping.yaml"
|
|
},
|
|
{
|
|
"include": "#flow-pair"
|
|
}
|
|
]
|
|
},
|
|
"flow-node": {
|
|
"patterns": [
|
|
{
|
|
"include": "#prototype"
|
|
},
|
|
{
|
|
"include": "#flow-alias"
|
|
},
|
|
{
|
|
"include": "#flow-collection"
|
|
},
|
|
{
|
|
"include": "#flow-scalar"
|
|
}
|
|
]
|
|
},
|
|
"flow-pair": {
|
|
"patterns": [
|
|
{
|
|
"begin": "\\?",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.definition.key-value.begin.yaml"
|
|
}
|
|
},
|
|
"end": "(?=[},\\]])",
|
|
"name": "meta.flow-pair.explicit.yaml",
|
|
"patterns": [
|
|
{
|
|
"include": "#prototype"
|
|
},
|
|
{
|
|
"include": "#flow-pair"
|
|
},
|
|
{
|
|
"include": "#flow-node"
|
|
},
|
|
{
|
|
"begin": ":(?=\\s|$|[\\[\\]{},])",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.separator.key-value.mapping.yaml"
|
|
}
|
|
},
|
|
"end": "(?=[},\\]])",
|
|
"patterns": [
|
|
{
|
|
"include": "#flow-value"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "(?x)\n (?=\n (?:\n [^\\s[-?:,\\[\\]{}#&*!|>'\"%@`]]\n | [?:-] [^\\s[\\[\\]{},]]\n )\n (\n [^\\s:[\\[\\]{},]]\n | : [^\\s[\\[\\]{},]]\n | \\s+ (?![#\\s])\n )*\n \\s*\n :\n\t\t\t\t\t\t\t(\\s|$)\n )\n ",
|
|
"end": "(?x)\n (?=\n \\s* $\n | \\s+ \\#\n | \\s* : (\\s|$)\n | \\s* : [\\[\\]{},]\n | \\s* [\\[\\]{},]\n )\n ",
|
|
"name": "meta.flow-pair.key.yaml",
|
|
"patterns": [
|
|
{
|
|
"include": "#flow-scalar-plain-in-implicit-type"
|
|
},
|
|
{
|
|
"begin": "(?x)\n [^\\s[-?:,\\[\\]{}#&*!|>'\"%@`]]\n | [?:-] [^\\s[\\[\\]{},]]\n ",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "entity.name.tag.yaml"
|
|
}
|
|
},
|
|
"contentName": "entity.name.tag.yaml",
|
|
"end": "(?x)\n (?=\n \\s* $\n | \\s+ \\#\n | \\s* : (\\s|$)\n | \\s* : [\\[\\]{},]\n | \\s* [\\[\\]{},]\n )\n ",
|
|
"name": "string.unquoted.plain.in.yaml"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"include": "#flow-node"
|
|
},
|
|
{
|
|
"begin": ":(?=\\s|$|[\\[\\]{},])",
|
|
"captures": {
|
|
"0": {
|
|
"name": "punctuation.separator.key-value.mapping.yaml"
|
|
}
|
|
},
|
|
"end": "(?=[},\\]])",
|
|
"name": "meta.flow-pair.yaml",
|
|
"patterns": [
|
|
{
|
|
"include": "#flow-value"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"flow-scalar": {
|
|
"patterns": [
|
|
{
|
|
"include": "#flow-scalar-double-quoted"
|
|
},
|
|
{
|
|
"include": "#flow-scalar-single-quoted"
|
|
},
|
|
{
|
|
"include": "#flow-scalar-plain-in"
|
|
}
|
|
]
|
|
},
|
|
"flow-scalar-double-quoted": {
|
|
"begin": "\"",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.definition.string.begin.yaml"
|
|
}
|
|
},
|
|
"end": "\"",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.definition.string.end.yaml"
|
|
}
|
|
},
|
|
"name": "string.quoted.double.yaml",
|
|
"patterns": [
|
|
{
|
|
"match": "\\\\([0abtnvfre \"/\\\\N_Lp]|x\\d\\d|u\\d{4}|U\\d{8})",
|
|
"name": "constant.character.escape.yaml"
|
|
},
|
|
{
|
|
"match": "\\\\\\n",
|
|
"name": "constant.character.escape.double-quoted.newline.yaml"
|
|
}
|
|
]
|
|
},
|
|
"flow-scalar-plain-in": {
|
|
"patterns": [
|
|
{
|
|
"include": "#flow-scalar-plain-in-implicit-type"
|
|
},
|
|
{
|
|
"begin": "(?x)\n [^\\s[-?:,\\[\\]{}#&*!|>'\"%@`]]\n | [?:-] [^\\s[\\[\\]{},]]\n ",
|
|
"end": "(?x)\n (?=\n \\s* $\n | \\s+ \\#\n | \\s* : (\\s|$)\n | \\s* : [\\[\\]{},]\n | \\s* [\\[\\]{},]\n )\n ",
|
|
"name": "string.unquoted.plain.in.yaml"
|
|
}
|
|
]
|
|
},
|
|
"flow-scalar-plain-in-implicit-type": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "constant.language.null.yaml"
|
|
},
|
|
"2": {
|
|
"name": "constant.language.boolean.yaml"
|
|
},
|
|
"3": {
|
|
"name": "constant.numeric.integer.yaml"
|
|
},
|
|
"4": {
|
|
"name": "constant.numeric.float.yaml"
|
|
},
|
|
"5": {
|
|
"name": "constant.other.timestamp.yaml"
|
|
},
|
|
"6": {
|
|
"name": "constant.language.value.yaml"
|
|
},
|
|
"7": {
|
|
"name": "constant.language.merge.yaml"
|
|
}
|
|
},
|
|
"match": "(?x)\n (?x:\n (null|Null|NULL|~)\n | (y|Y|yes|Yes|YES|n|N|no|No|NO|true|True|TRUE|false|False|FALSE|on|On|ON|off|Off|OFF)\n | (\n (?:\n [-+]? 0b [0-1_]+ # (base 2)\n | [-+]? 0 [0-7_]+ # (base 8)\n | [-+]? (?: 0|[1-9][0-9_]*) # (base 10)\n | [-+]? 0x [0-9a-fA-F_]+ # (base 16)\n | [-+]? [1-9] [0-9_]* (?: :[0-5]?[0-9])+ # (base 60)\n )\n )\n | (\n (?x:\n [-+]? (?: [0-9] [0-9_]*)? \\. [0-9.]* (?: [eE] [-+] [0-9]+)? # (base 10)\n | [-+]? [0-9] [0-9_]* (?: :[0-5]?[0-9])+ \\. [0-9_]* # (base 60)\n | [-+]? \\. (?: inf|Inf|INF) # (infinity)\n | \\. (?: nan|NaN|NAN) # (not a number)\n )\n )\n | (\n (?x:\n \\d{4} - \\d{2} - \\d{2} # (y-m-d)\n | \\d{4} # (year)\n - \\d{1,2} # (month)\n - \\d{1,2} # (day)\n (?: [Tt] | [ \\t]+) \\d{1,2} # (hour)\n : \\d{2} # (minute)\n : \\d{2} # (second)\n (?: \\.\\d*)? # (fraction)\n (?:\n (?:[ \\t]*) Z\n | [-+] \\d{1,2} (?: :\\d{1,2})?\n )? # (time zone)\n )\n )\n | (=)\n | (<<)\n )\n (?:\n (?=\n \\s* $\n | \\s+ \\#\n | \\s* : (\\s|$)\n | \\s* : [\\[\\]{},]\n | \\s* [\\[\\]{},]\n )\n )\n "
|
|
}
|
|
]
|
|
},
|
|
"flow-scalar-plain-out": {
|
|
"patterns": [
|
|
{
|
|
"include": "#flow-scalar-plain-out-implicit-type"
|
|
},
|
|
{
|
|
"begin": "(?x)\n [^\\s[-?:,\\[\\]{}#&*!|>'\"%@`]]\n | [?:-] \\S\n ",
|
|
"end": "(?x)\n (?=\n \\s* $\n | \\s+ \\#\n | \\s* : (\\s|$)\n )\n ",
|
|
"name": "string.unquoted.plain.out.yaml"
|
|
}
|
|
]
|
|
},
|
|
"flow-scalar-plain-out-implicit-type": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "constant.language.null.yaml"
|
|
},
|
|
"2": {
|
|
"name": "constant.language.boolean.yaml"
|
|
},
|
|
"3": {
|
|
"name": "constant.numeric.integer.yaml"
|
|
},
|
|
"4": {
|
|
"name": "constant.numeric.float.yaml"
|
|
},
|
|
"5": {
|
|
"name": "constant.other.timestamp.yaml"
|
|
},
|
|
"6": {
|
|
"name": "constant.language.value.yaml"
|
|
},
|
|
"7": {
|
|
"name": "constant.language.merge.yaml"
|
|
}
|
|
},
|
|
"match": "(?x)\n (?x:\n (null|Null|NULL|~)\n | (y|Y|yes|Yes|YES|n|N|no|No|NO|true|True|TRUE|false|False|FALSE|on|On|ON|off|Off|OFF)\n | (\n (?:\n [-+]? 0b [0-1_]+ # (base 2)\n | [-+]? 0 [0-7_]+ # (base 8)\n | [-+]? (?: 0|[1-9][0-9_]*) # (base 10)\n | [-+]? 0x [0-9a-fA-F_]+ # (base 16)\n | [-+]? [1-9] [0-9_]* (?: :[0-5]?[0-9])+ # (base 60)\n )\n )\n | (\n (?x:\n [-+]? (?: [0-9] [0-9_]*)? \\. [0-9.]* (?: [eE] [-+] [0-9]+)? # (base 10)\n | [-+]? [0-9] [0-9_]* (?: :[0-5]?[0-9])+ \\. [0-9_]* # (base 60)\n | [-+]? \\. (?: inf|Inf|INF) # (infinity)\n | \\. (?: nan|NaN|NAN) # (not a number)\n )\n )\n | (\n (?x:\n \\d{4} - \\d{2} - \\d{2} # (y-m-d)\n | \\d{4} # (year)\n - \\d{1,2} # (month)\n - \\d{1,2} # (day)\n (?: [Tt] | [ \\t]+) \\d{1,2} # (hour)\n : \\d{2} # (minute)\n : \\d{2} # (second)\n (?: \\.\\d*)? # (fraction)\n (?:\n (?:[ \\t]*) Z\n | [-+] \\d{1,2} (?: :\\d{1,2})?\n )? # (time zone)\n )\n )\n | (=)\n | (<<)\n )\n (?x:\n (?=\n \\s* $\n | \\s+ \\#\n | \\s* : (\\s|$)\n )\n )\n "
|
|
}
|
|
]
|
|
},
|
|
"flow-scalar-single-quoted": {
|
|
"begin": "'",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.definition.string.begin.yaml"
|
|
}
|
|
},
|
|
"end": "'(?!')",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.definition.string.end.yaml"
|
|
}
|
|
},
|
|
"name": "string.quoted.single.yaml",
|
|
"patterns": [
|
|
{
|
|
"match": "''",
|
|
"name": "constant.character.escape.single-quoted.yaml"
|
|
}
|
|
]
|
|
},
|
|
"flow-sequence": {
|
|
"begin": "\\[",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.definition.sequence.begin.yaml"
|
|
}
|
|
},
|
|
"end": "\\]",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.definition.sequence.end.yaml"
|
|
}
|
|
},
|
|
"name": "meta.flow-sequence.yaml",
|
|
"patterns": [
|
|
{
|
|
"include": "#prototype"
|
|
},
|
|
{
|
|
"match": ",",
|
|
"name": "punctuation.separator.sequence.yaml"
|
|
},
|
|
{
|
|
"include": "#flow-pair"
|
|
},
|
|
{
|
|
"include": "#flow-node"
|
|
}
|
|
]
|
|
},
|
|
"flow-value": {
|
|
"patterns": [
|
|
{
|
|
"begin": "\\G(?![},\\]])",
|
|
"end": "(?=[},\\]])",
|
|
"name": "meta.flow-pair.value.yaml",
|
|
"patterns": [
|
|
{
|
|
"include": "#flow-node"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"node": {
|
|
"patterns": [
|
|
{
|
|
"include": "#block-node"
|
|
}
|
|
]
|
|
},
|
|
"property": {
|
|
"begin": "(?=!|&)",
|
|
"end": "(?!\\G)",
|
|
"name": "meta.property.yaml",
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "keyword.control.property.anchor.yaml"
|
|
},
|
|
"2": {
|
|
"name": "punctuation.definition.anchor.yaml"
|
|
},
|
|
"3": {
|
|
"name": "entity.name.type.anchor.yaml"
|
|
},
|
|
"4": {
|
|
"name": "invalid.illegal.character.anchor.yaml"
|
|
}
|
|
},
|
|
"match": "\\G((&))([^\\s\\[\\]/{/},]+)(\\S+)?"
|
|
},
|
|
{
|
|
"match": "(?x)\n \\G\n (?:\n ! < (?: %[0-9A-Fa-f]{2} | [0-9A-Za-z\\-#;/?:@&=+$,_.!~*'()\\[\\]] )+ >\n | (?:!(?:[0-9A-Za-z\\-]*!)?) (?: %[0-9A-Fa-f]{2} | [0-9A-Za-z\\-#;/?:@&=+$_.~*'()] )+\n | !\n )\n (?=\\ |\\t|$)\n ",
|
|
"name": "storage.type.tag-handle.yaml"
|
|
},
|
|
{
|
|
"match": "\\S+",
|
|
"name": "invalid.illegal.tag-handle.yaml"
|
|
}
|
|
]
|
|
},
|
|
"prototype": {
|
|
"patterns": [
|
|
{
|
|
"include": "#comment"
|
|
},
|
|
{
|
|
"include": "#property"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
} |