View raw

1 { 2 "information_for_contributors": [ 3 "This file has been converted from https://github.com/microsoft/vscode-JSON.tmLanguage/blob/master/JSON.tmLanguage", 4 "If you want to provide a fix or improvement, please create a pull request against the original repository.", 5 "Once accepted there, we are happy to receive an update request." 6 ], 7 "version": "https://github.com/microsoft/vscode-JSON.tmLanguage/commit/9bd83f1c252b375e957203f21793316203f61f70", 8 "name": "JSON (Javascript Next)", 9 "scopeName": "source.json", 10 "patterns": [ 11 { 12 "include": "#value" 13 } 14 ], 15 "repository": { 16 "array": { 17 "begin": "\\[", 18 "beginCaptures": { 19 "0": { 20 "name": "punctuation.definition.array.begin.json" 21 } 22 }, 23 "end": "\\]", 24 "endCaptures": { 25 "0": { 26 "name": "punctuation.definition.array.end.json" 27 } 28 }, 29 "name": "meta.structure.array.json", 30 "patterns": [ 31 { 32 "include": "#value" 33 }, 34 { 35 "match": ",", 36 "name": "punctuation.separator.array.json" 37 }, 38 { 39 "match": "[^\\s\\]]", 40 "name": "invalid.illegal.expected-array-separator.json" 41 } 42 ] 43 }, 44 "comments": { 45 "patterns": [ 46 { 47 "begin": "/\\*\\*(?!/)", 48 "captures": { 49 "0": { 50 "name": "punctuation.definition.comment.json" 51 } 52 }, 53 "end": "\\*/", 54 "name": "comment.block.documentation.json" 55 }, 56 { 57 "begin": "/\\*", 58 "captures": { 59 "0": { 60 "name": "punctuation.definition.comment.json" 61 } 62 }, 63 "end": "\\*/", 64 "name": "comment.block.json" 65 }, 66 { 67 "captures": { 68 "1": { 69 "name": "punctuation.definition.comment.json" 70 } 71 }, 72 "match": "(//).*$\\n?", 73 "name": "comment.line.double-slash.js" 74 } 75 ] 76 }, 77 "constant": { 78 "match": "\\b(?:true|false|null)\\b", 79 "name": "constant.language.json" 80 }, 81 "number": { 82 "match": "(?x) # turn on extended mode\n -? # an optional minus\n (?:\n 0 # a zero\n | # ...or...\n [1-9] # a 1-9 character\n \\d* # followed by zero or more digits\n )\n (?:\n (?:\n \\. # a period\n \\d+ # followed by one or more digits\n )?\n (?:\n [eE] # an e character\n [+-]? # followed by an option +/-\n \\d+ # followed by one or more digits\n )? # make exponent optional\n )? # make decimal portion optional", 83 "name": "constant.numeric.json" 84 }, 85 "object": { 86 "begin": "\\{", 87 "beginCaptures": { 88 "0": { 89 "name": "punctuation.definition.dictionary.begin.json" 90 } 91 }, 92 "end": "\\}", 93 "endCaptures": { 94 "0": { 95 "name": "punctuation.definition.dictionary.end.json" 96 } 97 }, 98 "name": "meta.structure.dictionary.json", 99 "patterns": [ 100 { 101 "comment": "the JSON object key", 102 "include": "#objectkey" 103 }, 104 { 105 "include": "#comments" 106 }, 107 { 108 "begin": ":", 109 "beginCaptures": { 110 "0": { 111 "name": "punctuation.separator.dictionary.key-value.json" 112 } 113 }, 114 "end": "(,)|(?=\\})", 115 "endCaptures": { 116 "1": { 117 "name": "punctuation.separator.dictionary.pair.json" 118 } 119 }, 120 "name": "meta.structure.dictionary.value.json", 121 "patterns": [ 122 { 123 "comment": "the JSON object value", 124 "include": "#value" 125 }, 126 { 127 "match": "[^\\s,]", 128 "name": "invalid.illegal.expected-dictionary-separator.json" 129 } 130 ] 131 }, 132 { 133 "match": "[^\\s\\}]", 134 "name": "invalid.illegal.expected-dictionary-separator.json" 135 } 136 ] 137 }, 138 "string": { 139 "begin": "\"", 140 "beginCaptures": { 141 "0": { 142 "name": "punctuation.definition.string.begin.json" 143 } 144 }, 145 "end": "\"", 146 "endCaptures": { 147 "0": { 148 "name": "punctuation.definition.string.end.json" 149 } 150 }, 151 "name": "string.quoted.double.json", 152 "patterns": [ 153 { 154 "include": "#stringcontent" 155 } 156 ] 157 }, 158 "objectkey": { 159 "begin": "\"", 160 "beginCaptures": { 161 "0": { 162 "name": "punctuation.support.type.property-name.begin.json" 163 } 164 }, 165 "end": "\"", 166 "endCaptures": { 167 "0": { 168 "name": "punctuation.support.type.property-name.end.json" 169 } 170 }, 171 "name": "string.json support.type.property-name.json", 172 "patterns": [ 173 { 174 "include": "#stringcontent" 175 } 176 ] 177 }, 178 "stringcontent": { 179 "patterns": [ 180 { 181 "match": "(?x) # turn on extended mode\n \\\\ # a literal backslash\n (?: # ...followed by...\n [\"\\\\/bfnrt] # one of these characters\n | # ...or...\n u # a u\n [0-9a-fA-F]{4}) # and four hex digits", 182 "name": "constant.character.escape.json" 183 }, 184 { 185 "match": "\\\\.", 186 "name": "invalid.illegal.unrecognized-string-escape.json" 187 } 188 ] 189 }, 190 "value": { 191 "patterns": [ 192 { 193 "include": "#constant" 194 }, 195 { 196 "include": "#number" 197 }, 198 { 199 "include": "#string" 200 }, 201 { 202 "include": "#array" 203 }, 204 { 205 "include": "#object" 206 }, 207 { 208 "include": "#comments" 209 } 210 ] 211 } 212 } 213 }