var hjson_tmLanguage = {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:"(?