const n=Object.freeze({displayName:"Hjson",fileTypes:["hjson"],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 )`,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: ( (?:[^:,\\{\\}\\[\\]\\s"'][^:,\\{\\}\\[\\]\\s]*) | (?: ' (?: [^\\\\'] | (\\\\(?:["'\\\\\\/bfnrt]|u[0-9a-fA-F]{4})) | (\\\\.) )* ' ) | (?: " (?: [^\\\\"] | (\\\\(?:["'\\\\\\/bfnrt]|u[0-9a-fA-F]{4})) | (\\\\.) )* " ) ) \\s* (?!\\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:"(?