{"name":"JSON","scopeName":"source.json","patterns":[{"include":"#value"}],"repository":{"array":{"name":"meta.structure.array.json","begin":"\\[","end":"\\]","patterns":[{"include":"#value"},{"name":"punctuation.separator.array.json","match":","},{"name":"invalid.illegal.expected-array-separator.json","match":"[^\\s\\]]"}],"beginCaptures":{"0":{"name":"punctuation.definition.array.begin.json"}},"endCaptures":{"0":{"name":"punctuation.definition.array.end.json"}}},"constant":{"name":"constant.language.json","match":"\\b(?:true|false|null)\\b"},"number":{"name":"constant.numeric.json","match":"(?x: # turn on extended mode\n\t\t\t -? # an optional minus\n\t\t\t (?:\n\t\t\t 0 # a zero\n\t\t\t | # ...or...\n\t\t\t [1-9] # a 1-9 character\n\t\t\t \\d* # followed by zero or more digits\n\t\t\t )\n\t\t\t (?:\n\t\t\t (?:\n\t\t\t \\. # a period\n\t\t\t \\d+ # followed by one or more digits\n\t\t\t )?\n\t\t\t (?:\n\t\t\t [eE] # an e character\n\t\t\t [+-]? # followed by an option +/-\n\t\t\t \\d+ # followed by one or more digits\n\t\t\t )? # make exponent optional\n\t\t\t )? # make decimal portion optional\n\t\t\t )"},"object":{"name":"meta.structure.dictionary.json","begin":"\\{","end":"\\}","patterns":[{"include":"#string"},{"name":"meta.structure.dictionary.value.json","begin":":","end":"(,)|(?=\\})","patterns":[{"include":"#value"},{"name":"invalid.illegal.expected-dictionary-separator.json","match":"[^\\s,]"}],"beginCaptures":{"0":{"name":"punctuation.separator.dictionary.key-value.json"}},"endCaptures":{"1":{"name":"punctuation.separator.dictionary.pair.json"}}},{"name":"invalid.illegal.expected-dictionary-separator.json","match":"[^\\s\\}]"}],"beginCaptures":{"0":{"name":"punctuation.definition.dictionary.begin.json"}},"endCaptures":{"0":{"name":"punctuation.definition.dictionary.end.json"}}},"string":{"name":"string.quoted.double.json","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.json","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\n )\n )"},{"name":"invalid.illegal.unrecognized-string-escape.json","match":"\\\\."}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.json"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.json"}}},"value":{"patterns":[{"include":"#constant"},{"include":"#number"},{"include":"#string"},{"include":"#array"},{"include":"#object"}]}}}