fileTypes json sublime-settings sublime-menu sublime-keymap sublime-mousemap sublime-theme sublime-build sublime-project sublime-completions foldingStartMarker (?x) # turn on extended mode ^ # a line beginning with \s* # some optional space [{\[] # the start of an object or array (?! # but not followed by .* # whatever [}\]] # and the close of an object or array ,? # an optional comma \s* # some optional space $ # at the end of the line ) | # ...or... [{\[] # the start of an object or array \s* # some optional space $ # at the end of the line foldingStopMarker (?x) # turn on extended mode ^ # a line beginning with \s* # some optional space [}\]] # and the close of an object or array keyEquivalent ^~J name JSON (Javascript Next) patterns include #value repository array begin \[ beginCaptures 0 name punctuation.definition.array.begin.json end \] endCaptures 0 name punctuation.definition.array.end.json name meta.structure.array.json patterns include #value match , name punctuation.separator.array.json match [^\s\]] name invalid.illegal.expected-array-separator.json comments patterns begin /\*\* captures 0 name punctuation.definition.comment.json end \*/ name comment.block.documentation.json begin /\* captures 0 name punctuation.definition.comment.json end \*/ name comment.block.json captures 1 name punctuation.definition.comment.json match (//).*$\n? name comment.line.double-slash.js constant match \b(?:true|false|null)\b name constant.language.json number match (?x) # turn on extended mode -? # an optional minus (?: 0 # a zero | # ...or... [1-9] # a 1-9 character \d* # followed by zero or more digits ) (?: (?: \. # a period \d+ # followed by one or more digits )? (?: [eE] # an e character [+-]? # followed by an option +/- \d+ # followed by one or more digits )? # make exponent optional )? # make decimal portion optional name constant.numeric.json object begin \{ beginCaptures 0 name punctuation.definition.dictionary.begin.json end \} endCaptures 0 name punctuation.definition.dictionary.end.json name meta.structure.dictionary.json patterns comment the JSON object key include #objectkey include #comments begin : beginCaptures 0 name punctuation.separator.dictionary.key-value.json end (,)|(?=\}) endCaptures 1 name punctuation.separator.dictionary.pair.json name meta.structure.dictionary.value.json patterns comment the JSON object value include #value match [^\s,] name invalid.illegal.expected-dictionary-separator.json match [^\s\}] name invalid.illegal.expected-dictionary-separator.json string begin " beginCaptures 0 name punctuation.definition.string.begin.json end " endCaptures 0 name punctuation.definition.string.end.json name string.quoted.double.json patterns include #stringcontent objectkey begin " beginCaptures 0 name punctuation.support.type.property-name.begin.json end " endCaptures 0 name punctuation.support.type.property-name.end.json name support.type.property-name.json patterns include #stringcontent stringcontent patterns match (?x) # turn on extended mode \\ # a literal backslash (?: # ...followed by... ["\\/bfnrt] # one of these characters | # ...or... u # a u [0-9a-fA-F]{4}) # and four hex digits name constant.character.escape.json match \\. name invalid.illegal.unrecognized-string-escape.json value patterns include #constant include #number include #string include #array include #object include #comments scopeName source.json uuid 8f97457b-516e-48ce-83c7-08ae12fb327a