@shikijs/langs 3.4.2 → 3.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/go.mjs CHANGED
@@ -1,4 +1,4 @@
1
- const lang = Object.freeze(JSON.parse("{\"displayName\":\"Go\",\"name\":\"go\",\"patterns\":[{\"include\":\"#statements\"}],\"repository\":{\"after_control_variables\":{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"match\":\"\\\\[\",\"name\":\"punctuation.definition.begin.bracket.square.go\"},{\"match\":\"]\",\"name\":\"punctuation.definition.end.bracket.square.go\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.go\"}]}},\"match\":\"(?<=\\\\brange\\\\b|\\\\bswitch\\\\b|;|\\\\bif\\\\b|\\\\bfor\\\\b|[<>]|<=|>=|==|!=|\\\\w[-%*+/]|\\\\w[-%*+/]=|\\\\|\\\\||&&)\\\\s*((?![]\\\\[]+)[-\\\\]!%*+./:<=>\\\\[_[:alnum:]]+)\\\\s*(?=\\\\{)\"},\"brackets\":{\"patterns\":[{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.begin.bracket.curly.go\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.curly.go\"}},\"patterns\":[{\"include\":\"$self\"}]},{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.begin.bracket.round.go\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.round.go\"}},\"patterns\":[{\"include\":\"$self\"}]},{\"begin\":\"\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.begin.bracket.square.go\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.square.go\"}},\"patterns\":[{\"include\":\"$self\"}]}]},\"built_in_functions\":{\"patterns\":[{\"match\":\"\\\\b(append|cap|close|complex|copy|delete|imag|len|panic|print|println|real|recover|min|max|clear)\\\\b(?=\\\\()\",\"name\":\"entity.name.function.support.builtin.go\"},{\"begin\":\"\\\\b(new)\\\\b(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.function.support.builtin.go\"},\"2\":{\"name\":\"punctuation.definition.begin.bracket.round.go\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.round.go\"}},\"patterns\":[{\"include\":\"#functions\"},{\"include\":\"#struct_variables_types\"},{\"include\":\"#type-declarations\"},{\"include\":\"#generic_types\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"},{\"include\":\"$self\"}]},{\"begin\":\"\\\\b(make)\\\\b(\\\\()((?:(?:[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+(?:\\\\([^)]+\\\\))?)?[]*\\\\[]+{0,1}(?:(?!\\\\bmap\\\\b)[.\\\\w]+)?(\\\\[(?:\\\\S+(?:,\\\\s*\\\\S+)*)?])?,?)?\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.function.support.builtin.go\"},\"2\":{\"name\":\"punctuation.definition.begin.bracket.round.go\"},\"3\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"include\":\"#parameter-variable-types\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.round.go\"}},\"patterns\":[{\"include\":\"$self\"}]}]},\"comments\":{\"patterns\":[{\"begin\":\"(/\\\\*)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.comment.go\"}},\"end\":\"(\\\\*/)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.comment.go\"}},\"name\":\"comment.block.go\"},{\"begin\":\"(//)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.comment.go\"}},\"end\":\"\\\\n|$\",\"name\":\"comment.line.double-slash.go\"}]},\"const_assignment\":{\"patterns\":[{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#delimiters\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.constant.go\"}]},\"2\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"include\":\"#generic_types\"},{\"match\":\"\\\\(\",\"name\":\"punctuation.definition.begin.bracket.round.go\"},{\"match\":\"\\\\)\",\"name\":\"punctuation.definition.end.bracket.round.go\"},{\"match\":\"\\\\[\",\"name\":\"punctuation.definition.begin.bracket.square.go\"},{\"match\":\"]\",\"name\":\"punctuation.definition.end.bracket.square.go\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"(?<=\\\\bconst\\\\b)\\\\s*\\\\b([.\\\\w]+(?:,\\\\s*[.\\\\w]+)*)\\\\s*((?:(?:[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+(?:\\\\([^)]+\\\\))?)?(?![]*\\\\[]+{0,1}\\\\b(?:struct|func|map)\\\\b)(?:[]*.\\\\[\\\\w]+(?:,\\\\s*[]*.\\\\[\\\\w]+)*)?\\\\s*=?)?\"},{\"begin\":\"(?<=\\\\bconst\\\\b)\\\\s*(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.begin.bracket.round.go\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.round.go\"}},\"patterns\":[{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#delimiters\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.constant.go\"}]},\"2\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"include\":\"#generic_types\"},{\"match\":\"\\\\(\",\"name\":\"punctuation.definition.begin.bracket.round.go\"},{\"match\":\"\\\\)\",\"name\":\"punctuation.definition.end.bracket.round.go\"},{\"match\":\"\\\\[\",\"name\":\"punctuation.definition.begin.bracket.square.go\"},{\"match\":\"]\",\"name\":\"punctuation.definition.end.bracket.square.go\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"^\\\\s*\\\\b([.\\\\w]+(?:,\\\\s*[.\\\\w]+)*)\\\\s*((?:(?:[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+(?:\\\\([^)]+\\\\))?)?(?![]*\\\\[]+{0,1}\\\\b(?:struct|func|map)\\\\b)(?:[]*.\\\\[\\\\w]+(?:,\\\\s*[]*.\\\\[\\\\w]+)*)?\\\\s*=?)?\"},{\"include\":\"$self\"}]}]},\"delimiters\":{\"patterns\":[{\"match\":\",\",\"name\":\"punctuation.other.comma.go\"},{\"match\":\"\\\\.(?!\\\\.\\\\.)\",\"name\":\"punctuation.other.period.go\"},{\"match\":\":(?!=)\",\"name\":\"punctuation.other.colon.go\"}]},\"double_parentheses_types\":{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"match\":\"\\\\(\",\"name\":\"punctuation.definition.begin.bracket.round.go\"},{\"match\":\"\\\\)\",\"name\":\"punctuation.definition.end.bracket.round.go\"},{\"match\":\"\\\\[\",\"name\":\"punctuation.definition.begin.bracket.square.go\"},{\"match\":\"]\",\"name\":\"punctuation.definition.end.bracket.square.go\"},{\"match\":\"\\\\{\",\"name\":\"punctuation.definition.begin.bracket.curly.go\"},{\"match\":\"}\",\"name\":\"punctuation.definition.end.bracket.curly.go\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"(?<!\\\\w)(\\\\([]*\\\\[]+{0,1}[.\\\\w]+(?:\\\\[(?:[]*.\\\\[{}\\\\w]+(?:,\\\\s*[]*.\\\\[{}\\\\w]+)*)?])?\\\\))(?=\\\\()\"},\"field_hover\":{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.property.go\"}]},\"2\":{\"patterns\":[{\"match\":\"\\\\binvalid\\\\b\\\\s+\\\\btype\\\\b\",\"name\":\"invalid.field.go\"},{\"include\":\"#type-declarations-without-brackets\"},{\"include\":\"#parameter-variable-types\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"(?<=^\\\\bfield\\\\b)\\\\s+([*.\\\\w]+)\\\\s+([\\\\s\\\\S]+)\"},\"function_declaration\":{\"begin\":\"^\\\\b(func)\\\\b\\\\s*(\\\\([^)]+\\\\)\\\\s*)?(?:(\\\\w+)(?=[(\\\\[]))?\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.function.go\"},\"2\":{\"patterns\":[{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.begin.bracket.round.go\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.round.go\"}},\"patterns\":[{\"captures\":{\"1\":{\"name\":\"variable.parameter.go\"},\"2\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"include\":\"#parameter-variable-types\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"(\\\\w+\\\\s+)?([*.\\\\w]+(?:\\\\[(?:[*.\\\\w]+(?:,\\\\s+)?)+{0,1}])?)\"},{\"include\":\"$self\"}]}]},\"3\":{\"patterns\":[{\"match\":\"\\\\d\\\\w*\",\"name\":\"invalid.illegal.identifier.go\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.function.go\"}]}},\"end\":\"(?<=\\\\))\\\\s*((?:[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}(?![]*\\\\[]+{0,1}\\\\b(?:struct|interface)\\\\b)[-\\\\]*.\\\\[\\\\w]+)?\\\\s*(?=\\\\{)\",\"endCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"include\":\"#parameter-variable-types\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"patterns\":[{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.begin.bracket.round.go\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.round.go\"}},\"patterns\":[{\"include\":\"#function_param_types\"}]},{\"begin\":\"([*.\\\\w]+)?(\\\\[)\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]},\"2\":{\"name\":\"punctuation.definition.begin.bracket.square.go\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.square.go\"}},\"patterns\":[{\"include\":\"#generic_param_types\"}]},{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"include\":\"#parameter-variable-types\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"(?<=\\\\))\\\\s*((?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}[-\\\\]*.<>\\\\[\\\\w]+\\\\s*(?:/[*/].*)?)$\"},{\"include\":\"$self\"}]},\"function_param_types\":{\"patterns\":[{\"include\":\"#struct_variables_types\"},{\"include\":\"#interface_variables_types\"},{\"include\":\"#type-declarations-without-brackets\"},{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"variable.parameter.go\"}]}},\"match\":\"((?:\\\\b\\\\w+,\\\\s*)+{0,1}\\\\b\\\\w+)\\\\s+(?=(?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}[]*\\\\[]+{0,1}\\\\b(?:struct|interface)\\\\b\\\\s*\\\\{)\"},{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"variable.parameter.go\"}]}},\"match\":\"(?:(?<=\\\\()|^\\\\s*)((?:\\\\b\\\\w+,\\\\s*)+(?:/[*/].*)?)$\"},{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#delimiters\"},{\"match\":\"\\\\w+\",\"name\":\"variable.parameter.go\"}]},\"2\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"include\":\"#parameter-variable-types\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"((?:\\\\b\\\\w+,\\\\s*)+{0,1}\\\\b\\\\w+)\\\\s+((?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}(?:[]*.\\\\[\\\\w]+{0,1}(?:\\\\bfunc\\\\b\\\\([^)]+{0,1}\\\\)(?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}\\\\s*)+(?:[]*.\\\\[\\\\w]+|\\\\([^)]+{0,1}\\\\))?|(?:[]*\\\\[]+{0,1}[*.\\\\w]+(?:\\\\[[^]]+])?[*.\\\\w]+{0,1})+))\"},{\"begin\":\"([*.\\\\w]+)?(\\\\[)\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]},\"2\":{\"name\":\"punctuation.definition.begin.bracket.square.go\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.square.go\"}},\"patterns\":[{\"include\":\"#generic_param_types\"}]},{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.begin.bracket.round.go\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.round.go\"}},\"patterns\":[{\"include\":\"#function_param_types\"}]},{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"([.\\\\w]+)\"},{\"include\":\"$self\"}]},\"functions\":{\"begin\":\"\\\\b(func)\\\\b(?=\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.function.go\"}},\"end\":\"(?<=\\\\))(\\\\s*(?:[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+)?(\\\\s*(?:[]*\\\\[]+{0,1}[*.\\\\w]+)?(?:\\\\[(?:[*.\\\\w]+{0,1}(?:\\\\[[^]]+{0,1}])?(?:,\\\\s+)?)+]|\\\\([^)]+{0,1}\\\\))?[*.\\\\w]+{0,1}\\\\s*(?=\\\\{)|\\\\s*(?:[]*\\\\[]+{0,1}(?!\\\\bfunc\\\\b)[*.\\\\w]+(?:\\\\[(?:[*.\\\\w]+{0,1}(?:\\\\[[^]]+{0,1}])?(?:,\\\\s+)?)+])?[*.\\\\w]+{0,1}|\\\\([^)]+{0,1}\\\\)))?\",\"endCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"}]},\"2\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"include\":\"#parameter-variable-types\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"patterns\":[{\"include\":\"#parameter-variable-types\"}]},\"functions_inline\":{\"captures\":{\"1\":{\"name\":\"keyword.function.go\"},\"2\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.begin.bracket.round.go\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.round.go\"}},\"patterns\":[{\"include\":\"#function_param_types\"},{\"include\":\"$self\"}]},{\"match\":\"\\\\[\",\"name\":\"punctuation.definition.begin.bracket.square.go\"},{\"match\":\"]\",\"name\":\"punctuation.definition.end.bracket.square.go\"},{\"match\":\"\\\\{\",\"name\":\"punctuation.definition.begin.bracket.curly.go\"},{\"match\":\"}\",\"name\":\"punctuation.definition.end.bracket.curly.go\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"\\\\b(func)\\\\b(\\\\([^/]*?\\\\)\\\\s+\\\\([^/]*?\\\\))\\\\s+(?=\\\\{)\"},\"generic_param_types\":{\"patterns\":[{\"include\":\"#struct_variables_types\"},{\"include\":\"#interface_variables_types\"},{\"include\":\"#type-declarations-without-brackets\"},{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"variable.parameter.go\"}]}},\"match\":\"((?:\\\\b\\\\w+,\\\\s*)+{0,1}\\\\b\\\\w+)\\\\s+(?=(?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}[]*\\\\[]+{0,1}\\\\b(?:struct|interface)\\\\b\\\\s*\\\\{)\"},{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"variable.parameter.go\"}]}},\"match\":\"(?:(?<=\\\\()|^\\\\s*)((?:\\\\b\\\\w+,\\\\s*)+(?:/[*/].*)?)$\"},{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#delimiters\"},{\"match\":\"\\\\w+\",\"name\":\"variable.parameter.go\"}]},\"2\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"include\":\"#parameter-variable-types\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]},\"3\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"((?:\\\\b\\\\w+,\\\\s*)+{0,1}\\\\b\\\\w+)\\\\s+((?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}(?:[]*.\\\\[\\\\w]+{0,1}(?:\\\\bfunc\\\\b\\\\([^)]+{0,1}\\\\)(?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}\\\\s*)+(?:[*.\\\\w]+|\\\\([^)]+{0,1}\\\\))?|(?:(?:[*.~\\\\w]+|\\\\[(?:[*.\\\\w]+{0,1}(?:\\\\[[^]]+{0,1}])?(?:,\\\\s+)?)+])[*.\\\\w]+{0,1})+))\"},{\"begin\":\"([*.\\\\w]+)?(\\\\[)\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]},\"2\":{\"name\":\"punctuation.definition.begin.bracket.square.go\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.square.go\"}},\"patterns\":[{\"include\":\"#generic_param_types\"}]},{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.begin.bracket.round.go\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.round.go\"}},\"patterns\":[{\"include\":\"#function_param_types\"}]},{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"\\\\b([.\\\\w]+)\"},{\"include\":\"$self\"}]},\"generic_types\":{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]},\"2\":{\"patterns\":[{\"include\":\"#parameter-variable-types\"}]}},\"match\":\"([*.\\\\w]+)(\\\\[[^]]+{0,1}])\"},\"group-functions\":{\"patterns\":[{\"include\":\"#function_declaration\"},{\"include\":\"#functions_inline\"},{\"include\":\"#functions\"},{\"include\":\"#built_in_functions\"},{\"include\":\"#support_functions\"}]},\"group-types\":{\"patterns\":[{\"include\":\"#other_struct_interface_expressions\"},{\"include\":\"#type_assertion_inline\"},{\"include\":\"#struct_variables_types\"},{\"include\":\"#interface_variables_types\"},{\"include\":\"#single_type\"},{\"include\":\"#multi_types\"},{\"include\":\"#struct_interface_declaration\"},{\"include\":\"#double_parentheses_types\"},{\"include\":\"#switch_types\"},{\"include\":\"#type-declarations\"}]},\"group-variables\":{\"patterns\":[{\"include\":\"#const_assignment\"},{\"include\":\"#var_assignment\"},{\"include\":\"#variable_assignment\"},{\"include\":\"#label_loop_variables\"},{\"include\":\"#slice_index_variables\"},{\"include\":\"#property_variables\"},{\"include\":\"#switch_select_case_variables\"},{\"include\":\"#other_variables\"}]},\"import\":{\"patterns\":[{\"begin\":\"\\\\b(import)\\\\s+\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.import.go\"}},\"end\":\"(?!\\\\G)\",\"patterns\":[{\"include\":\"#imports\"}]}]},\"imports\":{\"patterns\":[{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#delimiters\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.import.go\"}]},\"2\":{\"name\":\"string.quoted.double.go\"},\"3\":{\"name\":\"punctuation.definition.string.begin.go\"},\"4\":{\"name\":\"entity.name.import.go\"},\"5\":{\"name\":\"punctuation.definition.string.end.go\"}},\"match\":\"(\\\\s*[.\\\\w]+)?\\\\s*((\\\")([^\\\"]*)(\\\"))\"},{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.imports.begin.bracket.round.go\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.imports.end.bracket.round.go\"}},\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#imports\"}]},{\"include\":\"$self\"}]},\"interface_variables_types\":{\"begin\":\"\\\\b(interface)\\\\b\\\\s*(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.interface.go\"},\"2\":{\"name\":\"punctuation.definition.begin.bracket.curly.go\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.curly.go\"}},\"patterns\":[{\"include\":\"#interface_variables_types_field\"},{\"include\":\"$self\"}]},\"interface_variables_types_field\":{\"patterns\":[{\"include\":\"#support_functions\"},{\"include\":\"#type-declarations-without-brackets\"},{\"begin\":\"([*.\\\\w]+)?(\\\\[)\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]},\"2\":{\"name\":\"punctuation.definition.begin.bracket.square.go\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.square.go\"}},\"patterns\":[{\"include\":\"#generic_param_types\"}]},{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.begin.bracket.round.go\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.round.go\"}},\"patterns\":[{\"include\":\"#function_param_types\"}]},{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"([.\\\\w]+)\"}]},\"keywords\":{\"patterns\":[{\"match\":\"\\\\b(break|case|continue|default|defer|else|fallthrough|for|go|goto|if|range|return|select|switch)\\\\b\",\"name\":\"keyword.control.go\"},{\"match\":\"\\\\bchan\\\\b\",\"name\":\"keyword.channel.go\"},{\"match\":\"\\\\bconst\\\\b\",\"name\":\"keyword.const.go\"},{\"match\":\"\\\\bvar\\\\b\",\"name\":\"keyword.var.go\"},{\"match\":\"\\\\bfunc\\\\b\",\"name\":\"keyword.function.go\"},{\"match\":\"\\\\binterface\\\\b\",\"name\":\"keyword.interface.go\"},{\"match\":\"\\\\bmap\\\\b\",\"name\":\"keyword.map.go\"},{\"match\":\"\\\\bstruct\\\\b\",\"name\":\"keyword.struct.go\"},{\"match\":\"\\\\bimport\\\\b\",\"name\":\"keyword.control.import.go\"},{\"match\":\"\\\\btype\\\\b\",\"name\":\"keyword.type.go\"}]},\"label_loop_variables\":{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.label.go\"}]}},\"match\":\"^(\\\\s*\\\\w+:\\\\s*|\\\\s*\\\\b(?:break|goto|continue)\\\\b\\\\s+\\\\w+(?:\\\\s*/[*/]\\\\s*.*)?)$\"},\"language_constants\":{\"captures\":{\"1\":{\"name\":\"constant.language.boolean.go\"},\"2\":{\"name\":\"constant.language.null.go\"},\"3\":{\"name\":\"constant.language.iota.go\"}},\"match\":\"\\\\b(?:(true|false)|(nil)|(iota))\\\\b\"},\"map_types\":{\"begin\":\"\\\\b(map)\\\\b(\\\\[)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.map.go\"},\"2\":{\"name\":\"punctuation.definition.begin.bracket.square.go\"}},\"end\":\"(])((?:[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}(?![]*\\\\[]+{0,1}\\\\b(?:func|struct|map)\\\\b)[]*\\\\[]+{0,1}[.\\\\w]+(?:\\\\[(?:[]*.\\\\[{}\\\\w]+(?:,\\\\s*[]*.\\\\[{}\\\\w]+)*)?])?)?\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.end.bracket.square.go\"},\"2\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"match\":\"\\\\[\",\"name\":\"punctuation.definition.begin.bracket.square.go\"},{\"match\":\"]\",\"name\":\"punctuation.definition.end.bracket.square.go\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"include\":\"#parameter-variable-types\"},{\"include\":\"#functions\"},{\"match\":\"\\\\[\",\"name\":\"punctuation.definition.begin.bracket.square.go\"},{\"match\":\"]\",\"name\":\"punctuation.definition.end.bracket.square.go\"},{\"match\":\"\\\\{\",\"name\":\"punctuation.definition.begin.bracket.curly.go\"},{\"match\":\"}\",\"name\":\"punctuation.definition.end.bracket.curly.go\"},{\"match\":\"\\\\(\",\"name\":\"punctuation.definition.begin.bracket.round.go\"},{\"match\":\"\\\\)\",\"name\":\"punctuation.definition.end.bracket.round.go\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]},\"multi_types\":{\"begin\":\"\\\\b(type)\\\\b\\\\s*(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.type.go\"},\"2\":{\"name\":\"punctuation.definition.begin.bracket.round.go\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.round.go\"}},\"patterns\":[{\"include\":\"#struct_variables_types\"},{\"include\":\"#interface_variables_types\"},{\"include\":\"#type-declarations-without-brackets\"},{\"include\":\"#parameter-variable-types\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]},\"numeric_literals\":{\"captures\":{\"0\":{\"patterns\":[{\"begin\":\"(?=.)\",\"end\":\"\\\\n|$\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"constant.numeric.decimal.go\",\"patterns\":[{\"match\":\"(?<=\\\\h)_(?=\\\\h)\",\"name\":\"punctuation.separator.constant.numeric.go\"}]},\"2\":{\"name\":\"punctuation.separator.constant.numeric.go\"},\"3\":{\"name\":\"constant.numeric.decimal.point.go\"},\"4\":{\"name\":\"constant.numeric.decimal.go\",\"patterns\":[{\"match\":\"(?<=\\\\h)_(?=\\\\h)\",\"name\":\"punctuation.separator.constant.numeric.go\"}]},\"5\":{\"name\":\"punctuation.separator.constant.numeric.go\"},\"6\":{\"name\":\"keyword.other.unit.exponent.decimal.go\"},\"7\":{\"name\":\"keyword.operator.plus.exponent.decimal.go\"},\"8\":{\"name\":\"keyword.operator.minus.exponent.decimal.go\"},\"9\":{\"name\":\"constant.numeric.exponent.decimal.go\",\"patterns\":[{\"match\":\"(?<=\\\\h)_(?=\\\\h)\",\"name\":\"punctuation.separator.constant.numeric.go\"}]},\"10\":{\"name\":\"keyword.other.unit.imaginary.go\"},\"11\":{\"name\":\"constant.numeric.decimal.go\",\"patterns\":[{\"match\":\"(?<=\\\\h)_(?=\\\\h)\",\"name\":\"punctuation.separator.constant.numeric.go\"}]},\"12\":{\"name\":\"punctuation.separator.constant.numeric.go\"},\"13\":{\"name\":\"keyword.other.unit.exponent.decimal.go\"},\"14\":{\"name\":\"keyword.operator.plus.exponent.decimal.go\"},\"15\":{\"name\":\"keyword.operator.minus.exponent.decimal.go\"},\"16\":{\"name\":\"constant.numeric.exponent.decimal.go\",\"patterns\":[{\"match\":\"(?<=\\\\h)_(?=\\\\h)\",\"name\":\"punctuation.separator.constant.numeric.go\"}]},\"17\":{\"name\":\"keyword.other.unit.imaginary.go\"},\"18\":{\"name\":\"constant.numeric.decimal.point.go\"},\"19\":{\"name\":\"constant.numeric.decimal.go\",\"patterns\":[{\"match\":\"(?<=\\\\h)_(?=\\\\h)\",\"name\":\"punctuation.separator.constant.numeric.go\"}]},\"20\":{\"name\":\"punctuation.separator.constant.numeric.go\"},\"21\":{\"name\":\"keyword.other.unit.exponent.decimal.go\"},\"22\":{\"name\":\"keyword.operator.plus.exponent.decimal.go\"},\"23\":{\"name\":\"keyword.operator.minus.exponent.decimal.go\"},\"24\":{\"name\":\"constant.numeric.exponent.decimal.go\",\"patterns\":[{\"match\":\"(?<=\\\\h)_(?=\\\\h)\",\"name\":\"punctuation.separator.constant.numeric.go\"}]},\"25\":{\"name\":\"keyword.other.unit.imaginary.go\"},\"26\":{\"name\":\"keyword.other.unit.hexadecimal.go\"},\"27\":{\"name\":\"constant.numeric.hexadecimal.go\",\"patterns\":[{\"match\":\"(?<=\\\\h)_(?=\\\\h)\",\"name\":\"punctuation.separator.constant.numeric.go\"}]},\"28\":{\"name\":\"punctuation.separator.constant.numeric.go\"},\"29\":{\"name\":\"constant.numeric.hexadecimal.go\"},\"30\":{\"name\":\"constant.numeric.hexadecimal.go\",\"patterns\":[{\"match\":\"(?<=\\\\h)_(?=\\\\h)\",\"name\":\"punctuation.separator.constant.numeric.go\"}]},\"31\":{\"name\":\"punctuation.separator.constant.numeric.go\"},\"32\":{\"name\":\"keyword.other.unit.exponent.hexadecimal.go\"},\"33\":{\"name\":\"keyword.operator.plus.exponent.hexadecimal.go\"},\"34\":{\"name\":\"keyword.operator.minus.exponent.hexadecimal.go\"},\"35\":{\"name\":\"constant.numeric.exponent.hexadecimal.go\",\"patterns\":[{\"match\":\"(?<=\\\\h)_(?=\\\\h)\",\"name\":\"punctuation.separator.constant.numeric.go\"}]},\"36\":{\"name\":\"keyword.other.unit.imaginary.go\"},\"37\":{\"name\":\"keyword.other.unit.hexadecimal.go\"},\"38\":{\"name\":\"constant.numeric.hexadecimal.go\",\"patterns\":[{\"match\":\"(?<=\\\\h)_(?=\\\\h)\",\"name\":\"punctuation.separator.constant.numeric.go\"}]},\"39\":{\"name\":\"punctuation.separator.constant.numeric.go\"},\"40\":{\"name\":\"keyword.other.unit.exponent.hexadecimal.go\"},\"41\":{\"name\":\"keyword.operator.plus.exponent.hexadecimal.go\"},\"42\":{\"name\":\"keyword.operator.minus.exponent.hexadecimal.go\"},\"43\":{\"name\":\"constant.numeric.exponent.hexadecimal.go\",\"patterns\":[{\"match\":\"(?<=\\\\h)_(?=\\\\h)\",\"name\":\"punctuation.separator.constant.numeric.go\"}]},\"44\":{\"name\":\"keyword.other.unit.imaginary.go\"},\"45\":{\"name\":\"keyword.other.unit.hexadecimal.go\"},\"46\":{\"name\":\"constant.numeric.hexadecimal.go\"},\"47\":{\"name\":\"constant.numeric.hexadecimal.go\",\"patterns\":[{\"match\":\"(?<=\\\\h)_(?=\\\\h)\",\"name\":\"punctuation.separator.constant.numeric.go\"}]},\"48\":{\"name\":\"punctuation.separator.constant.numeric.go\"},\"49\":{\"name\":\"keyword.other.unit.exponent.hexadecimal.go\"},\"50\":{\"name\":\"keyword.operator.plus.exponent.hexadecimal.go\"},\"51\":{\"name\":\"keyword.operator.minus.exponent.hexadecimal.go\"},\"52\":{\"name\":\"constant.numeric.exponent.hexadecimal.go\",\"patterns\":[{\"match\":\"(?<=\\\\h)_(?=\\\\h)\",\"name\":\"punctuation.separator.constant.numeric.go\"}]},\"53\":{\"name\":\"keyword.other.unit.imaginary.go\"}},\"match\":\"\\\\G(?:(?:(?:(?:(?:(?=[.0-9])(?!0[BOXbox])([0-9](?:[0-9]|((?<=\\\\h)_(?=\\\\h)))*)((?<=[0-9])\\\\.|\\\\.(?=[0-9]))([0-9](?:[0-9]|((?<=\\\\h)_(?=\\\\h)))*)?(?:(?<!_)([Ee])(\\\\+?)(-?)([0-9](?:[0-9]|(?<=\\\\h)_(?=\\\\h))*))?(i(?!\\\\w))?(?:\\\\n|$)|(?=[.0-9])(?!0[BOXbox])([0-9](?:[0-9]|((?<=\\\\h)_(?=\\\\h)))*)(?<!_)([Ee])(\\\\+?)(-?)([0-9](?:[0-9]|(?<=\\\\h)_(?=\\\\h))*)(i(?!\\\\w))?(?:\\\\n|$))|((?<=[0-9])\\\\.|\\\\.(?=[0-9]))([0-9](?:[0-9]|((?<=\\\\h)_(?=\\\\h)))*)(?:(?<!_)([Ee])(\\\\+?)(-?)([0-9](?:[0-9]|(?<=\\\\h)_(?=\\\\h))*))?(i(?!\\\\w))?(?:\\\\n|$))|(0[Xx])_?(\\\\h(?:\\\\h|((?<=\\\\h)_(?=\\\\h)))*)((?<=\\\\h)\\\\.|\\\\.(?=\\\\h))(\\\\h(?:\\\\h|((?<=\\\\h)_(?=\\\\h)))*)?(?<!_)([Pp])(\\\\+?)(-?)([0-9](?:[0-9]|(?<=\\\\h)_(?=\\\\h))*)(i(?!\\\\w))?(?:\\\\n|$))|(0[Xx])_?(\\\\h(?:\\\\h|((?<=\\\\h)_(?=\\\\h)))*)(?<!_)([Pp])(\\\\+?)(-?)([0-9](?:[0-9]|(?<=\\\\h)_(?=\\\\h))*)(i(?!\\\\w))?(?:\\\\n|$))|(0[Xx])((?<=\\\\h)\\\\.|\\\\.(?=\\\\h))(\\\\h(?:\\\\h|((?<=\\\\h)_(?=\\\\h)))*)(?<!_)([Pp])(\\\\+?)(-?)([0-9](?:[0-9]|(?<=\\\\h)_(?=\\\\h))*)(i(?!\\\\w))?(?:\\\\n|$))\"},{\"captures\":{\"1\":{\"name\":\"constant.numeric.decimal.go\",\"patterns\":[{\"match\":\"(?<=\\\\h)_(?=\\\\h)\",\"name\":\"punctuation.separator.constant.numeric.go\"}]},\"2\":{\"name\":\"punctuation.separator.constant.numeric.go\"},\"3\":{\"name\":\"keyword.other.unit.imaginary.go\"},\"4\":{\"name\":\"keyword.other.unit.binary.go\"},\"5\":{\"name\":\"constant.numeric.binary.go\",\"patterns\":[{\"match\":\"(?<=\\\\h)_(?=\\\\h)\",\"name\":\"punctuation.separator.constant.numeric.go\"}]},\"6\":{\"name\":\"punctuation.separator.constant.numeric.go\"},\"7\":{\"name\":\"keyword.other.unit.imaginary.go\"},\"8\":{\"name\":\"keyword.other.unit.octal.go\"},\"9\":{\"name\":\"constant.numeric.octal.go\",\"patterns\":[{\"match\":\"(?<=\\\\h)_(?=\\\\h)\",\"name\":\"punctuation.separator.constant.numeric.go\"}]},\"10\":{\"name\":\"punctuation.separator.constant.numeric.go\"},\"11\":{\"name\":\"keyword.other.unit.imaginary.go\"},\"12\":{\"name\":\"keyword.other.unit.hexadecimal.go\"},\"13\":{\"name\":\"constant.numeric.hexadecimal.go\",\"patterns\":[{\"match\":\"(?<=\\\\h)_(?=\\\\h)\",\"name\":\"punctuation.separator.constant.numeric.go\"}]},\"14\":{\"name\":\"punctuation.separator.constant.numeric.go\"},\"15\":{\"name\":\"keyword.other.unit.imaginary.go\"}},\"match\":\"\\\\G(?:(?:(?:(?=[.0-9])(?!0[BOXbox])([0-9](?:[0-9]|((?<=\\\\h)_(?=\\\\h)))*)(i(?!\\\\w))?(?:\\\\n|$)|(0[Bb])_?([01](?:[01]|((?<=\\\\h)_(?=\\\\h)))*)(i(?!\\\\w))?(?:\\\\n|$))|(0[Oo]?)_?((?:[0-7]|((?<=\\\\h)_(?=\\\\h)))+)(i(?!\\\\w))?(?:\\\\n|$))|(0[Xx])_?(\\\\h(?:\\\\h|((?<=\\\\h)_(?=\\\\h)))*)(i(?!\\\\w))?(?:\\\\n|$))\"},{\"match\":\"(?:[.0-9A-Z_a-z]|(?<=[EPep])[-+])+\",\"name\":\"invalid.illegal.constant.numeric.go\"}]}]}},\"match\":\"(?<!\\\\w)\\\\.?\\\\d(?:[.0-9A-Z_a-z]|(?<=[EPep])[-+])*\"},\"operators\":{\"patterns\":[{\"match\":\"([\\\\&*]+)(?!\\\\d)(?=[]\\\\[\\\\w]|<-)\",\"name\":\"keyword.operator.address.go\"},{\"match\":\"<-\",\"name\":\"keyword.operator.channel.go\"},{\"match\":\"--\",\"name\":\"keyword.operator.decrement.go\"},{\"match\":\"\\\\+\\\\+\",\"name\":\"keyword.operator.increment.go\"},{\"match\":\"(==|!=|<=|>=|<(?!<)|>(?!>))\",\"name\":\"keyword.operator.comparison.go\"},{\"match\":\"(&&|\\\\|\\\\||!)\",\"name\":\"keyword.operator.logical.go\"},{\"match\":\"((?:|[-%*+/:^|]|<<|>>|&\\\\^?)=)\",\"name\":\"keyword.operator.assignment.go\"},{\"match\":\"([-%*+/])\",\"name\":\"keyword.operator.arithmetic.go\"},{\"match\":\"(&(?!\\\\^)|[\\\\^|]|&\\\\^|<<|>>|~)\",\"name\":\"keyword.operator.arithmetic.bitwise.go\"},{\"match\":\"\\\\.\\\\.\\\\.\",\"name\":\"keyword.operator.ellipsis.go\"}]},\"other_struct_interface_expressions\":{\"patterns\":[{\"include\":\"#after_control_variables\"},{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]},\"2\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"match\":\"\\\\[\",\"name\":\"punctuation.definition.begin.bracket.square.go\"},{\"match\":\"]\",\"name\":\"punctuation.definition.end.bracket.square.go\"},{\"match\":\"\\\\{\",\"name\":\"punctuation.definition.begin.bracket.curly.go\"},{\"match\":\"}\",\"name\":\"punctuation.definition.end.bracket.curly.go\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"\\\\b([.\\\\w]+)(\\\\[(?:[]*.\\\\[{}\\\\w]+(?:,\\\\s*[]*.\\\\[{}\\\\w]+)*)?])?(?=\\\\{)(?<!\\\\b(?:struct|interface)\\\\b)\"}]},\"other_variables\":{\"match\":\"\\\\w+\",\"name\":\"variable.other.go\"},\"package_name\":{\"patterns\":[{\"begin\":\"\\\\b(package)\\\\s+\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.package.go\"}},\"end\":\"(?!\\\\G)\",\"patterns\":[{\"match\":\"\\\\d\\\\w*\",\"name\":\"invalid.illegal.identifier.go\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.package.go\"}]}]},\"parameter-variable-types\":{\"patterns\":[{\"match\":\"\\\\{\",\"name\":\"punctuation.definition.begin.bracket.curly.go\"},{\"match\":\"}\",\"name\":\"punctuation.definition.end.bracket.curly.go\"},{\"begin\":\"([*.\\\\w]+)?(\\\\[)\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]},\"2\":{\"name\":\"punctuation.definition.begin.bracket.square.go\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.square.go\"}},\"patterns\":[{\"include\":\"#generic_param_types\"}]},{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.begin.bracket.round.go\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.round.go\"}},\"patterns\":[{\"include\":\"#function_param_types\"}]}]},\"property_variables\":{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.property.go\"}]}},\"match\":\"\\\\b([.\\\\w]+:(?!=))\"},\"raw_string_literals\":{\"begin\":\"`\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.go\"}},\"end\":\"`\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.go\"}},\"name\":\"string.quoted.raw.go\",\"patterns\":[{\"include\":\"#string_placeholder\"}]},\"runes\":{\"patterns\":[{\"begin\":\"'\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.go\"}},\"end\":\"'\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.go\"}},\"name\":\"string.quoted.rune.go\",\"patterns\":[{\"match\":\"\\\\G(\\\\\\\\([0-7]{3}|[\\\"'\\\\\\\\abfnrtv]|x\\\\h{2}|u\\\\h{4}|U\\\\h{8})|.)(?=')\",\"name\":\"constant.other.rune.go\"},{\"match\":\"[^']+\",\"name\":\"invalid.illegal.unknown-rune.go\"}]}]},\"single_type\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"keyword.type.go\"},\"2\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]},\"3\":{\"patterns\":[{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.begin.bracket.round.go\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.round.go\"}},\"patterns\":[{\"include\":\"#function_param_types\"},{\"include\":\"$self\"}]},{\"include\":\"#type-declarations\"},{\"include\":\"#generic_types\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"^\\\\s*\\\\b(type)\\\\b\\\\s*([*.\\\\w]+)\\\\s+(?!(?:=\\\\s*)?[]*\\\\[]+{0,1}\\\\b(?:struct|interface)\\\\b)([\\\\s\\\\S]+)\"},{\"begin\":\"(?:^|\\\\s+)\\\\b(type)\\\\b\\\\s*([*.\\\\w]+)(?=\\\\[)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.type.go\"},\"2\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"end\":\"(?<=])(\\\\s+(?:=\\\\s*)?(?:[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}(?![]*\\\\[]+{0,1}\\\\b(?:struct|interface|func)\\\\b)[-\\\\]*.\\\\[\\\\w]+(?:,\\\\s*[]*.\\\\[\\\\w]+)*)?\",\"endCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"match\":\"\\\\[\",\"name\":\"punctuation.definition.begin.bracket.square.go\"},{\"match\":\"]\",\"name\":\"punctuation.definition.end.bracket.square.go\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"patterns\":[{\"include\":\"#struct_variables_types\"},{\"include\":\"#type-declarations-without-brackets\"},{\"include\":\"#parameter-variable-types\"},{\"match\":\"\\\\[\",\"name\":\"punctuation.definition.begin.bracket.square.go\"},{\"match\":\"]\",\"name\":\"punctuation.definition.end.bracket.square.go\"},{\"match\":\"\\\\{\",\"name\":\"punctuation.definition.begin.bracket.curly.go\"},{\"match\":\"}\",\"name\":\"punctuation.definition.end.bracket.curly.go\"},{\"match\":\"\\\\(\",\"name\":\"punctuation.definition.begin.bracket.round.go\"},{\"match\":\"\\\\)\",\"name\":\"punctuation.definition.end.bracket.round.go\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}]},\"slice_index_variables\":{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.go\"}]}},\"match\":\"(?<=\\\\w\\\\[)((?:\\\\b[-%\\\\&*+./<>|\\\\w]+:|:\\\\b[-%\\\\&*+./<>|\\\\w]+)(?:\\\\b[-%\\\\&*+./<>|\\\\w]+)?(?::\\\\b[-%\\\\&*+./<>|\\\\w]+)?)(?=])\"},\"statements\":{\"patterns\":[{\"include\":\"#package_name\"},{\"include\":\"#import\"},{\"include\":\"#syntax_errors\"},{\"include\":\"#group-functions\"},{\"include\":\"#group-types\"},{\"include\":\"#group-variables\"},{\"include\":\"#field_hover\"}]},\"storage_types\":{\"patterns\":[{\"match\":\"\\\\bbool\\\\b\",\"name\":\"storage.type.boolean.go\"},{\"match\":\"\\\\bbyte\\\\b\",\"name\":\"storage.type.byte.go\"},{\"match\":\"\\\\berror\\\\b\",\"name\":\"storage.type.error.go\"},{\"match\":\"\\\\b(complex(64|128)|float(32|64)|u?int(8|16|32|64)?)\\\\b\",\"name\":\"storage.type.numeric.go\"},{\"match\":\"\\\\brune\\\\b\",\"name\":\"storage.type.rune.go\"},{\"match\":\"\\\\bstring\\\\b\",\"name\":\"storage.type.string.go\"},{\"match\":\"\\\\buintptr\\\\b\",\"name\":\"storage.type.uintptr.go\"},{\"match\":\"\\\\bany\\\\b\",\"name\":\"entity.name.type.any.go\"},{\"match\":\"\\\\bcomparable\\\\b\",\"name\":\"entity.name.type.comparable.go\"}]},\"string_escaped_char\":{\"patterns\":[{\"match\":\"\\\\\\\\([0-7]{3}|[\\\"'\\\\\\\\abfnrtv]|x\\\\h{2}|u\\\\h{4}|U\\\\h{8})\",\"name\":\"constant.character.escape.go\"},{\"match\":\"\\\\\\\\[^\\\"'0-7Uabfnrtuvx]\",\"name\":\"invalid.illegal.unknown-escape.go\"}]},\"string_literals\":{\"patterns\":[{\"begin\":\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.go\"}},\"end\":\"\\\"\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.go\"}},\"name\":\"string.quoted.double.go\",\"patterns\":[{\"include\":\"#string_escaped_char\"},{\"include\":\"#string_placeholder\"}]}]},\"string_placeholder\":{\"patterns\":[{\"match\":\"%(\\\\[\\\\d+])?([- #+0]{0,2}((\\\\d+|\\\\*)?(\\\\.?(\\\\d+|\\\\*|(\\\\[\\\\d+])\\\\*?)?(\\\\[\\\\d+])?)?))?[%EFGTUXb-gopqstvwx]\",\"name\":\"constant.other.placeholder.go\"}]},\"struct_interface_declaration\":{\"captures\":{\"1\":{\"name\":\"keyword.type.go\"},\"2\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"^\\\\s*\\\\b(type)\\\\b\\\\s*([.\\\\w]+)\"},\"struct_variable_types_fields_multi\":{\"patterns\":[{\"begin\":\"(\\\\w+(?:,\\\\s*\\\\w+)*(?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}\\\\s+[]*\\\\[]+{0,1})\\\\b(struct)\\\\b\\\\s*(\\\\{)\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.property.go\"}]},\"2\":{\"name\":\"keyword.struct.go\"},\"3\":{\"name\":\"punctuation.definition.begin.bracket.curly.go\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.curly.go\"}},\"patterns\":[{\"include\":\"#struct_variables_types_fields\"},{\"include\":\"$self\"}]},{\"begin\":\"(\\\\w+(?:,\\\\s*\\\\w+)*(?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}\\\\s+[]*\\\\[]+{0,1})\\\\b(interface)\\\\b\\\\s*(\\\\{)\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.property.go\"}]},\"2\":{\"name\":\"keyword.interface.go\"},\"3\":{\"name\":\"punctuation.definition.begin.bracket.curly.go\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.curly.go\"}},\"patterns\":[{\"include\":\"#interface_variables_types_field\"},{\"include\":\"$self\"}]},{\"begin\":\"(\\\\w+(?:,\\\\s*\\\\w+)*(?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}\\\\s+[]*\\\\[]+{0,1})\\\\b(func)\\\\b\\\\s*(\\\\()\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.property.go\"}]},\"2\":{\"name\":\"keyword.function.go\"},\"3\":{\"name\":\"punctuation.definition.begin.bracket.round.go\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.round.go\"}},\"patterns\":[{\"include\":\"#function_param_types\"},{\"include\":\"$self\"}]},{\"include\":\"#parameter-variable-types\"}]},\"struct_variables_types\":{\"begin\":\"\\\\b(struct)\\\\b\\\\s*(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.struct.go\"},\"2\":{\"name\":\"punctuation.definition.begin.bracket.curly.go\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.curly.go\"}},\"patterns\":[{\"include\":\"#struct_variables_types_fields\"},{\"include\":\"$self\"}]},\"struct_variables_types_fields\":{\"patterns\":[{\"include\":\"#struct_variable_types_fields_multi\"},{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"(?<=\\\\{)\\\\s*((?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}[]*.\\\\[\\\\w]+)\\\\s*(?=})\"},{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.property.go\"}]},\"2\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"(?<=\\\\{)\\\\s*((?:\\\\w+,\\\\s*)+{0,1}\\\\w+\\\\s+)((?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}[]*.\\\\[\\\\w]+)\\\\s*(?=})\"},{\"captures\":{\"1\":{\"patterns\":[{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.property.go\"}]},\"2\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"((?:\\\\w+,\\\\s*)+{0,1}\\\\w+\\\\s+)?((?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}\\\\S+;?)\"}]}},\"match\":\"(?<=\\\\{)((?:\\\\s*(?:(?:\\\\w+,\\\\s*)+{0,1}\\\\w+\\\\s+)?(?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}\\\\S+;?)+)\\\\s*(?=})\"},{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"((?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}[*.\\\\w]+\\\\s*)(?:(?=[\\\"/`])|$)\"},{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.property.go\"}]},\"2\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"include\":\"#parameter-variable-types\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"((?:\\\\w+,\\\\s*)+{0,1}\\\\w+\\\\s+)([^\\\"/`]+)\"}]},\"support_functions\":{\"captures\":{\"1\":{\"name\":\"entity.name.function.support.go\"},\"2\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\d\\\\w*\",\"name\":\"invalid.illegal.identifier.go\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.function.support.go\"}]},\"3\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"match\":\"\\\\[\",\"name\":\"punctuation.definition.begin.bracket.square.go\"},{\"match\":\"]\",\"name\":\"punctuation.definition.end.bracket.square.go\"},{\"match\":\"\\\\{\",\"name\":\"punctuation.definition.begin.bracket.curly.go\"},{\"match\":\"}\",\"name\":\"punctuation.definition.end.bracket.curly.go\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"(?:((?<=\\\\.)\\\\b\\\\w+)|\\\\b(\\\\w+))(\\\\[(?:[]\\\"'*.\\\\[{}\\\\w]+(?:,\\\\s*[]*.\\\\[{}\\\\w]+)*)?])?(?=\\\\()\"},\"switch_select_case_variables\":{\"captures\":{\"1\":{\"name\":\"keyword.control.go\"},\"2\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"include\":\"#support_functions\"},{\"include\":\"#variable_assignment\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.go\"}]}},\"match\":\"^\\\\s*\\\\b(case)\\\\b\\\\s+([\\\\s\\\\S]+:\\\\s*(?:/[*/].*)?)$\"},\"switch_types\":{\"begin\":\"(?<=\\\\bswitch\\\\b)\\\\s*(\\\\w+\\\\s*:=)?\\\\s*([-\\\\]%\\\\&(-+./<>\\\\[|\\\\w]+)(\\\\.\\\\(\\\\btype\\\\b\\\\)\\\\s*)(\\\\{)\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#operators\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.assignment.go\"}]},\"2\":{\"patterns\":[{\"include\":\"#support_functions\"},{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.go\"}]},\"3\":{\"patterns\":[{\"include\":\"#delimiters\"},{\"include\":\"#brackets\"},{\"match\":\"\\\\btype\\\\b\",\"name\":\"keyword.type.go\"}]},\"4\":{\"name\":\"punctuation.definition.begin.bracket.curly.go\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.curly.go\"}},\"patterns\":[{\"captures\":{\"1\":{\"name\":\"keyword.control.go\"},\"2\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]},\"3\":{\"name\":\"punctuation.other.colon.go\"},\"4\":{\"patterns\":[{\"include\":\"#comments\"}]}},\"match\":\"^\\\\s*\\\\b(case)\\\\b\\\\s+([!*,.<=>\\\\w\\\\s]+)(:)(\\\\s*/[*/]\\\\s*.*)?$\"},{\"begin\":\"\\\\bcase\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.go\"}},\"end\":\":\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.other.colon.go\"}},\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]},{\"include\":\"$self\"}]},\"syntax_errors\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"invalid.illegal.slice.go\"}},\"match\":\"\\\\[](\\\\s+)\"},{\"match\":\"\\\\b0[0-7]*[89]\\\\d*\\\\b\",\"name\":\"invalid.illegal.numeric.go\"}]},\"terminators\":{\"match\":\";\",\"name\":\"punctuation.terminator.go\"},\"type-declarations\":{\"patterns\":[{\"include\":\"#language_constants\"},{\"include\":\"#comments\"},{\"include\":\"#map_types\"},{\"include\":\"#brackets\"},{\"include\":\"#delimiters\"},{\"include\":\"#keywords\"},{\"include\":\"#operators\"},{\"include\":\"#runes\"},{\"include\":\"#storage_types\"},{\"include\":\"#raw_string_literals\"},{\"include\":\"#string_literals\"},{\"include\":\"#numeric_literals\"},{\"include\":\"#terminators\"}]},\"type-declarations-without-brackets\":{\"patterns\":[{\"include\":\"#language_constants\"},{\"include\":\"#comments\"},{\"include\":\"#map_types\"},{\"include\":\"#delimiters\"},{\"include\":\"#keywords\"},{\"include\":\"#operators\"},{\"include\":\"#runes\"},{\"include\":\"#storage_types\"},{\"include\":\"#raw_string_literals\"},{\"include\":\"#string_literals\"},{\"include\":\"#numeric_literals\"},{\"include\":\"#terminators\"}]},\"type_assertion_inline\":{\"captures\":{\"1\":{\"name\":\"keyword.type.go\"},\"2\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"(?<=\\\\.\\\\()(?:\\\\b(type)\\\\b|((?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}[]*.\\\\[\\\\w]+))(?=\\\\))\"},\"var_assignment\":{\"patterns\":[{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#delimiters\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.assignment.go\"}]},\"2\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"include\":\"#generic_types\"},{\"match\":\"\\\\(\",\"name\":\"punctuation.definition.begin.bracket.round.go\"},{\"match\":\"\\\\)\",\"name\":\"punctuation.definition.end.bracket.round.go\"},{\"match\":\"\\\\[\",\"name\":\"punctuation.definition.begin.bracket.square.go\"},{\"match\":\"]\",\"name\":\"punctuation.definition.end.bracket.square.go\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"(?<=\\\\bvar\\\\b)\\\\s*\\\\b([.\\\\w]+(?:,\\\\s*[.\\\\w]+)*)\\\\s*((?:(?:[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+(?:\\\\([^)]+\\\\))?)?(?![]*\\\\[]+{0,1}\\\\b(?:struct|func|map)\\\\b)(?:[]*.\\\\[\\\\w]+(?:,\\\\s*[]*.\\\\[\\\\w]+)*)?\\\\s*=?)?\"},{\"begin\":\"(?<=\\\\bvar\\\\b)\\\\s*(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.begin.bracket.round.go\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.round.go\"}},\"patterns\":[{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#delimiters\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.assignment.go\"}]},\"2\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"include\":\"#generic_types\"},{\"match\":\"\\\\(\",\"name\":\"punctuation.definition.begin.bracket.round.go\"},{\"match\":\"\\\\)\",\"name\":\"punctuation.definition.end.bracket.round.go\"},{\"match\":\"\\\\[\",\"name\":\"punctuation.definition.begin.bracket.square.go\"},{\"match\":\"]\",\"name\":\"punctuation.definition.end.bracket.square.go\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"^\\\\s*\\\\b([.\\\\w]+(?:,\\\\s*[.\\\\w]+)*)\\\\s*((?:(?:[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+(?:\\\\([^)]+\\\\))?)?(?![]*\\\\[]+{0,1}\\\\b(?:struct|func|map)\\\\b)(?:[]*.\\\\[\\\\w]+(?:,\\\\s*[]*.\\\\[\\\\w]+)*)?\\\\s*=?)?\"},{\"include\":\"$self\"}]}]},\"variable_assignment\":{\"patterns\":[{\"captures\":{\"0\":{\"patterns\":[{\"include\":\"#delimiters\"},{\"match\":\"\\\\d\\\\w*\",\"name\":\"invalid.illegal.identifier.go\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.assignment.go\"}]}},\"match\":\"\\\\b\\\\w+(?:,\\\\s*\\\\w+)*(?=\\\\s*:=)\"},{\"captures\":{\"0\":{\"patterns\":[{\"include\":\"#delimiters\"},{\"include\":\"#operators\"},{\"match\":\"\\\\d\\\\w*\",\"name\":\"invalid.illegal.identifier.go\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.assignment.go\"}]}},\"match\":\"\\\\b[*.\\\\w]+(?:,\\\\s*[*.\\\\w]+)*(?=\\\\s*=(?!=))\"}]}},\"scopeName\":\"source.go\"}"))
1
+ const lang = Object.freeze(JSON.parse("{\"displayName\":\"Go\",\"name\":\"go\",\"patterns\":[{\"include\":\"#statements\"}],\"repository\":{\"after_control_variables\":{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"match\":\"\\\\[\",\"name\":\"punctuation.definition.begin.bracket.square.go\"},{\"match\":\"]\",\"name\":\"punctuation.definition.end.bracket.square.go\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.go\"}]}},\"match\":\"(?<=\\\\brange\\\\b|\\\\bswitch\\\\b|;|\\\\bif\\\\b|\\\\bfor\\\\b|[<>]|<=|>=|==|!=|\\\\w[-%*+/]|\\\\w[-%*+/]=|\\\\|\\\\||&&)\\\\s*((?![]\\\\[]+)[-\\\\]!%*+./:<=>\\\\[_[:alnum:]]+)\\\\s*(?=\\\\{)\"},\"brackets\":{\"patterns\":[{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.begin.bracket.curly.go\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.curly.go\"}},\"patterns\":[{\"include\":\"$self\"}]},{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.begin.bracket.round.go\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.round.go\"}},\"patterns\":[{\"include\":\"$self\"}]},{\"begin\":\"\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.begin.bracket.square.go\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.square.go\"}},\"patterns\":[{\"include\":\"$self\"}]}]},\"built_in_functions\":{\"patterns\":[{\"match\":\"\\\\b(append|cap|close|complex|copy|delete|imag|len|panic|print|println|real|recover|min|max|clear)\\\\b(?=\\\\()\",\"name\":\"entity.name.function.support.builtin.go\"},{\"begin\":\"\\\\b(new)\\\\b(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.function.support.builtin.go\"},\"2\":{\"name\":\"punctuation.definition.begin.bracket.round.go\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.round.go\"}},\"patterns\":[{\"include\":\"#functions\"},{\"include\":\"#struct_variables_types\"},{\"include\":\"#type-declarations\"},{\"include\":\"#generic_types\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"},{\"include\":\"$self\"}]},{\"begin\":\"\\\\b(make)\\\\b(\\\\()((?:(?:[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+(?:\\\\([^)]+\\\\))?)?[]*\\\\[]+{0,1}(?:(?!\\\\bmap\\\\b)[.\\\\w]+)?(\\\\[(?:\\\\S+(?:,\\\\s*\\\\S+)*)?])?,?)?\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.function.support.builtin.go\"},\"2\":{\"name\":\"punctuation.definition.begin.bracket.round.go\"},\"3\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"include\":\"#parameter-variable-types\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.round.go\"}},\"patterns\":[{\"include\":\"$self\"}]}]},\"comments\":{\"patterns\":[{\"begin\":\"(/\\\\*)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.comment.go\"}},\"end\":\"(\\\\*/)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.comment.go\"}},\"name\":\"comment.block.go\"},{\"begin\":\"(//)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.comment.go\"}},\"end\":\"\\\\n|$\",\"name\":\"comment.line.double-slash.go\"}]},\"const_assignment\":{\"patterns\":[{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#delimiters\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.constant.go\"}]},\"2\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"include\":\"#generic_types\"},{\"match\":\"\\\\(\",\"name\":\"punctuation.definition.begin.bracket.round.go\"},{\"match\":\"\\\\)\",\"name\":\"punctuation.definition.end.bracket.round.go\"},{\"match\":\"\\\\[\",\"name\":\"punctuation.definition.begin.bracket.square.go\"},{\"match\":\"]\",\"name\":\"punctuation.definition.end.bracket.square.go\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"(?<=\\\\bconst\\\\b)\\\\s*\\\\b([.\\\\w]+(?:,\\\\s*[.\\\\w]+)*)\\\\s*((?:(?:[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+(?:\\\\([^)]+\\\\))?)?(?![]*\\\\[]+{0,1}\\\\b(?:struct|func|map)\\\\b)(?:[]*.\\\\[\\\\w]+(?:,\\\\s*[]*.\\\\[\\\\w]+)*)?\\\\s*=?)?\"},{\"begin\":\"(?<=\\\\bconst\\\\b)\\\\s*(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.begin.bracket.round.go\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.round.go\"}},\"patterns\":[{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#delimiters\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.constant.go\"}]},\"2\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"include\":\"#generic_types\"},{\"match\":\"\\\\(\",\"name\":\"punctuation.definition.begin.bracket.round.go\"},{\"match\":\"\\\\)\",\"name\":\"punctuation.definition.end.bracket.round.go\"},{\"match\":\"\\\\[\",\"name\":\"punctuation.definition.begin.bracket.square.go\"},{\"match\":\"]\",\"name\":\"punctuation.definition.end.bracket.square.go\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"^\\\\s*\\\\b([.\\\\w]+(?:,\\\\s*[.\\\\w]+)*)\\\\s*((?:(?:[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+(?:\\\\([^)]+\\\\))?)?(?![]*\\\\[]+{0,1}\\\\b(?:struct|func|map)\\\\b)(?:[]*.\\\\[\\\\w]+(?:,\\\\s*[]*.\\\\[\\\\w]+)*)?\\\\s*=?)?\"},{\"include\":\"$self\"}]}]},\"delimiters\":{\"patterns\":[{\"match\":\",\",\"name\":\"punctuation.other.comma.go\"},{\"match\":\"\\\\.(?!\\\\.\\\\.)\",\"name\":\"punctuation.other.period.go\"},{\"match\":\":(?!=)\",\"name\":\"punctuation.other.colon.go\"}]},\"double_parentheses_types\":{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"match\":\"\\\\(\",\"name\":\"punctuation.definition.begin.bracket.round.go\"},{\"match\":\"\\\\)\",\"name\":\"punctuation.definition.end.bracket.round.go\"},{\"match\":\"\\\\[\",\"name\":\"punctuation.definition.begin.bracket.square.go\"},{\"match\":\"]\",\"name\":\"punctuation.definition.end.bracket.square.go\"},{\"match\":\"\\\\{\",\"name\":\"punctuation.definition.begin.bracket.curly.go\"},{\"match\":\"}\",\"name\":\"punctuation.definition.end.bracket.curly.go\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"(?<!\\\\w)(\\\\([]*\\\\[]+{0,1}[.\\\\w]+(?:\\\\[(?:[]*.\\\\[{}\\\\w]+(?:,\\\\s*[]*.\\\\[{}\\\\w]+)*)?])?\\\\))(?=\\\\()\"},\"field_hover\":{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.property.go\"}]},\"2\":{\"patterns\":[{\"match\":\"\\\\binvalid\\\\b\\\\s+\\\\btype\\\\b\",\"name\":\"invalid.field.go\"},{\"include\":\"#type-declarations-without-brackets\"},{\"include\":\"#parameter-variable-types\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"(?<=^\\\\bfield\\\\b)\\\\s+([*.\\\\w]+)\\\\s+([\\\\s\\\\S]+)\"},\"function_declaration\":{\"begin\":\"^\\\\b(func)\\\\b\\\\s*(\\\\([^)]+\\\\)\\\\s*)?(?:(\\\\w+)(?=[(\\\\[]))?\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.function.go\"},\"2\":{\"patterns\":[{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.begin.bracket.round.go\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.round.go\"}},\"patterns\":[{\"captures\":{\"1\":{\"name\":\"variable.parameter.go\"},\"2\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"include\":\"#parameter-variable-types\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"(\\\\w+\\\\s+)?([*.\\\\w]+(?:\\\\[(?:[*.\\\\w]+(?:,\\\\s+)?)+{0,1}])?)\"},{\"include\":\"$self\"}]}]},\"3\":{\"patterns\":[{\"match\":\"\\\\d\\\\w*\",\"name\":\"invalid.illegal.identifier.go\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.function.go\"}]}},\"end\":\"(?<=\\\\))\\\\s*((?:[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}(?![]*\\\\[]+{0,1}\\\\b(?:struct|interface)\\\\b)[-\\\\]*.\\\\[\\\\w]+)?\\\\s*(?=\\\\{)\",\"endCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"include\":\"#parameter-variable-types\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"patterns\":[{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.begin.bracket.round.go\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.round.go\"}},\"patterns\":[{\"include\":\"#function_param_types\"}]},{\"begin\":\"([*.\\\\w]+)?(\\\\[)\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]},\"2\":{\"name\":\"punctuation.definition.begin.bracket.square.go\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.square.go\"}},\"patterns\":[{\"include\":\"#generic_param_types\"}]},{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"include\":\"#parameter-variable-types\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"(?<=\\\\))\\\\s*((?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}[-\\\\]*.<>\\\\[\\\\w]+\\\\s*(?:/[*/].*)?)$\"},{\"include\":\"$self\"}]},\"function_param_types\":{\"patterns\":[{\"include\":\"#struct_variables_types\"},{\"include\":\"#interface_variables_types\"},{\"include\":\"#type-declarations-without-brackets\"},{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"variable.parameter.go\"}]}},\"match\":\"((?:\\\\b\\\\w+,\\\\s*)+{0,1}\\\\b\\\\w+)\\\\s+(?=(?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}[]*\\\\[]+{0,1}\\\\b(?:struct|interface)\\\\b\\\\s*\\\\{)\"},{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"variable.parameter.go\"}]}},\"match\":\"(?:(?<=\\\\()|^\\\\s*)((?:\\\\b\\\\w+,\\\\s*)+(?:/[*/].*)?)$\"},{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#delimiters\"},{\"match\":\"\\\\w+\",\"name\":\"variable.parameter.go\"}]},\"2\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"include\":\"#parameter-variable-types\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"((?:\\\\b\\\\w+,\\\\s*)+{0,1}\\\\b\\\\w+)\\\\s+((?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}(?:[]*.\\\\[\\\\w]+{0,1}(?:\\\\bfunc\\\\b\\\\([^)]+{0,1}\\\\)(?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}\\\\s*)+(?:[]*.\\\\[\\\\w]+|\\\\([^)]+{0,1}\\\\))?|(?:[]*\\\\[]+{0,1}[*.\\\\w]+(?:\\\\[[^]]+])?[*.\\\\w]+{0,1})+))\"},{\"begin\":\"([*.\\\\w]+)?(\\\\[)\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]},\"2\":{\"name\":\"punctuation.definition.begin.bracket.square.go\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.square.go\"}},\"patterns\":[{\"include\":\"#generic_param_types\"}]},{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.begin.bracket.round.go\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.round.go\"}},\"patterns\":[{\"include\":\"#function_param_types\"}]},{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"([.\\\\w]+)\"},{\"include\":\"$self\"}]},\"functions\":{\"begin\":\"\\\\b(func)\\\\b(?=\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.function.go\"}},\"end\":\"(?<=\\\\))(\\\\s*(?:[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+)?(\\\\s*(?:[]*\\\\[]+{0,1}[*.\\\\w]+)?(?:\\\\[(?:[*.\\\\w]+{0,1}(?:\\\\[[^]]+{0,1}])?(?:,\\\\s+)?)+]|\\\\([^)]+{0,1}\\\\))?[*.\\\\w]+{0,1}\\\\s*(?=\\\\{)|\\\\s*(?:[]*\\\\[]+{0,1}(?!\\\\bfunc\\\\b)[*.\\\\w]+(?:\\\\[(?:[*.\\\\w]+{0,1}(?:\\\\[[^]]+{0,1}])?(?:,\\\\s+)?)+])?[*.\\\\w]+{0,1}|\\\\([^)]+{0,1}\\\\)))?\",\"endCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"}]},\"2\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"include\":\"#parameter-variable-types\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"patterns\":[{\"include\":\"#parameter-variable-types\"}]},\"functions_inline\":{\"captures\":{\"1\":{\"name\":\"keyword.function.go\"},\"2\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.begin.bracket.round.go\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.round.go\"}},\"patterns\":[{\"include\":\"#function_param_types\"},{\"include\":\"$self\"}]},{\"match\":\"\\\\[\",\"name\":\"punctuation.definition.begin.bracket.square.go\"},{\"match\":\"]\",\"name\":\"punctuation.definition.end.bracket.square.go\"},{\"match\":\"\\\\{\",\"name\":\"punctuation.definition.begin.bracket.curly.go\"},{\"match\":\"}\",\"name\":\"punctuation.definition.end.bracket.curly.go\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"\\\\b(func)\\\\b(\\\\([^/]*?\\\\)\\\\s+\\\\([^/]*?\\\\))\\\\s+(?=\\\\{)\"},\"generic_param_types\":{\"patterns\":[{\"include\":\"#struct_variables_types\"},{\"include\":\"#interface_variables_types\"},{\"include\":\"#type-declarations-without-brackets\"},{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"variable.parameter.go\"}]}},\"match\":\"((?:\\\\b\\\\w+,\\\\s*)+{0,1}\\\\b\\\\w+)\\\\s+(?=(?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}[]*\\\\[]+{0,1}\\\\b(?:struct|interface)\\\\b\\\\s*\\\\{)\"},{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"variable.parameter.go\"}]}},\"match\":\"(?:(?<=\\\\()|^\\\\s*)((?:\\\\b\\\\w+,\\\\s*)+(?:/[*/].*)?)$\"},{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#delimiters\"},{\"match\":\"\\\\w+\",\"name\":\"variable.parameter.go\"}]},\"2\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"include\":\"#parameter-variable-types\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]},\"3\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"((?:\\\\b\\\\w+,\\\\s*)+{0,1}\\\\b\\\\w+)\\\\s+((?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}(?:[]*.\\\\[\\\\w]+{0,1}(?:\\\\bfunc\\\\b\\\\([^)]+{0,1}\\\\)(?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}\\\\s*)+(?:[*.\\\\w]+|\\\\([^)]+{0,1}\\\\))?|(?:(?:[*.~\\\\w]+|\\\\[(?:[*.\\\\w]+{0,1}(?:\\\\[[^]]+{0,1}])?(?:,\\\\s+)?)+])[*.\\\\w]+{0,1})+))\"},{\"begin\":\"([*.\\\\w]+)?(\\\\[)\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]},\"2\":{\"name\":\"punctuation.definition.begin.bracket.square.go\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.square.go\"}},\"patterns\":[{\"include\":\"#generic_param_types\"}]},{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.begin.bracket.round.go\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.round.go\"}},\"patterns\":[{\"include\":\"#function_param_types\"}]},{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"\\\\b([.\\\\w]+)\"},{\"include\":\"$self\"}]},\"generic_types\":{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]},\"2\":{\"patterns\":[{\"include\":\"#parameter-variable-types\"}]}},\"match\":\"([*.\\\\w]+)(\\\\[[^]]+{0,1}])\"},\"group-functions\":{\"patterns\":[{\"include\":\"#function_declaration\"},{\"include\":\"#functions_inline\"},{\"include\":\"#functions\"},{\"include\":\"#built_in_functions\"},{\"include\":\"#support_functions\"}]},\"group-types\":{\"patterns\":[{\"include\":\"#other_struct_interface_expressions\"},{\"include\":\"#type_assertion_inline\"},{\"include\":\"#struct_variables_types\"},{\"include\":\"#interface_variables_types\"},{\"include\":\"#single_type\"},{\"include\":\"#multi_types\"},{\"include\":\"#struct_interface_declaration\"},{\"include\":\"#double_parentheses_types\"},{\"include\":\"#switch_types\"},{\"include\":\"#type-declarations\"}]},\"group-variables\":{\"patterns\":[{\"include\":\"#const_assignment\"},{\"include\":\"#var_assignment\"},{\"include\":\"#variable_assignment\"},{\"include\":\"#label_loop_variables\"},{\"include\":\"#slice_index_variables\"},{\"include\":\"#property_variables\"},{\"include\":\"#switch_select_case_variables\"},{\"include\":\"#other_variables\"}]},\"import\":{\"patterns\":[{\"begin\":\"\\\\b(import)\\\\s+\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.import.go\"}},\"end\":\"(?!\\\\G)\",\"patterns\":[{\"include\":\"#imports\"}]}]},\"imports\":{\"patterns\":[{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#delimiters\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.import.go\"}]},\"2\":{\"name\":\"string.quoted.double.go\"},\"3\":{\"name\":\"punctuation.definition.string.begin.go\"},\"4\":{\"name\":\"entity.name.import.go\"},\"5\":{\"name\":\"punctuation.definition.string.end.go\"}},\"match\":\"(\\\\s*[.\\\\w]+)?\\\\s*((\\\")([^\\\"]*)(\\\"))\"},{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.imports.begin.bracket.round.go\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.imports.end.bracket.round.go\"}},\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#imports\"}]},{\"include\":\"$self\"}]},\"interface_variables_types\":{\"begin\":\"\\\\b(interface)\\\\b\\\\s*(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.interface.go\"},\"2\":{\"name\":\"punctuation.definition.begin.bracket.curly.go\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.curly.go\"}},\"patterns\":[{\"include\":\"#interface_variables_types_field\"},{\"include\":\"$self\"}]},\"interface_variables_types_field\":{\"patterns\":[{\"include\":\"#support_functions\"},{\"include\":\"#type-declarations-without-brackets\"},{\"begin\":\"([*.\\\\w]+)?(\\\\[)\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]},\"2\":{\"name\":\"punctuation.definition.begin.bracket.square.go\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.square.go\"}},\"patterns\":[{\"include\":\"#generic_param_types\"}]},{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.begin.bracket.round.go\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.round.go\"}},\"patterns\":[{\"include\":\"#function_param_types\"}]},{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"([.\\\\w]+)\"}]},\"keywords\":{\"patterns\":[{\"match\":\"\\\\b(break|case|continue|default|defer|else|fallthrough|for|go|goto|if|range|return|select|switch)\\\\b\",\"name\":\"keyword.control.go\"},{\"match\":\"\\\\bchan\\\\b\",\"name\":\"keyword.channel.go\"},{\"match\":\"\\\\bconst\\\\b\",\"name\":\"keyword.const.go\"},{\"match\":\"\\\\bvar\\\\b\",\"name\":\"keyword.var.go\"},{\"match\":\"\\\\bfunc\\\\b\",\"name\":\"keyword.function.go\"},{\"match\":\"\\\\binterface\\\\b\",\"name\":\"keyword.interface.go\"},{\"match\":\"\\\\bmap\\\\b\",\"name\":\"keyword.map.go\"},{\"match\":\"\\\\bstruct\\\\b\",\"name\":\"keyword.struct.go\"},{\"match\":\"\\\\bimport\\\\b\",\"name\":\"keyword.control.import.go\"},{\"match\":\"\\\\btype\\\\b\",\"name\":\"keyword.type.go\"}]},\"label_loop_variables\":{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.label.go\"}]}},\"match\":\"^(\\\\s*\\\\w+:\\\\s*|\\\\s*\\\\b(?:break|goto|continue)\\\\b\\\\s+\\\\w+(?:\\\\s*/[*/]\\\\s*.*)?)$\"},\"language_constants\":{\"captures\":{\"1\":{\"name\":\"constant.language.boolean.go\"},\"2\":{\"name\":\"constant.language.null.go\"},\"3\":{\"name\":\"constant.language.iota.go\"}},\"match\":\"\\\\b(?:(true|false)|(nil)|(iota))\\\\b\"},\"map_types\":{\"begin\":\"\\\\b(map)\\\\b(\\\\[)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.map.go\"},\"2\":{\"name\":\"punctuation.definition.begin.bracket.square.go\"}},\"end\":\"(])((?:[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}(?![]*\\\\[]+{0,1}\\\\b(?:func|struct|map)\\\\b)[]*\\\\[]+{0,1}[.\\\\w]+(?:\\\\[(?:[]*.\\\\[{}\\\\w]+(?:,\\\\s*[]*.\\\\[{}\\\\w]+)*)?])?)?\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.end.bracket.square.go\"},\"2\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"match\":\"\\\\[\",\"name\":\"punctuation.definition.begin.bracket.square.go\"},{\"match\":\"]\",\"name\":\"punctuation.definition.end.bracket.square.go\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"include\":\"#parameter-variable-types\"},{\"include\":\"#functions\"},{\"match\":\"\\\\[\",\"name\":\"punctuation.definition.begin.bracket.square.go\"},{\"match\":\"]\",\"name\":\"punctuation.definition.end.bracket.square.go\"},{\"match\":\"\\\\{\",\"name\":\"punctuation.definition.begin.bracket.curly.go\"},{\"match\":\"}\",\"name\":\"punctuation.definition.end.bracket.curly.go\"},{\"match\":\"\\\\(\",\"name\":\"punctuation.definition.begin.bracket.round.go\"},{\"match\":\"\\\\)\",\"name\":\"punctuation.definition.end.bracket.round.go\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]},\"multi_types\":{\"begin\":\"\\\\b(type)\\\\b\\\\s*(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.type.go\"},\"2\":{\"name\":\"punctuation.definition.begin.bracket.round.go\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.round.go\"}},\"patterns\":[{\"include\":\"#struct_variables_types\"},{\"include\":\"#interface_variables_types\"},{\"include\":\"#type-declarations-without-brackets\"},{\"include\":\"#parameter-variable-types\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]},\"numeric_literals\":{\"captures\":{\"0\":{\"patterns\":[{\"begin\":\"(?=.)\",\"end\":\"\\\\n|$\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"constant.numeric.decimal.go\",\"patterns\":[{\"match\":\"(?<=\\\\h)_(?=\\\\h)\",\"name\":\"punctuation.separator.constant.numeric.go\"}]},\"2\":{\"name\":\"punctuation.separator.constant.numeric.go\"},\"3\":{\"name\":\"constant.numeric.decimal.point.go\"},\"4\":{\"name\":\"constant.numeric.decimal.go\",\"patterns\":[{\"match\":\"(?<=\\\\h)_(?=\\\\h)\",\"name\":\"punctuation.separator.constant.numeric.go\"}]},\"5\":{\"name\":\"punctuation.separator.constant.numeric.go\"},\"6\":{\"name\":\"keyword.other.unit.exponent.decimal.go\"},\"7\":{\"name\":\"keyword.operator.plus.exponent.decimal.go\"},\"8\":{\"name\":\"keyword.operator.minus.exponent.decimal.go\"},\"9\":{\"name\":\"constant.numeric.exponent.decimal.go\",\"patterns\":[{\"match\":\"(?<=\\\\h)_(?=\\\\h)\",\"name\":\"punctuation.separator.constant.numeric.go\"}]},\"10\":{\"name\":\"keyword.other.unit.imaginary.go\"},\"11\":{\"name\":\"constant.numeric.decimal.go\",\"patterns\":[{\"match\":\"(?<=\\\\h)_(?=\\\\h)\",\"name\":\"punctuation.separator.constant.numeric.go\"}]},\"12\":{\"name\":\"punctuation.separator.constant.numeric.go\"},\"13\":{\"name\":\"keyword.other.unit.exponent.decimal.go\"},\"14\":{\"name\":\"keyword.operator.plus.exponent.decimal.go\"},\"15\":{\"name\":\"keyword.operator.minus.exponent.decimal.go\"},\"16\":{\"name\":\"constant.numeric.exponent.decimal.go\",\"patterns\":[{\"match\":\"(?<=\\\\h)_(?=\\\\h)\",\"name\":\"punctuation.separator.constant.numeric.go\"}]},\"17\":{\"name\":\"keyword.other.unit.imaginary.go\"},\"18\":{\"name\":\"constant.numeric.decimal.point.go\"},\"19\":{\"name\":\"constant.numeric.decimal.go\",\"patterns\":[{\"match\":\"(?<=\\\\h)_(?=\\\\h)\",\"name\":\"punctuation.separator.constant.numeric.go\"}]},\"20\":{\"name\":\"punctuation.separator.constant.numeric.go\"},\"21\":{\"name\":\"keyword.other.unit.exponent.decimal.go\"},\"22\":{\"name\":\"keyword.operator.plus.exponent.decimal.go\"},\"23\":{\"name\":\"keyword.operator.minus.exponent.decimal.go\"},\"24\":{\"name\":\"constant.numeric.exponent.decimal.go\",\"patterns\":[{\"match\":\"(?<=\\\\h)_(?=\\\\h)\",\"name\":\"punctuation.separator.constant.numeric.go\"}]},\"25\":{\"name\":\"keyword.other.unit.imaginary.go\"},\"26\":{\"name\":\"keyword.other.unit.hexadecimal.go\"},\"27\":{\"name\":\"constant.numeric.hexadecimal.go\",\"patterns\":[{\"match\":\"(?<=\\\\h)_(?=\\\\h)\",\"name\":\"punctuation.separator.constant.numeric.go\"}]},\"28\":{\"name\":\"punctuation.separator.constant.numeric.go\"},\"29\":{\"name\":\"constant.numeric.hexadecimal.go\"},\"30\":{\"name\":\"constant.numeric.hexadecimal.go\",\"patterns\":[{\"match\":\"(?<=\\\\h)_(?=\\\\h)\",\"name\":\"punctuation.separator.constant.numeric.go\"}]},\"31\":{\"name\":\"punctuation.separator.constant.numeric.go\"},\"32\":{\"name\":\"keyword.other.unit.exponent.hexadecimal.go\"},\"33\":{\"name\":\"keyword.operator.plus.exponent.hexadecimal.go\"},\"34\":{\"name\":\"keyword.operator.minus.exponent.hexadecimal.go\"},\"35\":{\"name\":\"constant.numeric.exponent.hexadecimal.go\",\"patterns\":[{\"match\":\"(?<=\\\\h)_(?=\\\\h)\",\"name\":\"punctuation.separator.constant.numeric.go\"}]},\"36\":{\"name\":\"keyword.other.unit.imaginary.go\"},\"37\":{\"name\":\"keyword.other.unit.hexadecimal.go\"},\"38\":{\"name\":\"constant.numeric.hexadecimal.go\",\"patterns\":[{\"match\":\"(?<=\\\\h)_(?=\\\\h)\",\"name\":\"punctuation.separator.constant.numeric.go\"}]},\"39\":{\"name\":\"punctuation.separator.constant.numeric.go\"},\"40\":{\"name\":\"keyword.other.unit.exponent.hexadecimal.go\"},\"41\":{\"name\":\"keyword.operator.plus.exponent.hexadecimal.go\"},\"42\":{\"name\":\"keyword.operator.minus.exponent.hexadecimal.go\"},\"43\":{\"name\":\"constant.numeric.exponent.hexadecimal.go\",\"patterns\":[{\"match\":\"(?<=\\\\h)_(?=\\\\h)\",\"name\":\"punctuation.separator.constant.numeric.go\"}]},\"44\":{\"name\":\"keyword.other.unit.imaginary.go\"},\"45\":{\"name\":\"keyword.other.unit.hexadecimal.go\"},\"46\":{\"name\":\"constant.numeric.hexadecimal.go\"},\"47\":{\"name\":\"constant.numeric.hexadecimal.go\",\"patterns\":[{\"match\":\"(?<=\\\\h)_(?=\\\\h)\",\"name\":\"punctuation.separator.constant.numeric.go\"}]},\"48\":{\"name\":\"punctuation.separator.constant.numeric.go\"},\"49\":{\"name\":\"keyword.other.unit.exponent.hexadecimal.go\"},\"50\":{\"name\":\"keyword.operator.plus.exponent.hexadecimal.go\"},\"51\":{\"name\":\"keyword.operator.minus.exponent.hexadecimal.go\"},\"52\":{\"name\":\"constant.numeric.exponent.hexadecimal.go\",\"patterns\":[{\"match\":\"(?<=\\\\h)_(?=\\\\h)\",\"name\":\"punctuation.separator.constant.numeric.go\"}]},\"53\":{\"name\":\"keyword.other.unit.imaginary.go\"}},\"match\":\"\\\\G(?:(?:(?:(?:(?:(?=[.0-9])(?!0[BOXbox])([0-9](?:[0-9]|((?<=\\\\h)_(?=\\\\h)))*)((?<=[0-9])\\\\.|\\\\.(?=[0-9]))([0-9](?:[0-9]|((?<=\\\\h)_(?=\\\\h)))*)?(?:(?<!_)([Ee])(\\\\+?)(-?)([0-9](?:[0-9]|(?<=\\\\h)_(?=\\\\h))*))?(i(?!\\\\w))?(?:\\\\n|$)|(?=[.0-9])(?!0[BOXbox])([0-9](?:[0-9]|((?<=\\\\h)_(?=\\\\h)))*)(?<!_)([Ee])(\\\\+?)(-?)([0-9](?:[0-9]|(?<=\\\\h)_(?=\\\\h))*)(i(?!\\\\w))?(?:\\\\n|$))|((?<=[0-9])\\\\.|\\\\.(?=[0-9]))([0-9](?:[0-9]|((?<=\\\\h)_(?=\\\\h)))*)(?:(?<!_)([Ee])(\\\\+?)(-?)([0-9](?:[0-9]|(?<=\\\\h)_(?=\\\\h))*))?(i(?!\\\\w))?(?:\\\\n|$))|(0[Xx])_?(\\\\h(?:\\\\h|((?<=\\\\h)_(?=\\\\h)))*)((?<=\\\\h)\\\\.|\\\\.(?=\\\\h))(\\\\h(?:\\\\h|((?<=\\\\h)_(?=\\\\h)))*)?(?<!_)([Pp])(\\\\+?)(-?)([0-9](?:[0-9]|(?<=\\\\h)_(?=\\\\h))*)(i(?!\\\\w))?(?:\\\\n|$))|(0[Xx])_?(\\\\h(?:\\\\h|((?<=\\\\h)_(?=\\\\h)))*)(?<!_)([Pp])(\\\\+?)(-?)([0-9](?:[0-9]|(?<=\\\\h)_(?=\\\\h))*)(i(?!\\\\w))?(?:\\\\n|$))|(0[Xx])((?<=\\\\h)\\\\.|\\\\.(?=\\\\h))(\\\\h(?:\\\\h|((?<=\\\\h)_(?=\\\\h)))*)(?<!_)([Pp])(\\\\+?)(-?)([0-9](?:[0-9]|(?<=\\\\h)_(?=\\\\h))*)(i(?!\\\\w))?(?:\\\\n|$))\"},{\"captures\":{\"1\":{\"name\":\"constant.numeric.decimal.go\",\"patterns\":[{\"match\":\"(?<=\\\\h)_(?=\\\\h)\",\"name\":\"punctuation.separator.constant.numeric.go\"}]},\"2\":{\"name\":\"punctuation.separator.constant.numeric.go\"},\"3\":{\"name\":\"keyword.other.unit.imaginary.go\"},\"4\":{\"name\":\"keyword.other.unit.binary.go\"},\"5\":{\"name\":\"constant.numeric.binary.go\",\"patterns\":[{\"match\":\"(?<=\\\\h)_(?=\\\\h)\",\"name\":\"punctuation.separator.constant.numeric.go\"}]},\"6\":{\"name\":\"punctuation.separator.constant.numeric.go\"},\"7\":{\"name\":\"keyword.other.unit.imaginary.go\"},\"8\":{\"name\":\"keyword.other.unit.octal.go\"},\"9\":{\"name\":\"constant.numeric.octal.go\",\"patterns\":[{\"match\":\"(?<=\\\\h)_(?=\\\\h)\",\"name\":\"punctuation.separator.constant.numeric.go\"}]},\"10\":{\"name\":\"punctuation.separator.constant.numeric.go\"},\"11\":{\"name\":\"keyword.other.unit.imaginary.go\"},\"12\":{\"name\":\"keyword.other.unit.hexadecimal.go\"},\"13\":{\"name\":\"constant.numeric.hexadecimal.go\",\"patterns\":[{\"match\":\"(?<=\\\\h)_(?=\\\\h)\",\"name\":\"punctuation.separator.constant.numeric.go\"}]},\"14\":{\"name\":\"punctuation.separator.constant.numeric.go\"},\"15\":{\"name\":\"keyword.other.unit.imaginary.go\"}},\"match\":\"\\\\G(?:(?:(?:(?=[.0-9])(?!0[BOXbox])([0-9](?:[0-9]|((?<=\\\\h)_(?=\\\\h)))*)(i(?!\\\\w))?(?:\\\\n|$)|(0[Bb])_?([01](?:[01]|((?<=\\\\h)_(?=\\\\h)))*)(i(?!\\\\w))?(?:\\\\n|$))|(0[Oo]?)_?((?:[0-7]|((?<=\\\\h)_(?=\\\\h)))+)(i(?!\\\\w))?(?:\\\\n|$))|(0[Xx])_?(\\\\h(?:\\\\h|((?<=\\\\h)_(?=\\\\h)))*)(i(?!\\\\w))?(?:\\\\n|$))\"},{\"match\":\"(?:[.0-9A-Z_a-z]|(?<=[EPep])[-+])+\",\"name\":\"invalid.illegal.constant.numeric.go\"}]}]}},\"match\":\"(?<!\\\\w)\\\\.?\\\\d(?:[.0-9A-Z_a-z]|(?<=[EPep])[-+])*\"},\"operators\":{\"patterns\":[{\"match\":\"(?<!\\\\w)[\\\\&*]+(?!\\\\d)(?=[]\\\\[\\\\w]|<-)\",\"name\":\"keyword.operator.address.go\"},{\"match\":\"<-\",\"name\":\"keyword.operator.channel.go\"},{\"match\":\"--\",\"name\":\"keyword.operator.decrement.go\"},{\"match\":\"\\\\+\\\\+\",\"name\":\"keyword.operator.increment.go\"},{\"match\":\"(==|!=|<=|>=|<(?!<)|>(?!>))\",\"name\":\"keyword.operator.comparison.go\"},{\"match\":\"(&&|\\\\|\\\\||!)\",\"name\":\"keyword.operator.logical.go\"},{\"match\":\"((?:|[-%*+/:^|]|<<|>>|&\\\\^?)=)\",\"name\":\"keyword.operator.assignment.go\"},{\"match\":\"([-%*+/])\",\"name\":\"keyword.operator.arithmetic.go\"},{\"match\":\"(&(?!\\\\^)|[\\\\^|]|&\\\\^|<<|>>|~)\",\"name\":\"keyword.operator.arithmetic.bitwise.go\"},{\"match\":\"\\\\.\\\\.\\\\.\",\"name\":\"keyword.operator.ellipsis.go\"}]},\"other_struct_interface_expressions\":{\"patterns\":[{\"include\":\"#after_control_variables\"},{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]},\"2\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"match\":\"\\\\[\",\"name\":\"punctuation.definition.begin.bracket.square.go\"},{\"match\":\"]\",\"name\":\"punctuation.definition.end.bracket.square.go\"},{\"match\":\"\\\\{\",\"name\":\"punctuation.definition.begin.bracket.curly.go\"},{\"match\":\"}\",\"name\":\"punctuation.definition.end.bracket.curly.go\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"\\\\b([.\\\\w]+)(\\\\[(?:[]*.\\\\[{}\\\\w]+(?:,\\\\s*[]*.\\\\[{}\\\\w]+)*)?])?(?=\\\\{)(?<!\\\\b(?:struct|interface)\\\\b)\"}]},\"other_variables\":{\"match\":\"\\\\w+\",\"name\":\"variable.other.go\"},\"package_name\":{\"patterns\":[{\"begin\":\"\\\\b(package)\\\\s+\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.package.go\"}},\"end\":\"(?!\\\\G)\",\"patterns\":[{\"match\":\"\\\\d\\\\w*\",\"name\":\"invalid.illegal.identifier.go\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.package.go\"}]}]},\"parameter-variable-types\":{\"patterns\":[{\"match\":\"\\\\{\",\"name\":\"punctuation.definition.begin.bracket.curly.go\"},{\"match\":\"}\",\"name\":\"punctuation.definition.end.bracket.curly.go\"},{\"begin\":\"([*.\\\\w]+)?(\\\\[)\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]},\"2\":{\"name\":\"punctuation.definition.begin.bracket.square.go\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.square.go\"}},\"patterns\":[{\"include\":\"#generic_param_types\"}]},{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.begin.bracket.round.go\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.round.go\"}},\"patterns\":[{\"include\":\"#function_param_types\"}]}]},\"property_variables\":{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.property.go\"}]}},\"match\":\"\\\\b([.\\\\w]+:(?!=))\"},\"raw_string_literals\":{\"begin\":\"`\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.go\"}},\"end\":\"`\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.go\"}},\"name\":\"string.quoted.raw.go\",\"patterns\":[{\"include\":\"#string_placeholder\"}]},\"runes\":{\"patterns\":[{\"begin\":\"'\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.go\"}},\"end\":\"'\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.go\"}},\"name\":\"string.quoted.rune.go\",\"patterns\":[{\"match\":\"\\\\G(\\\\\\\\([0-7]{3}|[\\\"'\\\\\\\\abfnrtv]|x\\\\h{2}|u\\\\h{4}|U\\\\h{8})|.)(?=')\",\"name\":\"constant.other.rune.go\"},{\"match\":\"[^']+\",\"name\":\"invalid.illegal.unknown-rune.go\"}]}]},\"single_type\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"keyword.type.go\"},\"2\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]},\"3\":{\"patterns\":[{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.begin.bracket.round.go\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.round.go\"}},\"patterns\":[{\"include\":\"#function_param_types\"},{\"include\":\"$self\"}]},{\"include\":\"#type-declarations\"},{\"include\":\"#generic_types\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"^\\\\s*\\\\b(type)\\\\b\\\\s*([*.\\\\w]+)\\\\s+(?!(?:=\\\\s*)?[]*\\\\[]+{0,1}\\\\b(?:struct|interface)\\\\b)([\\\\s\\\\S]+)\"},{\"begin\":\"(?:^|\\\\s+)\\\\b(type)\\\\b\\\\s*([*.\\\\w]+)(?=\\\\[)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.type.go\"},\"2\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"end\":\"(?<=])(\\\\s+(?:=\\\\s*)?(?:[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}(?![]*\\\\[]+{0,1}\\\\b(?:struct|interface|func)\\\\b)[-\\\\]*.\\\\[\\\\w]+(?:,\\\\s*[]*.\\\\[\\\\w]+)*)?\",\"endCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"match\":\"\\\\[\",\"name\":\"punctuation.definition.begin.bracket.square.go\"},{\"match\":\"]\",\"name\":\"punctuation.definition.end.bracket.square.go\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"patterns\":[{\"include\":\"#struct_variables_types\"},{\"include\":\"#type-declarations-without-brackets\"},{\"include\":\"#parameter-variable-types\"},{\"match\":\"\\\\[\",\"name\":\"punctuation.definition.begin.bracket.square.go\"},{\"match\":\"]\",\"name\":\"punctuation.definition.end.bracket.square.go\"},{\"match\":\"\\\\{\",\"name\":\"punctuation.definition.begin.bracket.curly.go\"},{\"match\":\"}\",\"name\":\"punctuation.definition.end.bracket.curly.go\"},{\"match\":\"\\\\(\",\"name\":\"punctuation.definition.begin.bracket.round.go\"},{\"match\":\"\\\\)\",\"name\":\"punctuation.definition.end.bracket.round.go\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}]},\"slice_index_variables\":{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.go\"}]}},\"match\":\"(?<=\\\\w\\\\[)((?:\\\\b[-%\\\\&*+./<>|\\\\w]+:|:\\\\b[-%\\\\&*+./<>|\\\\w]+)(?:\\\\b[-%\\\\&*+./<>|\\\\w]+)?(?::\\\\b[-%\\\\&*+./<>|\\\\w]+)?)(?=])\"},\"statements\":{\"patterns\":[{\"include\":\"#package_name\"},{\"include\":\"#import\"},{\"include\":\"#syntax_errors\"},{\"include\":\"#group-functions\"},{\"include\":\"#group-types\"},{\"include\":\"#group-variables\"},{\"include\":\"#field_hover\"}]},\"storage_types\":{\"patterns\":[{\"match\":\"\\\\bbool\\\\b\",\"name\":\"storage.type.boolean.go\"},{\"match\":\"\\\\bbyte\\\\b\",\"name\":\"storage.type.byte.go\"},{\"match\":\"\\\\berror\\\\b\",\"name\":\"storage.type.error.go\"},{\"match\":\"\\\\b(complex(64|128)|float(32|64)|u?int(8|16|32|64)?)\\\\b\",\"name\":\"storage.type.numeric.go\"},{\"match\":\"\\\\brune\\\\b\",\"name\":\"storage.type.rune.go\"},{\"match\":\"\\\\bstring\\\\b\",\"name\":\"storage.type.string.go\"},{\"match\":\"\\\\buintptr\\\\b\",\"name\":\"storage.type.uintptr.go\"},{\"match\":\"\\\\bany\\\\b\",\"name\":\"entity.name.type.any.go\"},{\"match\":\"\\\\bcomparable\\\\b\",\"name\":\"entity.name.type.comparable.go\"}]},\"string_escaped_char\":{\"patterns\":[{\"match\":\"\\\\\\\\([0-7]{3}|[\\\"'\\\\\\\\abfnrtv]|x\\\\h{2}|u\\\\h{4}|U\\\\h{8})\",\"name\":\"constant.character.escape.go\"},{\"match\":\"\\\\\\\\[^\\\"'0-7Uabfnrtuvx]\",\"name\":\"invalid.illegal.unknown-escape.go\"}]},\"string_literals\":{\"patterns\":[{\"begin\":\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.go\"}},\"end\":\"\\\"\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.go\"}},\"name\":\"string.quoted.double.go\",\"patterns\":[{\"include\":\"#string_escaped_char\"},{\"include\":\"#string_placeholder\"}]}]},\"string_placeholder\":{\"patterns\":[{\"match\":\"%(\\\\[\\\\d+])?([- #+0]{0,2}((\\\\d+|\\\\*)?(\\\\.?(\\\\d+|\\\\*|(\\\\[\\\\d+])\\\\*?)?(\\\\[\\\\d+])?)?))?[%EFGTUXb-gopqstvwx]\",\"name\":\"constant.other.placeholder.go\"}]},\"struct_interface_declaration\":{\"captures\":{\"1\":{\"name\":\"keyword.type.go\"},\"2\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"^\\\\s*\\\\b(type)\\\\b\\\\s*([.\\\\w]+)\"},\"struct_variable_types_fields_multi\":{\"patterns\":[{\"begin\":\"(\\\\w+(?:,\\\\s*\\\\w+)*(?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}\\\\s+[]*\\\\[]+{0,1})\\\\b(struct)\\\\b\\\\s*(\\\\{)\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.property.go\"}]},\"2\":{\"name\":\"keyword.struct.go\"},\"3\":{\"name\":\"punctuation.definition.begin.bracket.curly.go\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.curly.go\"}},\"patterns\":[{\"include\":\"#struct_variables_types_fields\"},{\"include\":\"$self\"}]},{\"begin\":\"(\\\\w+(?:,\\\\s*\\\\w+)*(?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}\\\\s+[]*\\\\[]+{0,1})\\\\b(interface)\\\\b\\\\s*(\\\\{)\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.property.go\"}]},\"2\":{\"name\":\"keyword.interface.go\"},\"3\":{\"name\":\"punctuation.definition.begin.bracket.curly.go\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.curly.go\"}},\"patterns\":[{\"include\":\"#interface_variables_types_field\"},{\"include\":\"$self\"}]},{\"begin\":\"(\\\\w+(?:,\\\\s*\\\\w+)*(?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}\\\\s+[]*\\\\[]+{0,1})\\\\b(func)\\\\b\\\\s*(\\\\()\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.property.go\"}]},\"2\":{\"name\":\"keyword.function.go\"},\"3\":{\"name\":\"punctuation.definition.begin.bracket.round.go\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.round.go\"}},\"patterns\":[{\"include\":\"#function_param_types\"},{\"include\":\"$self\"}]},{\"include\":\"#parameter-variable-types\"}]},\"struct_variables_types\":{\"begin\":\"\\\\b(struct)\\\\b\\\\s*(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.struct.go\"},\"2\":{\"name\":\"punctuation.definition.begin.bracket.curly.go\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.curly.go\"}},\"patterns\":[{\"include\":\"#struct_variables_types_fields\"},{\"include\":\"$self\"}]},\"struct_variables_types_fields\":{\"patterns\":[{\"include\":\"#struct_variable_types_fields_multi\"},{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"(?<=\\\\{)\\\\s*((?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}[]*.\\\\[\\\\w]+)\\\\s*(?=})\"},{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.property.go\"}]},\"2\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"(?<=\\\\{)\\\\s*((?:\\\\w+,\\\\s*)+{0,1}\\\\w+\\\\s+)((?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}[]*.\\\\[\\\\w]+)\\\\s*(?=})\"},{\"captures\":{\"1\":{\"patterns\":[{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.property.go\"}]},\"2\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"((?:\\\\w+,\\\\s*)+{0,1}\\\\w+\\\\s+)?((?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}\\\\S+;?)\"}]}},\"match\":\"(?<=\\\\{)((?:\\\\s*(?:(?:\\\\w+,\\\\s*)+{0,1}\\\\w+\\\\s+)?(?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}\\\\S+;?)+)\\\\s*(?=})\"},{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"((?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}[*.\\\\w]+\\\\s*)(?:(?=[\\\"/`])|$)\"},{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.property.go\"}]},\"2\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"include\":\"#parameter-variable-types\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"((?:\\\\w+,\\\\s*)+{0,1}\\\\w+\\\\s+)([^\\\"/`]+)\"}]},\"support_functions\":{\"captures\":{\"1\":{\"name\":\"entity.name.function.support.go\"},\"2\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\d\\\\w*\",\"name\":\"invalid.illegal.identifier.go\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.function.support.go\"}]},\"3\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"match\":\"\\\\[\",\"name\":\"punctuation.definition.begin.bracket.square.go\"},{\"match\":\"]\",\"name\":\"punctuation.definition.end.bracket.square.go\"},{\"match\":\"\\\\{\",\"name\":\"punctuation.definition.begin.bracket.curly.go\"},{\"match\":\"}\",\"name\":\"punctuation.definition.end.bracket.curly.go\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"(?:((?<=\\\\.)\\\\b\\\\w+)|\\\\b(\\\\w+))(\\\\[(?:[]\\\"'*.\\\\[{}\\\\w]+(?:,\\\\s*[]*.\\\\[{}\\\\w]+)*)?])?(?=\\\\()\"},\"switch_select_case_variables\":{\"captures\":{\"1\":{\"name\":\"keyword.control.go\"},\"2\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"include\":\"#support_functions\"},{\"include\":\"#variable_assignment\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.go\"}]}},\"match\":\"^\\\\s*\\\\b(case)\\\\b\\\\s+([\\\\s\\\\S]+:\\\\s*(?:/[*/].*)?)$\"},\"switch_types\":{\"begin\":\"(?<=\\\\bswitch\\\\b)\\\\s*(\\\\w+\\\\s*:=)?\\\\s*([-\\\\]%\\\\&(-+./<>\\\\[|\\\\w]+)(\\\\.\\\\(\\\\btype\\\\b\\\\)\\\\s*)(\\\\{)\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#operators\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.assignment.go\"}]},\"2\":{\"patterns\":[{\"include\":\"#support_functions\"},{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.go\"}]},\"3\":{\"patterns\":[{\"include\":\"#delimiters\"},{\"include\":\"#brackets\"},{\"match\":\"\\\\btype\\\\b\",\"name\":\"keyword.type.go\"}]},\"4\":{\"name\":\"punctuation.definition.begin.bracket.curly.go\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.curly.go\"}},\"patterns\":[{\"captures\":{\"1\":{\"name\":\"keyword.control.go\"},\"2\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]},\"3\":{\"name\":\"punctuation.other.colon.go\"},\"4\":{\"patterns\":[{\"include\":\"#comments\"}]}},\"match\":\"^\\\\s*\\\\b(case)\\\\b\\\\s+([!*,.<=>\\\\w\\\\s]+)(:)(\\\\s*/[*/]\\\\s*.*)?$\"},{\"begin\":\"\\\\bcase\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.go\"}},\"end\":\":\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.other.colon.go\"}},\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]},{\"include\":\"$self\"}]},\"syntax_errors\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"invalid.illegal.slice.go\"}},\"match\":\"\\\\[](\\\\s+)\"},{\"match\":\"\\\\b0[0-7]*[89]\\\\d*\\\\b\",\"name\":\"invalid.illegal.numeric.go\"}]},\"terminators\":{\"match\":\";\",\"name\":\"punctuation.terminator.go\"},\"type-declarations\":{\"patterns\":[{\"include\":\"#language_constants\"},{\"include\":\"#comments\"},{\"include\":\"#map_types\"},{\"include\":\"#brackets\"},{\"include\":\"#delimiters\"},{\"include\":\"#keywords\"},{\"include\":\"#operators\"},{\"include\":\"#runes\"},{\"include\":\"#storage_types\"},{\"include\":\"#raw_string_literals\"},{\"include\":\"#string_literals\"},{\"include\":\"#numeric_literals\"},{\"include\":\"#terminators\"}]},\"type-declarations-without-brackets\":{\"patterns\":[{\"include\":\"#language_constants\"},{\"include\":\"#comments\"},{\"include\":\"#map_types\"},{\"include\":\"#delimiters\"},{\"include\":\"#keywords\"},{\"include\":\"#operators\"},{\"include\":\"#runes\"},{\"include\":\"#storage_types\"},{\"include\":\"#raw_string_literals\"},{\"include\":\"#string_literals\"},{\"include\":\"#numeric_literals\"},{\"include\":\"#terminators\"}]},\"type_assertion_inline\":{\"captures\":{\"1\":{\"name\":\"keyword.type.go\"},\"2\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"(?<=\\\\.\\\\()(?:\\\\b(type)\\\\b|((?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}[]*.\\\\[\\\\w]+))(?=\\\\))\"},\"var_assignment\":{\"patterns\":[{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#delimiters\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.assignment.go\"}]},\"2\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"include\":\"#generic_types\"},{\"match\":\"\\\\(\",\"name\":\"punctuation.definition.begin.bracket.round.go\"},{\"match\":\"\\\\)\",\"name\":\"punctuation.definition.end.bracket.round.go\"},{\"match\":\"\\\\[\",\"name\":\"punctuation.definition.begin.bracket.square.go\"},{\"match\":\"]\",\"name\":\"punctuation.definition.end.bracket.square.go\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"(?<=\\\\bvar\\\\b)\\\\s*\\\\b([.\\\\w]+(?:,\\\\s*[.\\\\w]+)*)\\\\s*((?:(?:[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+(?:\\\\([^)]+\\\\))?)?(?![]*\\\\[]+{0,1}\\\\b(?:struct|func|map)\\\\b)(?:[]*.\\\\[\\\\w]+(?:,\\\\s*[]*.\\\\[\\\\w]+)*)?\\\\s*=?)?\"},{\"begin\":\"(?<=\\\\bvar\\\\b)\\\\s*(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.begin.bracket.round.go\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.round.go\"}},\"patterns\":[{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#delimiters\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.assignment.go\"}]},\"2\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"include\":\"#generic_types\"},{\"match\":\"\\\\(\",\"name\":\"punctuation.definition.begin.bracket.round.go\"},{\"match\":\"\\\\)\",\"name\":\"punctuation.definition.end.bracket.round.go\"},{\"match\":\"\\\\[\",\"name\":\"punctuation.definition.begin.bracket.square.go\"},{\"match\":\"]\",\"name\":\"punctuation.definition.end.bracket.square.go\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"^\\\\s*\\\\b([.\\\\w]+(?:,\\\\s*[.\\\\w]+)*)\\\\s*((?:(?:[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+(?:\\\\([^)]+\\\\))?)?(?![]*\\\\[]+{0,1}\\\\b(?:struct|func|map)\\\\b)(?:[]*.\\\\[\\\\w]+(?:,\\\\s*[]*.\\\\[\\\\w]+)*)?\\\\s*=?)?\"},{\"include\":\"$self\"}]}]},\"variable_assignment\":{\"patterns\":[{\"captures\":{\"0\":{\"patterns\":[{\"include\":\"#delimiters\"},{\"match\":\"\\\\d\\\\w*\",\"name\":\"invalid.illegal.identifier.go\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.assignment.go\"}]}},\"match\":\"\\\\b\\\\w+(?:,\\\\s*\\\\w+)*(?=\\\\s*:=)\"},{\"captures\":{\"0\":{\"patterns\":[{\"include\":\"#delimiters\"},{\"include\":\"#operators\"},{\"match\":\"\\\\d\\\\w*\",\"name\":\"invalid.illegal.identifier.go\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.assignment.go\"}]}},\"match\":\"\\\\b[*.\\\\w]+(?:,\\\\s*[*.\\\\w]+)*(?=\\\\s*=(?!=))\"}]}},\"scopeName\":\"source.go\"}"))
2
2
 
3
3
  export default [
4
4
  lang
package/dist/liquid.mjs CHANGED
@@ -3,7 +3,7 @@ import css from './css.mjs'
3
3
  import json from './json.mjs'
4
4
  import javascript from './javascript.mjs'
5
5
 
6
- const lang = Object.freeze(JSON.parse("{\"displayName\":\"Liquid\",\"fileTypes\":[\"liquid\"],\"foldingStartMarker\":\"\\\\{%-?\\\\s*(capture|case|comment|form??|if|javascript|paginate|schema|style)[^%()}]+%}\",\"foldingStopMarker\":\"\\\\{%\\\\s*(end(?:capture|case|comment|form??|if|javascript|paginate|schema|style))[^%()}]+%}\",\"injections\":{\"L:meta.embedded.block.js, L:meta.embedded.block.css, L:meta.embedded.block.html, L:string.quoted\":{\"patterns\":[{\"include\":\"#injection\"}]}},\"name\":\"liquid\",\"patterns\":[{\"include\":\"#core\"}],\"repository\":{\"attribute\":{\"begin\":\"\\\\w+:\",\"beginCaptures\":{\"0\":{\"name\":\"entity.other.attribute-name.liquid\"}},\"end\":\"(?=,|%}|}}|\\\\|)\",\"patterns\":[{\"include\":\"#value_expression\"}]},\"attribute_liquid\":{\"begin\":\"\\\\w+:\",\"beginCaptures\":{\"0\":{\"name\":\"entity.other.attribute-name.liquid\"}},\"end\":\"(?=[,|])|$\",\"patterns\":[{\"include\":\"#value_expression\"}]},\"comment_block\":{\"begin\":\"\\\\{%-?\\\\s*comment\\\\s*-?%}\",\"end\":\"\\\\{%-?\\\\s*endcomment\\\\s*-?%}\",\"name\":\"comment.block.liquid\",\"patterns\":[{\"include\":\"#comment_block\"},{\"match\":\"(.(?!\\\\{%-?\\\\s*((?:|end)comment)\\\\s*-?%}))*.\"}]},\"core\":{\"patterns\":[{\"include\":\"#raw_tag\"},{\"include\":\"#doc_tag\"},{\"include\":\"#comment_block\"},{\"include\":\"#style_codefence\"},{\"include\":\"#stylesheet_codefence\"},{\"include\":\"#json_codefence\"},{\"include\":\"#javascript_codefence\"},{\"include\":\"#object\"},{\"include\":\"#tag\"},{\"include\":\"text.html.basic\"}]},\"doc_tag\":{\"begin\":\"\\\\{%-?\\\\s*(doc)\\\\s*-?%}\",\"beginCaptures\":{\"0\":{\"name\":\"meta.tag.liquid\"},\"1\":{\"name\":\"entity.name.tag.doc.liquid\"}},\"contentName\":\"comment.block.documentation.liquid\",\"end\":\"\\\\{%-?\\\\s*(enddoc)\\\\s*-?%}\",\"endCaptures\":{\"0\":{\"name\":\"meta.tag.liquid\"},\"1\":{\"name\":\"entity.name.tag.doc.liquid\"}},\"name\":\"meta.block.doc.liquid\",\"patterns\":[{\"include\":\"#liquid_doc_description_tag\"},{\"include\":\"#liquid_doc_param_tag\"},{\"include\":\"#liquid_doc_example_tag\"},{\"include\":\"#liquid_doc_fallback_tag\"}]},\"filter\":{\"captures\":{\"1\":{\"name\":\"support.function.liquid\"}},\"match\":\"\\\\|\\\\s*((?![.0-9])[-0-9A-Z_a-z]+:?)\\\\s*\"},\"injection\":{\"patterns\":[{\"include\":\"#raw_tag\"},{\"include\":\"#comment_block\"},{\"include\":\"#object\"},{\"include\":\"#tag_injection\"}]},\"invalid_range\":{\"match\":\"\\\\((.(?!\\\\.\\\\.))+\\\\)\",\"name\":\"invalid.illegal.range.liquid\"},\"javascript_codefence\":{\"begin\":\"(\\\\{%-?)\\\\s*(javascript)\\\\s*(-?%})\",\"beginCaptures\":{\"0\":{\"name\":\"meta.tag.metadata.javascript.start.liquid\"},\"1\":{\"name\":\"punctuation.definition.tag.begin.liquid\"},\"2\":{\"name\":\"entity.name.tag.javascript.liquid\"},\"3\":{\"name\":\"punctuation.definition.tag.begin.liquid\"}},\"contentName\":\"meta.embedded.block.js\",\"end\":\"(\\\\{%-?)\\\\s*(endjavascript)\\\\s*(-?%})\",\"endCaptures\":{\"0\":{\"name\":\"meta.tag.metadata.javascript.end.liquid\"},\"1\":{\"name\":\"punctuation.definition.tag.end.liquid\"},\"2\":{\"name\":\"entity.name.tag.javascript.liquid\"},\"3\":{\"name\":\"punctuation.definition.tag.end.liquid\"}},\"name\":\"meta.block.javascript.liquid\",\"patterns\":[{\"include\":\"source.js\"}]},\"json_codefence\":{\"begin\":\"(\\\\{%-?)\\\\s*(schema)\\\\s*(-?%})\",\"beginCaptures\":{\"0\":{\"name\":\"meta.tag.metadata.schema.start.liquid\"},\"1\":{\"name\":\"punctuation.definition.tag.begin.liquid\"},\"2\":{\"name\":\"entity.name.tag.schema.liquid\"},\"3\":{\"name\":\"punctuation.definition.tag.begin.liquid\"}},\"contentName\":\"meta.embedded.block.json\",\"end\":\"(\\\\{%-?)\\\\s*(endschema)\\\\s*(-?%})\",\"endCaptures\":{\"0\":{\"name\":\"meta.tag.metadata.schema.end.liquid\"},\"1\":{\"name\":\"punctuation.definition.tag.end.liquid\"},\"2\":{\"name\":\"entity.name.tag.schema.liquid\"},\"3\":{\"name\":\"punctuation.definition.tag.end.liquid\"}},\"name\":\"meta.block.schema.liquid\",\"patterns\":[{\"include\":\"source.json\"}]},\"language_constant\":{\"match\":\"\\\\b(false|true|nil|blank)\\\\b|empty(?!\\\\?)\",\"name\":\"constant.language.liquid\"},\"liquid_doc_description_tag\":{\"begin\":\"(@description)\\\\b\\\\s*\",\"beginCaptures\":{\"0\":{\"name\":\"comment.block.documentation.liquid\"},\"1\":{\"name\":\"storage.type.class.liquid\"}},\"end\":\"(?=@|\\\\{%-?\\\\s*enddoc\\\\s*-?%})\",\"patterns\":[{\"match\":\"[^@]+\",\"name\":\"string.quoted.single.liquid\"}]},\"liquid_doc_example_tag\":{\"begin\":\"(@example)\\\\b\\\\s*\",\"beginCaptures\":{\"0\":{\"name\":\"comment.block.documentation.liquid\"},\"1\":{\"name\":\"storage.type.class.liquid\"}},\"contentName\":\"meta.embedded.block.liquid\",\"end\":\"(?=@|\\\\{%-?\\\\s*enddoc\\\\s*-?%})\",\"patterns\":[{\"include\":\"#core\"}]},\"liquid_doc_fallback_tag\":{\"captures\":{\"1\":{\"name\":\"comment.block.liquid\"}},\"match\":\"(@\\\\w+)\\\\b\"},\"liquid_doc_param_tag\":{\"captures\":{\"1\":{\"name\":\"storage.type.class.liquid\"},\"2\":{\"name\":\"entity.name.type.instance.liquid\"},\"3\":{\"name\":\"variable.other.liquid\"},\"4\":{\"name\":\"string.quoted.single.liquid\"}},\"match\":\"(@param)\\\\s+(?:(\\\\{[^}]*}?)\\\\s+)?(\\\\[?[A-Z_a-z][-\\\\w]*]?)?(?:\\\\s+(.*))?\"},\"number\":{\"match\":\"(([-+])\\\\s*)?[0-9]+(\\\\.[0-9]+)?\",\"name\":\"constant.numeric.liquid\"},\"object\":{\"begin\":\"(?<!comment %})(?<!comment -%})(?<!comment%})(?<!comment-%})(?<!raw %})(?<!raw -%})(?<!raw%})(?<!raw-%})\\\\{\\\\{-?\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag.begin.liquid\"}},\"end\":\"-?}}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag.end.liquid\"}},\"name\":\"meta.object.liquid\",\"patterns\":[{\"include\":\"#filter\"},{\"include\":\"#attribute\"},{\"include\":\"#value_expression\"}]},\"operator\":{\"captures\":{\"1\":{\"name\":\"keyword.operator.expression.liquid\"}},\"match\":\"(?:(?<=\\\\s)|\\\\b)(==|!=|[<>]|>=|<=|or|and|contains)(?:(?=\\\\s)|\\\\b)\"},\"range\":{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.parens.begin.liquid\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.parens.end.liquid\"}},\"name\":\"meta.range.liquid\",\"patterns\":[{\"match\":\"\\\\.\\\\.\",\"name\":\"punctuation.range.liquid\"},{\"include\":\"#variable_lookup\"},{\"include\":\"#number\"}]},\"raw_tag\":{\"begin\":\"\\\\{%-?\\\\s*(raw)\\\\s*-?%}\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.tag.liquid\"}},\"contentName\":\"string.unquoted.liquid\",\"end\":\"\\\\{%-?\\\\s*(endraw)\\\\s*-?%}\",\"endCaptures\":{\"1\":{\"name\":\"entity.name.tag.liquid\"}},\"name\":\"meta.entity.tag.raw.liquid\",\"patterns\":[{\"match\":\"(.(?!\\\\{%-?\\\\s*endraw\\\\s*-?%}))*.\"}]},\"string\":{\"patterns\":[{\"include\":\"#string_single\"},{\"include\":\"#string_double\"}]},\"string_double\":{\"begin\":\"\\\"\",\"end\":\"\\\"\",\"name\":\"string.quoted.double.liquid\"},\"string_single\":{\"begin\":\"'\",\"end\":\"'\",\"name\":\"string.quoted.single.liquid\"},\"style_codefence\":{\"begin\":\"(\\\\{%-?)\\\\s*(style)\\\\s*(-?%})\",\"beginCaptures\":{\"0\":{\"name\":\"meta.tag.metadata.style.start.liquid\"},\"1\":{\"name\":\"punctuation.definition.tag.begin.liquid\"},\"2\":{\"name\":\"entity.name.tag.style.liquid\"},\"3\":{\"name\":\"punctuation.definition.tag.begin.liquid\"}},\"contentName\":\"meta.embedded.block.css\",\"end\":\"(\\\\{%-?)\\\\s*(endstyle)\\\\s*(-?%})\",\"endCaptures\":{\"0\":{\"name\":\"meta.tag.metadata.style.end.liquid\"},\"1\":{\"name\":\"punctuation.definition.tag.end.liquid\"},\"2\":{\"name\":\"entity.name.tag.style.liquid\"},\"3\":{\"name\":\"punctuation.definition.tag.end.liquid\"}},\"name\":\"meta.block.style.liquid\",\"patterns\":[{\"include\":\"source.css\"}]},\"stylesheet_codefence\":{\"begin\":\"(\\\\{%-?)\\\\s*(stylesheet)\\\\s*(-?%})\",\"beginCaptures\":{\"0\":{\"name\":\"meta.tag.metadata.style.start.liquid\"},\"1\":{\"name\":\"punctuation.definition.tag.begin.liquid\"},\"2\":{\"name\":\"entity.name.tag.style.liquid\"},\"3\":{\"name\":\"punctuation.definition.tag.begin.liquid\"}},\"contentName\":\"meta.embedded.block.css\",\"end\":\"(\\\\{%-?)\\\\s*(endstylesheet)\\\\s*(-?%})\",\"endCaptures\":{\"0\":{\"name\":\"meta.tag.metadata.style.end.liquid\"},\"1\":{\"name\":\"punctuation.definition.tag.end.liquid\"},\"2\":{\"name\":\"entity.name.tag.style.liquid\"},\"3\":{\"name\":\"punctuation.definition.tag.end.liquid\"}},\"name\":\"meta.block.style.liquid\",\"patterns\":[{\"include\":\"source.css\"}]},\"tag\":{\"begin\":\"(?<!comment %})(?<!comment -%})(?<!comment%})(?<!comment-%})(?<!raw %})(?<!raw -%})(?<!raw%})(?<!raw-%})\\\\{%-?\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag.begin.liquid\"}},\"end\":\"-?%}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag.end.liquid\"}},\"name\":\"meta.tag.liquid\",\"patterns\":[{\"include\":\"#tag_body\"}]},\"tag_assign\":{\"begin\":\"(?:(?<=\\\\{%)|(?<=\\\\{%-)|^)\\\\s*(assign|echo)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.tag.liquid\"}},\"end\":\"(?=%})\",\"name\":\"meta.entity.tag.liquid\",\"patterns\":[{\"include\":\"#filter\"},{\"include\":\"#attribute\"},{\"include\":\"#value_expression\"}]},\"tag_assign_liquid\":{\"begin\":\"(?:(?<=\\\\{%)|(?<=\\\\{%-)|^)\\\\s*(assign|echo)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.tag.liquid\"}},\"end\":\"$\",\"name\":\"meta.entity.tag.liquid\",\"patterns\":[{\"include\":\"#filter\"},{\"include\":\"#attribute_liquid\"},{\"include\":\"#value_expression\"}]},\"tag_body\":{\"patterns\":[{\"include\":\"#tag_liquid\"},{\"include\":\"#tag_assign\"},{\"include\":\"#tag_comment_inline\"},{\"include\":\"#tag_case\"},{\"include\":\"#tag_conditional\"},{\"include\":\"#tag_for\"},{\"include\":\"#tag_paginate\"},{\"include\":\"#tag_render\"},{\"include\":\"#tag_tablerow\"},{\"include\":\"#tag_expression\"}]},\"tag_case\":{\"begin\":\"(?:(?<=\\\\{%)|(?<=\\\\{%-)|^)\\\\s*(case|when)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.case.liquid\"}},\"end\":\"(?=%})\",\"name\":\"meta.entity.tag.case.liquid\",\"patterns\":[{\"include\":\"#value_expression\"}]},\"tag_case_liquid\":{\"begin\":\"(?:(?<=\\\\{%)|(?<=\\\\{%-)|^)\\\\s*(case|when)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.case.liquid\"}},\"end\":\"$\",\"name\":\"meta.entity.tag.case.liquid\",\"patterns\":[{\"include\":\"#value_expression\"}]},\"tag_comment_block_liquid\":{\"begin\":\"^\\\\s*(comment)\\\\b\",\"end\":\"^\\\\s*(endcomment)\\\\b\",\"name\":\"comment.block.liquid\",\"patterns\":[{\"include\":\"#tag_comment_block_liquid\"},{\"match\":\"^\\\\s*(?!((?:|end)comment)).*\"}]},\"tag_comment_inline\":{\"begin\":\"#\",\"end\":\"(?=%})\",\"name\":\"comment.line.number-sign.liquid\"},\"tag_comment_inline_liquid\":{\"begin\":\"^\\\\s*#.*\",\"end\":\"$\",\"name\":\"comment.line.number-sign.liquid\"},\"tag_conditional\":{\"begin\":\"(?:(?<=\\\\{%)|(?<=\\\\{%-)|^)\\\\s*(if|elsif|unless)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.conditional.liquid\"}},\"end\":\"(?=%})\",\"name\":\"meta.entity.tag.conditional.liquid\",\"patterns\":[{\"include\":\"#value_expression\"}]},\"tag_conditional_liquid\":{\"begin\":\"(?:(?<=\\\\{%)|(?<=\\\\{%-)|^)\\\\s*(if|elsif|unless)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.conditional.liquid\"}},\"end\":\"$\",\"name\":\"meta.entity.tag.conditional.liquid\",\"patterns\":[{\"include\":\"#value_expression\"}]},\"tag_expression\":{\"patterns\":[{\"include\":\"#tag_expression_without_arguments\"},{\"begin\":\"(?:(?<=\\\\{%)|(?<=\\\\{%-)|^)\\\\s*(\\\\w+)\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.tag.liquid\"}},\"end\":\"(?=%})\",\"name\":\"meta.entity.tag.liquid\",\"patterns\":[{\"include\":\"#value_expression\"}]}]},\"tag_expression_liquid\":{\"patterns\":[{\"include\":\"#tag_expression_without_arguments\"},{\"begin\":\"(?:(?<=\\\\{%)|(?<=\\\\{%-)|^)\\\\s*(\\\\w+)\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.tag.liquid\"}},\"end\":\"$\",\"name\":\"meta.entity.tag.liquid\",\"patterns\":[{\"include\":\"#value_expression\"}]}]},\"tag_expression_without_arguments\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"keyword.control.conditional.liquid\"}},\"match\":\"(?:(?<=\\\\{%)|(?<=\\\\{%-)|^)\\\\s*(end(?:unless|if))\\\\b\"},{\"captures\":{\"1\":{\"name\":\"keyword.control.loop.liquid\"}},\"match\":\"(?:(?<=\\\\{%)|(?<=\\\\{%-)|^)\\\\s*(end(?:for|tablerow|paginate))\\\\b\"},{\"captures\":{\"1\":{\"name\":\"keyword.control.case.liquid\"}},\"match\":\"(?:(?<=\\\\{%)|(?<=\\\\{%-)|^)\\\\s*(endcase)\\\\b\"},{\"captures\":{\"1\":{\"name\":\"keyword.control.other.liquid\"}},\"match\":\"(?:(?<=\\\\{%)|(?<=\\\\{%-)|^)\\\\s*(capture|case|comment|form??|if|javascript|paginate|schema|style)\\\\b\"},{\"captures\":{\"1\":{\"name\":\"keyword.control.other.liquid\"}},\"match\":\"(?:(?<=\\\\{%)|(?<=\\\\{%-)|^)\\\\s*(end(?:capture|case|comment|form??|if|javascript|paginate|schema|style))\\\\b\"},{\"captures\":{\"1\":{\"name\":\"keyword.control.other.liquid\"}},\"match\":\"(?:(?<=\\\\{%)|(?<=\\\\{%-)|^)\\\\s*(else|break|continue)\\\\b\"}]},\"tag_for\":{\"begin\":\"(?:(?<=\\\\{%)|(?<=\\\\{%-)|^)\\\\s*(for)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.for.liquid\"}},\"end\":\"(?=%})\",\"name\":\"meta.entity.tag.for.liquid\",\"patterns\":[{\"include\":\"#tag_for_body\"}]},\"tag_for_body\":{\"patterns\":[{\"match\":\"\\\\b(in|reversed)\\\\b\",\"name\":\"keyword.control.liquid\"},{\"match\":\"\\\\b(offset|limit):\",\"name\":\"keyword.control.liquid\"},{\"include\":\"#value_expression\"}]},\"tag_for_liquid\":{\"begin\":\"(?:(?<=\\\\{%)|(?<=\\\\{%-)|^)\\\\s*(for)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.for.liquid\"}},\"end\":\"$\",\"name\":\"meta.entity.tag.for.liquid\",\"patterns\":[{\"include\":\"#tag_for_body\"}]},\"tag_injection\":{\"begin\":\"(?<!comment %})(?<!comment -%})(?<!comment%})(?<!comment-%})(?<!raw %})(?<!raw -%})(?<!raw%})(?<!raw-%})\\\\{%-?(?!-?\\\\s*(end(?:style|javascript|comment|raw)))\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag.end.liquid\"}},\"end\":\"-?%}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag.end.liquid\"}},\"name\":\"meta.tag.liquid\",\"patterns\":[{\"include\":\"#tag_body\"}]},\"tag_liquid\":{\"begin\":\"(?:(?<=\\\\{%)|(?<=\\\\{%-)|^)\\\\s*(liquid)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.liquid.liquid\"}},\"end\":\"(?=%})\",\"name\":\"meta.entity.tag.liquid.liquid\",\"patterns\":[{\"include\":\"#tag_comment_block_liquid\"},{\"include\":\"#tag_comment_inline_liquid\"},{\"include\":\"#tag_assign_liquid\"},{\"include\":\"#tag_case_liquid\"},{\"include\":\"#tag_conditional_liquid\"},{\"include\":\"#tag_for_liquid\"},{\"include\":\"#tag_paginate_liquid\"},{\"include\":\"#tag_render_liquid\"},{\"include\":\"#tag_tablerow_liquid\"},{\"include\":\"#tag_expression_liquid\"}]},\"tag_paginate\":{\"begin\":\"(?:(?<=\\\\{%)|(?<=\\\\{%-)|^)\\\\s*(paginate)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.paginate.liquid\"}},\"end\":\"(?=%})\",\"name\":\"meta.entity.tag.paginate.liquid\",\"patterns\":[{\"include\":\"#tag_paginate_body\"}]},\"tag_paginate_body\":{\"patterns\":[{\"match\":\"\\\\b(by)\\\\b\",\"name\":\"keyword.control.liquid\"},{\"include\":\"#value_expression\"}]},\"tag_paginate_liquid\":{\"begin\":\"(?:(?<=\\\\{%)|(?<=\\\\{%-)|^)\\\\s*(paginate)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.paginate.liquid\"}},\"end\":\"$\",\"name\":\"meta.entity.tag.paginate.liquid\",\"patterns\":[{\"include\":\"#tag_paginate_body\"}]},\"tag_render\":{\"begin\":\"(?:(?<=\\\\{%)|(?<=\\\\{%-)|^)\\\\s*(render)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.tag.render.liquid\"}},\"end\":\"(?=%})\",\"name\":\"meta.entity.tag.render.liquid\",\"patterns\":[{\"include\":\"#tag_render_special_keywords\"},{\"include\":\"#attribute\"},{\"include\":\"#value_expression\"}]},\"tag_render_liquid\":{\"begin\":\"(?:(?<=\\\\{%)|(?<=\\\\{%-)|^)\\\\s*(render)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.tag.render.liquid\"}},\"end\":\"$\",\"name\":\"meta.entity.tag.render.liquid\",\"patterns\":[{\"include\":\"#tag_render_special_keywords\"},{\"include\":\"#attribute_liquid\"},{\"include\":\"#value_expression\"}]},\"tag_render_special_keywords\":{\"match\":\"\\\\b(with|as|for)\\\\b\",\"name\":\"keyword.control.other.liquid\"},\"tag_tablerow\":{\"begin\":\"(?:(?<=\\\\{%)|(?<=\\\\{%-)|^)\\\\s*(tablerow)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.tablerow.liquid\"}},\"end\":\"(?=%})\",\"name\":\"meta.entity.tag.tablerow.liquid\",\"patterns\":[{\"include\":\"#tag_tablerow_body\"}]},\"tag_tablerow_body\":{\"patterns\":[{\"match\":\"\\\\b(in)\\\\b\",\"name\":\"keyword.control.liquid\"},{\"match\":\"\\\\b(cols|offset|limit):\",\"name\":\"keyword.control.liquid\"},{\"include\":\"#value_expression\"}]},\"tag_tablerow_liquid\":{\"begin\":\"(?:(?<=\\\\{%)|(?<=\\\\{%-)|^)\\\\s*(tablerow)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.tablerow.liquid\"}},\"end\":\"$\",\"name\":\"meta.entity.tag.tablerow.liquid\",\"patterns\":[{\"include\":\"#tag_tablerow_body\"}]},\"value_expression\":{\"patterns\":[{\"captures\":{\"2\":{\"name\":\"invalid.illegal.filter.liquid\"},\"3\":{\"name\":\"invalid.illegal.filter.liquid\"}},\"match\":\"(\\\\[)(\\\\|)(?=[^]]*)(?=])\"},{\"match\":\"(?<=\\\\s)([-*+/])(?=\\\\s)\",\"name\":\"invalid.illegal.filter.liquid\"},{\"include\":\"#language_constant\"},{\"include\":\"#operator\"},{\"include\":\"#invalid_range\"},{\"include\":\"#range\"},{\"include\":\"#number\"},{\"include\":\"#string\"},{\"include\":\"#variable_lookup\"}]},\"variable_lookup\":{\"patterns\":[{\"match\":\"\\\\b(additional_checkout_buttons|address|all_country_option_tags|all_products|articles??|block|blogs??|canonical_url|cart|checkout|collections??|comment|content_for_additional_checkout_buttons|content_for_header|content_for_index|content_for_layout|country_option_tags|currency|current_page|current_tags|customer|customer_address|discount_allocation|discount_application|external_video|font|forloop|form|fulfillment|gift_card|handle|images??|line_item|link|linklists??|location|localization|metafield|model|model_source|order|page|page_description|page_image|page_title|pages|paginate|part|policy|powered_by_link|predictive_search|product|product_option|product_variant|recommendations|request|routes|scripts??|search|section|selling_plan|selling_plan_allocation|selling_plan_group|settings|shipping_method|shop|shop_locale|store_availability|tablerow|tax_line|template|theme|transaction|unit_price_measurement|variant|video|video_source)\\\\b\",\"name\":\"variable.language.liquid\"},{\"match\":\"((?<=\\\\w:\\\\s)\\\\w+)\",\"name\":\"variable.parameter.liquid\"},{\"begin\":\"(?<=\\\\w)\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.brackets.begin.liquid\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.brackets.end.liquid\"}},\"name\":\"meta.brackets.liquid\",\"patterns\":[{\"include\":\"#string\"}]},{\"match\":\"(?<=([]\\\\w])\\\\.)([-\\\\w]+\\\\??)\",\"name\":\"variable.other.member.liquid\"},{\"match\":\"(?<=\\\\w)\\\\.(?=\\\\w)\",\"name\":\"punctuation.accessor.liquid\"},{\"match\":\"(?i)[_a-z](\\\\w|-(?!}}))*\",\"name\":\"variable.other.liquid\"}]}},\"scopeName\":\"text.html.liquid\",\"embeddedLangs\":[\"html\",\"css\",\"json\",\"javascript\"]}"))
6
+ const lang = Object.freeze(JSON.parse("{\"displayName\":\"Liquid\",\"fileTypes\":[\"liquid\"],\"foldingStartMarker\":\"\\\\{%-?\\\\s*(capture|case|comment|form??|if|javascript|paginate|schema|style)[^%()}]+%}\",\"foldingStopMarker\":\"\\\\{%\\\\s*(end(?:capture|case|comment|form??|if|javascript|paginate|schema|style))[^%()}]+%}\",\"injections\":{\"L:meta.embedded.block.js, L:meta.embedded.block.css, L:meta.embedded.block.html, L:string.quoted\":{\"patterns\":[{\"include\":\"#injection\"}]}},\"name\":\"liquid\",\"patterns\":[{\"include\":\"#core\"}],\"repository\":{\"attribute\":{\"begin\":\"\\\\w+:\",\"beginCaptures\":{\"0\":{\"name\":\"entity.other.attribute-name.liquid\"}},\"end\":\"(?=,|%}|}}|\\\\|)\",\"patterns\":[{\"include\":\"#value_expression\"}]},\"attribute_liquid\":{\"begin\":\"\\\\w+:\",\"beginCaptures\":{\"0\":{\"name\":\"entity.other.attribute-name.liquid\"}},\"end\":\"(?=[,|])|$\",\"patterns\":[{\"include\":\"#value_expression\"}]},\"comment_block\":{\"begin\":\"\\\\{%-?\\\\s*comment\\\\s*-?%}\",\"end\":\"\\\\{%-?\\\\s*endcomment\\\\s*-?%}\",\"name\":\"comment.block.liquid\",\"patterns\":[{\"include\":\"#comment_block\"},{\"match\":\"(.(?!\\\\{%-?\\\\s*((?:|end)comment)\\\\s*-?%}))*.\"}]},\"core\":{\"patterns\":[{\"include\":\"#raw_tag\"},{\"include\":\"#doc_tag\"},{\"include\":\"#comment_block\"},{\"include\":\"#style_codefence\"},{\"include\":\"#stylesheet_codefence\"},{\"include\":\"#json_codefence\"},{\"include\":\"#javascript_codefence\"},{\"include\":\"#object\"},{\"include\":\"#tag\"},{\"include\":\"text.html.basic\"}]},\"doc_tag\":{\"begin\":\"\\\\{%-?\\\\s*(doc)\\\\s*-?%}\",\"beginCaptures\":{\"0\":{\"name\":\"meta.tag.liquid\"},\"1\":{\"name\":\"entity.name.tag.doc.liquid\"}},\"contentName\":\"comment.block.documentation.liquid\",\"end\":\"\\\\{%-?\\\\s*(enddoc)\\\\s*-?%}\",\"endCaptures\":{\"0\":{\"name\":\"meta.tag.liquid\"},\"1\":{\"name\":\"entity.name.tag.doc.liquid\"}},\"name\":\"meta.block.doc.liquid\",\"patterns\":[{\"include\":\"#liquid_doc_description_tag\"},{\"include\":\"#liquid_doc_param_tag\"},{\"include\":\"#liquid_doc_example_tag\"},{\"include\":\"#liquid_doc_prompt_tag\"},{\"include\":\"#liquid_doc_fallback_tag\"}]},\"filter\":{\"captures\":{\"1\":{\"name\":\"support.function.liquid\"}},\"match\":\"\\\\|\\\\s*((?![.0-9])[-0-9A-Z_a-z]+:?)\\\\s*\"},\"injection\":{\"patterns\":[{\"include\":\"#raw_tag\"},{\"include\":\"#comment_block\"},{\"include\":\"#object\"},{\"include\":\"#tag_injection\"}]},\"invalid_range\":{\"match\":\"\\\\((.(?!\\\\.\\\\.))+\\\\)\",\"name\":\"invalid.illegal.range.liquid\"},\"javascript_codefence\":{\"begin\":\"(\\\\{%-?)\\\\s*(javascript)\\\\s*(-?%})\",\"beginCaptures\":{\"0\":{\"name\":\"meta.tag.metadata.javascript.start.liquid\"},\"1\":{\"name\":\"punctuation.definition.tag.begin.liquid\"},\"2\":{\"name\":\"entity.name.tag.javascript.liquid\"},\"3\":{\"name\":\"punctuation.definition.tag.begin.liquid\"}},\"contentName\":\"meta.embedded.block.js\",\"end\":\"(\\\\{%-?)\\\\s*(endjavascript)\\\\s*(-?%})\",\"endCaptures\":{\"0\":{\"name\":\"meta.tag.metadata.javascript.end.liquid\"},\"1\":{\"name\":\"punctuation.definition.tag.end.liquid\"},\"2\":{\"name\":\"entity.name.tag.javascript.liquid\"},\"3\":{\"name\":\"punctuation.definition.tag.end.liquid\"}},\"name\":\"meta.block.javascript.liquid\",\"patterns\":[{\"include\":\"source.js\"}]},\"json_codefence\":{\"begin\":\"(\\\\{%-?)\\\\s*(schema)\\\\s*(-?%})\",\"beginCaptures\":{\"0\":{\"name\":\"meta.tag.metadata.schema.start.liquid\"},\"1\":{\"name\":\"punctuation.definition.tag.begin.liquid\"},\"2\":{\"name\":\"entity.name.tag.schema.liquid\"},\"3\":{\"name\":\"punctuation.definition.tag.begin.liquid\"}},\"contentName\":\"meta.embedded.block.json\",\"end\":\"(\\\\{%-?)\\\\s*(endschema)\\\\s*(-?%})\",\"endCaptures\":{\"0\":{\"name\":\"meta.tag.metadata.schema.end.liquid\"},\"1\":{\"name\":\"punctuation.definition.tag.end.liquid\"},\"2\":{\"name\":\"entity.name.tag.schema.liquid\"},\"3\":{\"name\":\"punctuation.definition.tag.end.liquid\"}},\"name\":\"meta.block.schema.liquid\",\"patterns\":[{\"include\":\"source.json\"}]},\"language_constant\":{\"match\":\"\\\\b(false|true|nil|blank)\\\\b|empty(?!\\\\?)\",\"name\":\"constant.language.liquid\"},\"liquid_doc_description_tag\":{\"begin\":\"(@description)\\\\b\\\\s*\",\"beginCaptures\":{\"0\":{\"name\":\"comment.block.documentation.liquid\"},\"1\":{\"name\":\"storage.type.class.liquid\"}},\"contentName\":\"string.quoted.single.liquid\",\"end\":\"(?=@prompt|@example|@param|@description|\\\\{%-?\\\\s*enddoc\\\\s*-?%})\"},\"liquid_doc_example_tag\":{\"begin\":\"(@example)\\\\b\\\\s*\",\"beginCaptures\":{\"0\":{\"name\":\"comment.block.documentation.liquid\"},\"1\":{\"name\":\"storage.type.class.liquid\"}},\"contentName\":\"meta.embedded.block.liquid\",\"end\":\"(?=@prompt|@example|@param|@description|\\\\{%-?\\\\s*enddoc\\\\s*-?%})\",\"patterns\":[{\"include\":\"#core\"}]},\"liquid_doc_fallback_tag\":{\"captures\":{\"1\":{\"name\":\"comment.block.liquid\"}},\"match\":\"(@\\\\w+)\\\\b\"},\"liquid_doc_param_tag\":{\"captures\":{\"1\":{\"name\":\"storage.type.class.liquid\"},\"2\":{\"name\":\"entity.name.type.instance.liquid\"},\"3\":{\"name\":\"variable.other.liquid\"},\"4\":{\"name\":\"string.quoted.single.liquid\"}},\"match\":\"(@param)\\\\s+(?:(\\\\{[^}]*}?)\\\\s+)?(\\\\[?[A-Z_a-z][-\\\\w]*]?)?(?:\\\\s+(.*))?\"},\"liquid_doc_prompt_tag\":{\"begin\":\"(@prompt)\\\\b\\\\s*\",\"beginCaptures\":{\"0\":{\"name\":\"comment.block.documentation.liquid\"},\"1\":{\"name\":\"storage.type.class.liquid\"}},\"contentName\":\"string.quoted.single.liquid\",\"end\":\"(?=@prompt|@example|@param|@description|\\\\{%-?\\\\s*enddoc\\\\s*-?%})\"},\"number\":{\"match\":\"(([-+])\\\\s*)?[0-9]+(\\\\.[0-9]+)?\",\"name\":\"constant.numeric.liquid\"},\"object\":{\"begin\":\"(?<!comment %})(?<!comment -%})(?<!comment%})(?<!comment-%})(?<!raw %})(?<!raw -%})(?<!raw%})(?<!raw-%})\\\\{\\\\{-?\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag.begin.liquid\"}},\"end\":\"-?}}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag.end.liquid\"}},\"name\":\"meta.object.liquid\",\"patterns\":[{\"include\":\"#filter\"},{\"include\":\"#attribute\"},{\"include\":\"#value_expression\"}]},\"operator\":{\"captures\":{\"1\":{\"name\":\"keyword.operator.expression.liquid\"}},\"match\":\"(?:(?<=\\\\s)|\\\\b)(==|!=|[<>]|>=|<=|or|and|contains)(?:(?=\\\\s)|\\\\b)\"},\"range\":{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.parens.begin.liquid\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.parens.end.liquid\"}},\"name\":\"meta.range.liquid\",\"patterns\":[{\"match\":\"\\\\.\\\\.\",\"name\":\"punctuation.range.liquid\"},{\"include\":\"#variable_lookup\"},{\"include\":\"#number\"}]},\"raw_tag\":{\"begin\":\"\\\\{%-?\\\\s*(raw)\\\\s*-?%}\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.tag.liquid\"}},\"contentName\":\"string.unquoted.liquid\",\"end\":\"\\\\{%-?\\\\s*(endraw)\\\\s*-?%}\",\"endCaptures\":{\"1\":{\"name\":\"entity.name.tag.liquid\"}},\"name\":\"meta.entity.tag.raw.liquid\",\"patterns\":[{\"match\":\"(.(?!\\\\{%-?\\\\s*endraw\\\\s*-?%}))*.\"}]},\"string\":{\"patterns\":[{\"include\":\"#string_single\"},{\"include\":\"#string_double\"}]},\"string_double\":{\"begin\":\"\\\"\",\"end\":\"\\\"\",\"name\":\"string.quoted.double.liquid\"},\"string_single\":{\"begin\":\"'\",\"end\":\"'\",\"name\":\"string.quoted.single.liquid\"},\"style_codefence\":{\"begin\":\"(\\\\{%-?)\\\\s*(style)\\\\s*(-?%})\",\"beginCaptures\":{\"0\":{\"name\":\"meta.tag.metadata.style.start.liquid\"},\"1\":{\"name\":\"punctuation.definition.tag.begin.liquid\"},\"2\":{\"name\":\"entity.name.tag.style.liquid\"},\"3\":{\"name\":\"punctuation.definition.tag.begin.liquid\"}},\"contentName\":\"meta.embedded.block.css\",\"end\":\"(\\\\{%-?)\\\\s*(endstyle)\\\\s*(-?%})\",\"endCaptures\":{\"0\":{\"name\":\"meta.tag.metadata.style.end.liquid\"},\"1\":{\"name\":\"punctuation.definition.tag.end.liquid\"},\"2\":{\"name\":\"entity.name.tag.style.liquid\"},\"3\":{\"name\":\"punctuation.definition.tag.end.liquid\"}},\"name\":\"meta.block.style.liquid\",\"patterns\":[{\"include\":\"source.css\"}]},\"stylesheet_codefence\":{\"begin\":\"(\\\\{%-?)\\\\s*(stylesheet)\\\\s*(-?%})\",\"beginCaptures\":{\"0\":{\"name\":\"meta.tag.metadata.style.start.liquid\"},\"1\":{\"name\":\"punctuation.definition.tag.begin.liquid\"},\"2\":{\"name\":\"entity.name.tag.style.liquid\"},\"3\":{\"name\":\"punctuation.definition.tag.begin.liquid\"}},\"contentName\":\"meta.embedded.block.css\",\"end\":\"(\\\\{%-?)\\\\s*(endstylesheet)\\\\s*(-?%})\",\"endCaptures\":{\"0\":{\"name\":\"meta.tag.metadata.style.end.liquid\"},\"1\":{\"name\":\"punctuation.definition.tag.end.liquid\"},\"2\":{\"name\":\"entity.name.tag.style.liquid\"},\"3\":{\"name\":\"punctuation.definition.tag.end.liquid\"}},\"name\":\"meta.block.style.liquid\",\"patterns\":[{\"include\":\"source.css\"}]},\"tag\":{\"begin\":\"(?<!comment %})(?<!comment -%})(?<!comment%})(?<!comment-%})(?<!raw %})(?<!raw -%})(?<!raw%})(?<!raw-%})\\\\{%-?\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag.begin.liquid\"}},\"end\":\"-?%}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag.end.liquid\"}},\"name\":\"meta.tag.liquid\",\"patterns\":[{\"include\":\"#tag_body\"}]},\"tag_assign\":{\"begin\":\"(?:(?<=\\\\{%)|(?<=\\\\{%-)|^)\\\\s*(assign|echo)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.tag.liquid\"}},\"end\":\"(?=%})\",\"name\":\"meta.entity.tag.liquid\",\"patterns\":[{\"include\":\"#filter\"},{\"include\":\"#attribute\"},{\"include\":\"#value_expression\"}]},\"tag_assign_liquid\":{\"begin\":\"(?:(?<=\\\\{%)|(?<=\\\\{%-)|^)\\\\s*(assign|echo)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.tag.liquid\"}},\"end\":\"$\",\"name\":\"meta.entity.tag.liquid\",\"patterns\":[{\"include\":\"#filter\"},{\"include\":\"#attribute_liquid\"},{\"include\":\"#value_expression\"}]},\"tag_body\":{\"patterns\":[{\"include\":\"#tag_liquid\"},{\"include\":\"#tag_assign\"},{\"include\":\"#tag_comment_inline\"},{\"include\":\"#tag_case\"},{\"include\":\"#tag_conditional\"},{\"include\":\"#tag_for\"},{\"include\":\"#tag_paginate\"},{\"include\":\"#tag_render\"},{\"include\":\"#tag_tablerow\"},{\"include\":\"#tag_expression\"}]},\"tag_case\":{\"begin\":\"(?:(?<=\\\\{%)|(?<=\\\\{%-)|^)\\\\s*(case|when)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.case.liquid\"}},\"end\":\"(?=%})\",\"name\":\"meta.entity.tag.case.liquid\",\"patterns\":[{\"include\":\"#value_expression\"}]},\"tag_case_liquid\":{\"begin\":\"(?:(?<=\\\\{%)|(?<=\\\\{%-)|^)\\\\s*(case|when)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.case.liquid\"}},\"end\":\"$\",\"name\":\"meta.entity.tag.case.liquid\",\"patterns\":[{\"include\":\"#value_expression\"}]},\"tag_comment_block_liquid\":{\"begin\":\"^\\\\s*(comment)\\\\b\",\"end\":\"^\\\\s*(endcomment)\\\\b\",\"name\":\"comment.block.liquid\",\"patterns\":[{\"include\":\"#tag_comment_block_liquid\"},{\"match\":\"^\\\\s*(?!((?:|end)comment)).*\"}]},\"tag_comment_inline\":{\"begin\":\"#\",\"end\":\"(?=%})\",\"name\":\"comment.line.number-sign.liquid\"},\"tag_comment_inline_liquid\":{\"begin\":\"^\\\\s*#.*\",\"end\":\"$\",\"name\":\"comment.line.number-sign.liquid\"},\"tag_conditional\":{\"begin\":\"(?:(?<=\\\\{%)|(?<=\\\\{%-)|^)\\\\s*(if|elsif|unless)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.conditional.liquid\"}},\"end\":\"(?=%})\",\"name\":\"meta.entity.tag.conditional.liquid\",\"patterns\":[{\"include\":\"#value_expression\"}]},\"tag_conditional_liquid\":{\"begin\":\"(?:(?<=\\\\{%)|(?<=\\\\{%-)|^)\\\\s*(if|elsif|unless)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.conditional.liquid\"}},\"end\":\"$\",\"name\":\"meta.entity.tag.conditional.liquid\",\"patterns\":[{\"include\":\"#value_expression\"}]},\"tag_expression\":{\"patterns\":[{\"include\":\"#tag_expression_without_arguments\"},{\"begin\":\"(?:(?<=\\\\{%)|(?<=\\\\{%-)|^)\\\\s*(\\\\w+)\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.tag.liquid\"}},\"end\":\"(?=%})\",\"name\":\"meta.entity.tag.liquid\",\"patterns\":[{\"include\":\"#value_expression\"}]}]},\"tag_expression_liquid\":{\"patterns\":[{\"include\":\"#tag_expression_without_arguments\"},{\"begin\":\"(?:(?<=\\\\{%)|(?<=\\\\{%-)|^)\\\\s*(\\\\w+)\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.tag.liquid\"}},\"end\":\"$\",\"name\":\"meta.entity.tag.liquid\",\"patterns\":[{\"include\":\"#value_expression\"}]}]},\"tag_expression_without_arguments\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"keyword.control.conditional.liquid\"}},\"match\":\"(?:(?<=\\\\{%)|(?<=\\\\{%-)|^)\\\\s*(end(?:unless|if))\\\\b\"},{\"captures\":{\"1\":{\"name\":\"keyword.control.loop.liquid\"}},\"match\":\"(?:(?<=\\\\{%)|(?<=\\\\{%-)|^)\\\\s*(end(?:for|tablerow|paginate))\\\\b\"},{\"captures\":{\"1\":{\"name\":\"keyword.control.case.liquid\"}},\"match\":\"(?:(?<=\\\\{%)|(?<=\\\\{%-)|^)\\\\s*(endcase)\\\\b\"},{\"captures\":{\"1\":{\"name\":\"keyword.control.other.liquid\"}},\"match\":\"(?:(?<=\\\\{%)|(?<=\\\\{%-)|^)\\\\s*(capture|case|comment|form??|if|javascript|paginate|schema|style)\\\\b\"},{\"captures\":{\"1\":{\"name\":\"keyword.control.other.liquid\"}},\"match\":\"(?:(?<=\\\\{%)|(?<=\\\\{%-)|^)\\\\s*(end(?:capture|case|comment|form??|if|javascript|paginate|schema|style))\\\\b\"},{\"captures\":{\"1\":{\"name\":\"keyword.control.other.liquid\"}},\"match\":\"(?:(?<=\\\\{%)|(?<=\\\\{%-)|^)\\\\s*(else|break|continue)\\\\b\"}]},\"tag_for\":{\"begin\":\"(?:(?<=\\\\{%)|(?<=\\\\{%-)|^)\\\\s*(for)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.for.liquid\"}},\"end\":\"(?=%})\",\"name\":\"meta.entity.tag.for.liquid\",\"patterns\":[{\"include\":\"#tag_for_body\"}]},\"tag_for_body\":{\"patterns\":[{\"match\":\"\\\\b(in|reversed)\\\\b\",\"name\":\"keyword.control.liquid\"},{\"match\":\"\\\\b(offset|limit):\",\"name\":\"keyword.control.liquid\"},{\"include\":\"#value_expression\"}]},\"tag_for_liquid\":{\"begin\":\"(?:(?<=\\\\{%)|(?<=\\\\{%-)|^)\\\\s*(for)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.for.liquid\"}},\"end\":\"$\",\"name\":\"meta.entity.tag.for.liquid\",\"patterns\":[{\"include\":\"#tag_for_body\"}]},\"tag_injection\":{\"begin\":\"(?<!comment %})(?<!comment -%})(?<!comment%})(?<!comment-%})(?<!raw %})(?<!raw -%})(?<!raw%})(?<!raw-%})\\\\{%-?(?!-?\\\\s*(end(?:style|javascript|comment|raw)))\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag.end.liquid\"}},\"end\":\"-?%}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag.end.liquid\"}},\"name\":\"meta.tag.liquid\",\"patterns\":[{\"include\":\"#tag_body\"}]},\"tag_liquid\":{\"begin\":\"(?:(?<=\\\\{%)|(?<=\\\\{%-)|^)\\\\s*(liquid)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.liquid.liquid\"}},\"end\":\"(?=%})\",\"name\":\"meta.entity.tag.liquid.liquid\",\"patterns\":[{\"include\":\"#tag_comment_block_liquid\"},{\"include\":\"#tag_comment_inline_liquid\"},{\"include\":\"#tag_assign_liquid\"},{\"include\":\"#tag_case_liquid\"},{\"include\":\"#tag_conditional_liquid\"},{\"include\":\"#tag_for_liquid\"},{\"include\":\"#tag_paginate_liquid\"},{\"include\":\"#tag_render_liquid\"},{\"include\":\"#tag_tablerow_liquid\"},{\"include\":\"#tag_expression_liquid\"}]},\"tag_paginate\":{\"begin\":\"(?:(?<=\\\\{%)|(?<=\\\\{%-)|^)\\\\s*(paginate)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.paginate.liquid\"}},\"end\":\"(?=%})\",\"name\":\"meta.entity.tag.paginate.liquid\",\"patterns\":[{\"include\":\"#tag_paginate_body\"}]},\"tag_paginate_body\":{\"patterns\":[{\"match\":\"\\\\b(by)\\\\b\",\"name\":\"keyword.control.liquid\"},{\"include\":\"#value_expression\"}]},\"tag_paginate_liquid\":{\"begin\":\"(?:(?<=\\\\{%)|(?<=\\\\{%-)|^)\\\\s*(paginate)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.paginate.liquid\"}},\"end\":\"$\",\"name\":\"meta.entity.tag.paginate.liquid\",\"patterns\":[{\"include\":\"#tag_paginate_body\"}]},\"tag_render\":{\"begin\":\"(?:(?<=\\\\{%)|(?<=\\\\{%-)|^)\\\\s*(render)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.tag.render.liquid\"}},\"end\":\"(?=%})\",\"name\":\"meta.entity.tag.render.liquid\",\"patterns\":[{\"include\":\"#tag_render_special_keywords\"},{\"include\":\"#attribute\"},{\"include\":\"#value_expression\"}]},\"tag_render_liquid\":{\"begin\":\"(?:(?<=\\\\{%)|(?<=\\\\{%-)|^)\\\\s*(render)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.tag.render.liquid\"}},\"end\":\"$\",\"name\":\"meta.entity.tag.render.liquid\",\"patterns\":[{\"include\":\"#tag_render_special_keywords\"},{\"include\":\"#attribute_liquid\"},{\"include\":\"#value_expression\"}]},\"tag_render_special_keywords\":{\"match\":\"\\\\b(with|as|for)\\\\b\",\"name\":\"keyword.control.other.liquid\"},\"tag_tablerow\":{\"begin\":\"(?:(?<=\\\\{%)|(?<=\\\\{%-)|^)\\\\s*(tablerow)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.tablerow.liquid\"}},\"end\":\"(?=%})\",\"name\":\"meta.entity.tag.tablerow.liquid\",\"patterns\":[{\"include\":\"#tag_tablerow_body\"}]},\"tag_tablerow_body\":{\"patterns\":[{\"match\":\"\\\\b(in)\\\\b\",\"name\":\"keyword.control.liquid\"},{\"match\":\"\\\\b(cols|offset|limit):\",\"name\":\"keyword.control.liquid\"},{\"include\":\"#value_expression\"}]},\"tag_tablerow_liquid\":{\"begin\":\"(?:(?<=\\\\{%)|(?<=\\\\{%-)|^)\\\\s*(tablerow)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.tablerow.liquid\"}},\"end\":\"$\",\"name\":\"meta.entity.tag.tablerow.liquid\",\"patterns\":[{\"include\":\"#tag_tablerow_body\"}]},\"value_expression\":{\"patterns\":[{\"captures\":{\"2\":{\"name\":\"invalid.illegal.filter.liquid\"},\"3\":{\"name\":\"invalid.illegal.filter.liquid\"}},\"match\":\"(\\\\[)(\\\\|)(?=[^]]*)(?=])\"},{\"match\":\"(?<=\\\\s)([-*+/])(?=\\\\s)\",\"name\":\"invalid.illegal.filter.liquid\"},{\"include\":\"#language_constant\"},{\"include\":\"#operator\"},{\"include\":\"#invalid_range\"},{\"include\":\"#range\"},{\"include\":\"#number\"},{\"include\":\"#string\"},{\"include\":\"#variable_lookup\"}]},\"variable_lookup\":{\"patterns\":[{\"match\":\"\\\\b(additional_checkout_buttons|address|all_country_option_tags|all_products|articles??|block|blogs??|canonical_url|cart|checkout|collections??|comment|content_for_additional_checkout_buttons|content_for_header|content_for_index|content_for_layout|country_option_tags|currency|current_page|current_tags|customer|customer_address|discount_allocation|discount_application|external_video|font|forloop|form|fulfillment|gift_card|handle|images??|line_item|link|linklists??|location|localization|metafield|model|model_source|order|page|page_description|page_image|page_title|pages|paginate|part|policy|powered_by_link|predictive_search|product|product_option|product_variant|recommendations|request|routes|scripts??|search|section|selling_plan|selling_plan_allocation|selling_plan_group|settings|shipping_method|shop|shop_locale|store_availability|tablerow|tax_line|template|theme|transaction|unit_price_measurement|variant|video|video_source)\\\\b\",\"name\":\"variable.language.liquid\"},{\"match\":\"((?<=\\\\w:\\\\s)\\\\w+)\",\"name\":\"variable.parameter.liquid\"},{\"begin\":\"(?<=\\\\w)\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.brackets.begin.liquid\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.brackets.end.liquid\"}},\"name\":\"meta.brackets.liquid\",\"patterns\":[{\"include\":\"#string\"}]},{\"match\":\"(?<=([]\\\\w])\\\\.)([-\\\\w]+\\\\??)\",\"name\":\"variable.other.member.liquid\"},{\"match\":\"(?<=\\\\w)\\\\.(?=\\\\w)\",\"name\":\"punctuation.accessor.liquid\"},{\"match\":\"(?i)[_a-z](\\\\w|-(?!}}))*\",\"name\":\"variable.other.liquid\"}]}},\"scopeName\":\"text.html.liquid\",\"embeddedLangs\":[\"html\",\"css\",\"json\",\"javascript\"]}"))
7
7
 
8
8
  export default [
9
9
  ...html,
package/dist/log.mjs CHANGED
@@ -1,4 +1,4 @@
1
- const lang = Object.freeze(JSON.parse("{\"displayName\":\"Log file\",\"fileTypes\":[\"log\"],\"name\":\"log\",\"patterns\":[{\"match\":\"\\\\b(Trace)\\\\b:\",\"name\":\"comment log.verbose\"},{\"match\":\"(?i)\\\\[(v(?:erbose|erb|rb|b?))]\",\"name\":\"comment log.verbose\"},{\"match\":\"(?<=^[p\\\\s\\\\d]*)\\\\bV\\\\b\",\"name\":\"comment log.verbose\"},{\"match\":\"\\\\b(D(?:EBUG|ebug))\\\\b|(?i)\\\\b(debug):\",\"name\":\"markup.changed log.debug\"},{\"match\":\"(?i)\\\\[(d(?:ebug|bug|bg|e?))]\",\"name\":\"markup.changed log.debug\"},{\"match\":\"(?<=^[p\\\\s\\\\d]*)\\\\bD\\\\b\",\"name\":\"markup.changed log.debug\"},{\"match\":\"\\\\b(HINT|INFO|INFORMATION|Info|NOTICE|II)\\\\b|(?i)\\\\b(info(?:|rmation)):\",\"name\":\"markup.inserted log.info\"},{\"match\":\"(?i)\\\\[(i(?:nformation|nfo?|n?))]\",\"name\":\"markup.inserted log.info\"},{\"match\":\"(?<=^[p\\\\s\\\\d]*)\\\\bI\\\\b\",\"name\":\"markup.inserted log.info\"},{\"match\":\"\\\\b(W(?:ARNING|ARN|arn|W))\\\\b|(?i)\\\\b(warning):\",\"name\":\"markup.deleted log.warning\"},{\"match\":\"(?i)\\\\[(w(?:arning|arn|rn|n?))]\",\"name\":\"markup.deleted log.warning\"},{\"match\":\"(?<=^[p\\\\s\\\\d]*)\\\\bW\\\\b\",\"name\":\"markup.deleted log.warning\"},{\"match\":\"\\\\b(ALERT|CRITICAL|EMERGENCY|ERROR|FAILURE|FAIL|Fatal|FATAL|Error|EE)\\\\b|(?i)\\\\b(error):\",\"name\":\"string.regexp, strong log.error\"},{\"match\":\"(?i)\\\\[(error|eror|err?|e|fatal|fatl|ftl|fa?)]\",\"name\":\"string.regexp, strong log.error\"},{\"match\":\"(?<=^[p\\\\s\\\\d]*)\\\\bE\\\\b\",\"name\":\"string.regexp, strong log.error\"},{\"match\":\"\\\\b\\\\d{4}-\\\\d{2}-\\\\d{2}(?=T|\\\\b)\",\"name\":\"comment log.date\"},{\"match\":\"(?<=(^|\\\\s))\\\\d{2}[^\\\\w\\\\s]\\\\d{2}[^\\\\w\\\\s]\\\\d{4}\\\\b\",\"name\":\"comment log.date\"},{\"match\":\"T?\\\\d{1,2}:\\\\d{2}(:\\\\d{2}([,.]\\\\d+)?)?(Z| ?[-+]\\\\d{1,2}:\\\\d{2})?\\\\b\",\"name\":\"comment log.date\"},{\"match\":\"T\\\\d{2}\\\\d{2}(\\\\d{2}([,.]\\\\d+)?)?(Z| ?[-+]\\\\d{1,2}\\\\d{2})?\\\\b\",\"name\":\"comment log.date\"},{\"match\":\"\\\\b(\\\\h{40}|\\\\h{10}|\\\\h{7})\\\\b\",\"name\":\"constant.language\"},{\"match\":\"\\\\b\\\\h{8}-?(\\\\h{4}-?){3}\\\\h{12}\\\\b\",\"name\":\"constant.language log.constant\"},{\"match\":\"\\\\b(\\\\h{2,}[-:])+\\\\h{2,}+\\\\b\",\"name\":\"constant.language log.constant\"},{\"match\":\"\\\\b([0-9]+|true|false|null)\\\\b\",\"name\":\"constant.language log.constant\"},{\"match\":\"\\\\b(0x\\\\h+)\\\\b\",\"name\":\"constant.language log.constant\"},{\"match\":\"\\\"[^\\\"]*\\\"\",\"name\":\"string log.string\"},{\"match\":\"(?<!\\\\w)'[^']*'\",\"name\":\"string log.string\"},{\"match\":\"\\\\b([.A-Za-z]*Exception)\\\\b\",\"name\":\"string.regexp, emphasis log.exceptiontype\"},{\"begin\":\"^[\\\\t ]*at[\\\\t ]\",\"end\":\"$\",\"name\":\"string.key, emphasis log.exception\"},{\"match\":\"\\\\b[a-z]+://\\\\S+\\\\b/?\",\"name\":\"constant.language log.constant\"},{\"match\":\"(?<![/\\\\\\\\\\\\w])([-\\\\w]+\\\\.)+([-\\\\w])+(?![/\\\\\\\\\\\\w])\",\"name\":\"constant.language log.constant\"}],\"scopeName\":\"text.log\"}"))
1
+ const lang = Object.freeze(JSON.parse("{\"displayName\":\"Log file\",\"fileTypes\":[\"log\"],\"name\":\"log\",\"patterns\":[{\"match\":\"\\\\b([Tt]race|TRACE)\\\\b:?\",\"name\":\"comment log.verbose\"},{\"match\":\"(?i)\\\\[(v(?:erbose|erb|rb|b?))]\",\"name\":\"comment log.verbose\"},{\"match\":\"(?<=^[p\\\\s\\\\d]*)\\\\bV\\\\b\",\"name\":\"comment log.verbose\"},{\"match\":\"\\\\b(D(?:EBUG|ebug))\\\\b|(?i)\\\\b(debug):\",\"name\":\"markup.changed log.debug\"},{\"match\":\"(?i)\\\\[(d(?:ebug|bug|bg|e?))]\",\"name\":\"markup.changed log.debug\"},{\"match\":\"(?<=^[p\\\\s\\\\d]*)\\\\bD\\\\b\",\"name\":\"markup.changed log.debug\"},{\"match\":\"\\\\b(HINT|INFO|INFORMATION|Info|NOTICE|II)\\\\b|(?i)\\\\b(info(?:|rmation)):\",\"name\":\"markup.inserted log.info\"},{\"match\":\"(?i)\\\\[(i(?:nformation|nfo?|n?))]\",\"name\":\"markup.inserted log.info\"},{\"match\":\"(?<=^[p\\\\s\\\\d]*)\\\\bI\\\\b\",\"name\":\"markup.inserted log.info\"},{\"match\":\"\\\\b(W(?:ARNING|ARN|arn|W))\\\\b|(?i)\\\\b(warning):\",\"name\":\"markup.deleted log.warning\"},{\"match\":\"(?i)\\\\[(w(?:arning|arn|rn|n?))]\",\"name\":\"markup.deleted log.warning\"},{\"match\":\"(?<=^[p\\\\s\\\\d]*)\\\\bW\\\\b\",\"name\":\"markup.deleted log.warning\"},{\"match\":\"\\\\b(ALERT|CRITICAL|EMERGENCY|ERROR|FAILURE|FAIL|Fatal|FATAL|Error|EE)\\\\b|(?i)\\\\b(error):\",\"name\":\"string.regexp, strong log.error\"},{\"match\":\"(?i)\\\\[(error|eror|err?|e|fatal|fatl|ftl|fa?)]\",\"name\":\"string.regexp, strong log.error\"},{\"match\":\"(?<=^[p\\\\s\\\\d]*)\\\\bE\\\\b\",\"name\":\"string.regexp, strong log.error\"},{\"match\":\"\\\\b\\\\d{4}-\\\\d{2}-\\\\d{2}(?=T|\\\\b)\",\"name\":\"comment log.date\"},{\"match\":\"(?<=(^|\\\\s))\\\\d{2}[^\\\\w\\\\s]\\\\d{2}[^\\\\w\\\\s]\\\\d{4}\\\\b\",\"name\":\"comment log.date\"},{\"match\":\"T?\\\\d{1,2}:\\\\d{2}(:\\\\d{2}([,.]\\\\d+)?)?(Z| ?[-+]\\\\d{1,2}:\\\\d{2})?\\\\b\",\"name\":\"comment log.date\"},{\"match\":\"T\\\\d{2}\\\\d{2}(\\\\d{2}([,.]\\\\d+)?)?(Z| ?[-+]\\\\d{1,2}\\\\d{2})?\\\\b\",\"name\":\"comment log.date\"},{\"match\":\"\\\\b(\\\\h{40}|\\\\h{10}|\\\\h{7})\\\\b\",\"name\":\"constant.language\"},{\"match\":\"\\\\b\\\\h{8}-?(\\\\h{4}-?){3}\\\\h{12}\\\\b\",\"name\":\"constant.language log.constant\"},{\"match\":\"\\\\b(\\\\h{2,}[-:])+\\\\h{2,}+\\\\b\",\"name\":\"constant.language log.constant\"},{\"match\":\"\\\\b([0-9]+|true|false|null)\\\\b\",\"name\":\"constant.language log.constant\"},{\"match\":\"\\\\b(0x\\\\h+)\\\\b\",\"name\":\"constant.language log.constant\"},{\"match\":\"\\\"[^\\\"]*\\\"\",\"name\":\"string log.string\"},{\"match\":\"(?<!\\\\w)'[^']*'\",\"name\":\"string log.string\"},{\"match\":\"\\\\b([.A-Za-z]*Exception)\\\\b\",\"name\":\"string.regexp, emphasis log.exceptiontype\"},{\"begin\":\"^[\\\\t ]*at[\\\\t ]\",\"end\":\"$\",\"name\":\"string.key, emphasis log.exception\"},{\"match\":\"\\\\b[a-z]+://\\\\S+\\\\b/?\",\"name\":\"constant.language log.constant\"},{\"match\":\"(?<![/\\\\\\\\\\\\w])([-\\\\w]+\\\\.)+([-\\\\w])+(?![/\\\\\\\\\\\\w])\",\"name\":\"constant.language log.constant\"}],\"scopeName\":\"text.log\"}"))
2
2
 
3
3
  export default [
4
4
  lang