@shikijs/langs-precompiled 3.7.0 → 3.8.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,6 +1,6 @@
1
1
  import { EmulatedRegExp } from 'oniguruma-to-es'
2
2
 
3
- const lang = Object.freeze({displayName:"Go",name:"go",patterns:[{include:"#statements"}],repository:{after_control_variables:{captures:{"1":{patterns:[{include:"#type-declarations-without-brackets"},{match:/\[/dgv,name:"punctuation.definition.begin.bracket.square.go"},{match:/\]/dgv,name:"punctuation.definition.end.bracket.square.go"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.go"}]}},match:/(?<=\brange\b|\bswitch\b|;|\bif\b|\bfor\b|[\<\>]|<=|>=|==|!=|[\p{L}\p{M}\p{N}\p{Pc}][\-\%\*\+\/]|[\p{L}\p{M}\p{N}\p{Pc}][\-\%\*\+\/]=|\|\||&&)\p{space}*((?![\]\[]+)[\-\]\!\%\*\+\.\/\:\<\=\>\[_\p{Alpha}\p{Nd}]+)\p{space}*(?=\{)/dgv},brackets:{patterns:[{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.begin.bracket.curly.go"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.curly.go"}},patterns:[{include:"$self"}]},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.begin.bracket.round.go"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.round.go"}},patterns:[{include:"$self"}]},{begin:/\[/dgv,beginCaptures:{"0":{name:"punctuation.definition.begin.bracket.square.go"}},end:/\]/dgv,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(?=\()/dgv,name:"entity.name.function.support.builtin.go"},{begin:/\b(new)\b(\()/dgv,beginCaptures:{"1":{name:"entity.name.function.support.builtin.go"},"2":{name:"punctuation.definition.begin.bracket.round.go"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.round.go"}},patterns:[{include:"#functions"},{include:"#struct_variables_types"},{include:"#type-declarations"},{include:"#generic_types"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"},{include:"$self"}]},{begin:/\b(make)\b(\()((?:(?:(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+(?:\([^\)]+\))?)?(?:[\]\*\[]+)?(?:(?!\bmap\b)[\.\p{L}\p{M}\p{N}\p{Pc}]+)?(\[(?:\P{space}+(?:,\p{space}*\P{space}+)*)?\])?,?)?/dgv,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:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.round.go"}},patterns:[{include:"$self"}]}]},comments:{patterns:[{begin:/(\/\*)/dgv,beginCaptures:{"1":{name:"punctuation.definition.comment.go"}},end:/(\*\/)/dgv,endCaptures:{"1":{name:"punctuation.definition.comment.go"}},name:"comment.block.go"},{begin:/(\/\/)/dgv,beginCaptures:{"1":{name:"punctuation.definition.comment.go"}},end:/\n|(?=\n?$)/dgv,name:"comment.line.double-slash.go"}]},const_assignment:{patterns:[{captures:{"1":{patterns:[{include:"#delimiters"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.constant.go"}]},"2":{patterns:[{include:"#type-declarations-without-brackets"},{include:"#generic_types"},{match:/\(/dgv,name:"punctuation.definition.begin.bracket.round.go"},{match:/\)/dgv,name:"punctuation.definition.end.bracket.round.go"},{match:/\[/dgv,name:"punctuation.definition.begin.bracket.square.go"},{match:/\]/dgv,name:"punctuation.definition.end.bracket.square.go"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/(?<=\bconst\b)\p{space}*\b([\.\p{L}\p{M}\p{N}\p{Pc}]+(?:,\p{space}*[\.\p{L}\p{M}\p{N}\p{Pc}]+)*)\p{space}*((?:(?:(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+(?:\([^\)]+\))?)?(?!(?:[\]\*\[]+)?\b(?:struct|func|map)\b)(?:[\]\*\.\[\p{L}\p{M}\p{N}\p{Pc}]+(?:,\p{space}*[\]\*\.\[\p{L}\p{M}\p{N}\p{Pc}]+)*)?\p{space}*=?)?/dgv},{begin:/(?<=\bconst\b)\p{space}*(\()/dgv,beginCaptures:{"1":{name:"punctuation.definition.begin.bracket.round.go"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.round.go"}},patterns:[{captures:{"1":{patterns:[{include:"#delimiters"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.constant.go"}]},"2":{patterns:[{include:"#type-declarations-without-brackets"},{include:"#generic_types"},{match:/\(/dgv,name:"punctuation.definition.begin.bracket.round.go"},{match:/\)/dgv,name:"punctuation.definition.end.bracket.round.go"},{match:/\[/dgv,name:"punctuation.definition.begin.bracket.square.go"},{match:/\]/dgv,name:"punctuation.definition.end.bracket.square.go"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/^\p{space}*\b([\.\p{L}\p{M}\p{N}\p{Pc}]+(?:,\p{space}*[\.\p{L}\p{M}\p{N}\p{Pc}]+)*)\p{space}*((?:(?:(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+(?:\([^\)]+\))?)?(?!(?:[\]\*\[]+)?\b(?:struct|func|map)\b)(?:[\]\*\.\[\p{L}\p{M}\p{N}\p{Pc}]+(?:,\p{space}*[\]\*\.\[\p{L}\p{M}\p{N}\p{Pc}]+)*)?\p{space}*=?)?/dgv},{include:"$self"}]}]},delimiters:{patterns:[{match:/,/dgv,name:"punctuation.other.comma.go"},{match:/\.(?!\.\.)/dgv,name:"punctuation.other.period.go"},{match:/:(?!=)/dgv,name:"punctuation.other.colon.go"}]},double_parentheses_types:{captures:{"1":{patterns:[{include:"#type-declarations-without-brackets"},{match:/\(/dgv,name:"punctuation.definition.begin.bracket.round.go"},{match:/\)/dgv,name:"punctuation.definition.end.bracket.round.go"},{match:/\[/dgv,name:"punctuation.definition.begin.bracket.square.go"},{match:/\]/dgv,name:"punctuation.definition.end.bracket.square.go"},{match:/\{/dgv,name:"punctuation.definition.begin.bracket.curly.go"},{match:/\}/dgv,name:"punctuation.definition.end.bracket.curly.go"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(\((?:[\]\*\[]+)?[\.\p{L}\p{M}\p{N}\p{Pc}]+(?:\[(?:[\]\*\.\[\{\}\p{L}\p{M}\p{N}\p{Pc}]+(?:,\p{space}*[\]\*\.\[\{\}\p{L}\p{M}\p{N}\p{Pc}]+)*)?\])?\))(?=\()/dgv},field_hover:{captures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.property.go"}]},"2":{patterns:[{match:/\binvalid\b\p{space}+\btype\b/dgv,name:"invalid.field.go"},{include:"#type-declarations-without-brackets"},{include:"#parameter-variable-types"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/(?<=^\bfield\b)\p{space}+([\*\.\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}+([\p{space}\P{space}]+)/dgv},function_declaration:{begin:/^\b(func)\b\p{space}*(\([^\)]+\)\p{space}*)?(?:([\p{L}\p{M}\p{N}\p{Pc}]+)(?=[\(\[]))?/dgv,beginCaptures:{"1":{name:"keyword.function.go"},"2":{patterns:[{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.begin.bracket.round.go"}},end:/\)/dgv,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:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/([\p{L}\p{M}\p{N}\p{Pc}]+\p{space}+)?([\*\.\p{L}\p{M}\p{N}\p{Pc}]+(?:\[(?:(?:[\*\.\p{L}\p{M}\p{N}\p{Pc}]+(?:,\p{space}+)?)+)?\])?)/dgv},{include:"$self"}]}]},"3":{patterns:[{match:/\p{Nd}[\p{L}\p{M}\p{N}\p{Pc}]*/dgv,name:"invalid.illegal.identifier.go"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.function.go"}]}},end:/(?<=\))\p{space}*((?:(?:(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?(?!(?:[\]\*\[]+)?\b(?:struct|interface)\b)[\-\]\*\.\[\p{L}\p{M}\p{N}\p{Pc}]+)?\p{space}*(?=\{)/dgv,endCaptures:{"1":{patterns:[{include:"#type-declarations-without-brackets"},{include:"#parameter-variable-types"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},patterns:[{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.begin.bracket.round.go"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.round.go"}},patterns:[{include:"#function_param_types"}]},{begin:/([\*\.\p{L}\p{M}\p{N}\p{Pc}]+)?(\[)/dgv,beginCaptures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]},"2":{name:"punctuation.definition.begin.bracket.square.go"}},end:/\]/dgv,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:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/(?<=\))\p{space}*((?:(?:\p{space}*(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?[\-\]\*\.\<\>\[\p{L}\p{M}\p{N}\p{Pc}]+\p{space}*(?:\/[\*\/][^\n]*)?)(?=\n?$)/dgv},{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:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.parameter.go"}]}},match:/((?:(?:\b[\p{L}\p{M}\p{N}\p{Pc}]+,\p{space}*)+)?\b[\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}+(?=(?:(?:\p{space}*(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?(?:[\]\*\[]+)?\b(?:struct|interface)\b\p{space}*\{)/dgv},{captures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.parameter.go"}]}},match:/(?:(?<=\()|^\p{space}*)((?:\b[\p{L}\p{M}\p{N}\p{Pc}]+,\p{space}*)+(?:\/[\*\/][^\n]*)?)(?=\n?$)/dgv},{captures:{"1":{patterns:[{include:"#delimiters"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.parameter.go"}]},"2":{patterns:[{include:"#type-declarations-without-brackets"},{include:"#parameter-variable-types"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/((?:(?:\b[\p{L}\p{M}\p{N}\p{Pc}]+,\p{space}*)+)?\b[\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}+((?:(?:\p{space}*(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?(?:(?:[\]\*\.\[\p{L}\p{M}\p{N}\p{Pc}]+)?(?:\bfunc\b\((?:[^\)]+)?\)(?:(?:\p{space}*(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?\p{space}*)+(?:[\]\*\.\[\p{L}\p{M}\p{N}\p{Pc}]+|\((?:[^\)]+)?\))?|(?:(?:[\]\*\[]+)?[\*\.\p{L}\p{M}\p{N}\p{Pc}]+(?:\[[^\]]+\])?(?:[\*\.\p{L}\p{M}\p{N}\p{Pc}]+)?)+))/dgv},{begin:/([\*\.\p{L}\p{M}\p{N}\p{Pc}]+)?(\[)/dgv,beginCaptures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]},"2":{name:"punctuation.definition.begin.bracket.square.go"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.square.go"}},patterns:[{include:"#generic_param_types"}]},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.begin.bracket.round.go"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.round.go"}},patterns:[{include:"#function_param_types"}]},{captures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/([\.\p{L}\p{M}\p{N}\p{Pc}]+)/dgv},{include:"$self"}]},functions:{begin:/\b(func)\b(?=\()/dgv,beginCaptures:{"1":{name:"keyword.function.go"}},end:/(?<=\))(\p{space}*(?:(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?(\p{space}*(?:(?:[\]\*\[]+)?[\*\.\p{L}\p{M}\p{N}\p{Pc}]+)?(?:\[(?:(?:[\*\.\p{L}\p{M}\p{N}\p{Pc}]+)?(?:\[(?:[^\]]+)?\])?(?:,\p{space}+)?)+\]|\((?:[^\)]+)?\))?(?:[\*\.\p{L}\p{M}\p{N}\p{Pc}]+)?\p{space}*(?=\{)|\p{space}*(?:(?:[\]\*\[]+)?(?!\bfunc\b)[\*\.\p{L}\p{M}\p{N}\p{Pc}]+(?:\[(?:(?:[\*\.\p{L}\p{M}\p{N}\p{Pc}]+)?(?:\[(?:[^\]]+)?\])?(?:,\p{space}+)?)+\])?(?:[\*\.\p{L}\p{M}\p{N}\p{Pc}]+)?|\((?:[^\)]+)?\)))?/dgv,endCaptures:{"1":{patterns:[{include:"#type-declarations"}]},"2":{patterns:[{include:"#type-declarations-without-brackets"},{include:"#parameter-variable-types"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,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:/\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.begin.bracket.round.go"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.round.go"}},patterns:[{include:"#function_param_types"},{include:"$self"}]},{match:/\[/dgv,name:"punctuation.definition.begin.bracket.square.go"},{match:/\]/dgv,name:"punctuation.definition.end.bracket.square.go"},{match:/\{/dgv,name:"punctuation.definition.begin.bracket.curly.go"},{match:/\}/dgv,name:"punctuation.definition.end.bracket.curly.go"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/\b(func)\b(\([^\/]*?\)\p{space}+\([^\/]*?\))\p{space}+(?=\{)/dgv},generic_param_types:{patterns:[{include:"#struct_variables_types"},{include:"#interface_variables_types"},{include:"#type-declarations-without-brackets"},{captures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.parameter.go"}]}},match:/((?:(?:\b[\p{L}\p{M}\p{N}\p{Pc}]+,\p{space}*)+)?\b[\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}+(?=(?:(?:\p{space}*(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?(?:[\]\*\[]+)?\b(?:struct|interface)\b\p{space}*\{)/dgv},{captures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.parameter.go"}]}},match:/(?:(?<=\()|^\p{space}*)((?:\b[\p{L}\p{M}\p{N}\p{Pc}]+,\p{space}*)+(?:\/[\*\/][^\n]*)?)(?=\n?$)/dgv},{captures:{"1":{patterns:[{include:"#delimiters"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.parameter.go"}]},"2":{patterns:[{include:"#type-declarations-without-brackets"},{include:"#parameter-variable-types"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]},"3":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/((?:(?:\b[\p{L}\p{M}\p{N}\p{Pc}]+,\p{space}*)+)?\b[\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}+((?:(?:\p{space}*(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?(?:(?:[\]\*\.\[\p{L}\p{M}\p{N}\p{Pc}]+)?(?:\bfunc\b\((?:[^\)]+)?\)(?:(?:\p{space}*(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?\p{space}*)+(?:[\*\.\p{L}\p{M}\p{N}\p{Pc}]+|\((?:[^\)]+)?\))?|(?:(?:[\*\.\~\p{L}\p{M}\p{N}\p{Pc}]+|\[(?:(?:[\*\.\p{L}\p{M}\p{N}\p{Pc}]+)?(?:\[(?:[^\]]+)?\])?(?:,\p{space}+)?)+\])(?:[\*\.\p{L}\p{M}\p{N}\p{Pc}]+)?)+))/dgv},{begin:/([\*\.\p{L}\p{M}\p{N}\p{Pc}]+)?(\[)/dgv,beginCaptures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]},"2":{name:"punctuation.definition.begin.bracket.square.go"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.square.go"}},patterns:[{include:"#generic_param_types"}]},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.begin.bracket.round.go"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.round.go"}},patterns:[{include:"#function_param_types"}]},{captures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/\b([\.\p{L}\p{M}\p{N}\p{Pc}]+)/dgv},{include:"$self"}]},generic_types:{captures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]},"2":{patterns:[{include:"#parameter-variable-types"}]}},match:/([\*\.\p{L}\p{M}\p{N}\p{Pc}]+)(\[(?:[^\]]+)?\])/dgv},"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)\p{space}+/dgv,beginCaptures:{"1":{name:"keyword.control.import.go"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),patterns:[{include:"#imports"}]}]},imports:{patterns:[{captures:{"1":{patterns:[{include:"#delimiters"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,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:/(\p{space}*[\.\p{L}\p{M}\p{N}\p{Pc}]+)?\p{space}*((")([^"]*)("))/dgv},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.imports.begin.bracket.round.go"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.imports.end.bracket.round.go"}},patterns:[{include:"#comments"},{include:"#imports"}]},{include:"$self"}]},interface_variables_types:{begin:/\b(interface)\b\p{space}*(\{)/dgv,beginCaptures:{"1":{name:"keyword.interface.go"},"2":{name:"punctuation.definition.begin.bracket.curly.go"}},end:/\}/dgv,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:/([\*\.\p{L}\p{M}\p{N}\p{Pc}]+)?(\[)/dgv,beginCaptures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]},"2":{name:"punctuation.definition.begin.bracket.square.go"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.square.go"}},patterns:[{include:"#generic_param_types"}]},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.begin.bracket.round.go"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.round.go"}},patterns:[{include:"#function_param_types"}]},{captures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/([\.\p{L}\p{M}\p{N}\p{Pc}]+)/dgv}]},keywords:{patterns:[{match:/\b(break|case|continue|default|defer|else|fallthrough|for|go|goto|if|range|return|select|switch)\b/dgv,name:"keyword.control.go"},{match:/\bchan\b/dgv,name:"keyword.channel.go"},{match:/\bconst\b/dgv,name:"keyword.const.go"},{match:/\bvar\b/dgv,name:"keyword.var.go"},{match:/\bfunc\b/dgv,name:"keyword.function.go"},{match:/\binterface\b/dgv,name:"keyword.interface.go"},{match:/\bmap\b/dgv,name:"keyword.map.go"},{match:/\bstruct\b/dgv,name:"keyword.struct.go"},{match:/\bimport\b/dgv,name:"keyword.control.import.go"},{match:/\btype\b/dgv,name:"keyword.type.go"}]},label_loop_variables:{captures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.label.go"}]}},match:/^(\p{space}*[\p{L}\p{M}\p{N}\p{Pc}]+:\p{space}*|\p{space}*\b(?:break|goto|continue)\b\p{space}+[\p{L}\p{M}\p{N}\p{Pc}]+(?:\p{space}*\/[\*\/]\p{space}*[^\n]*)?)(?=\n?$)/dgv},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/dgv},map_types:{begin:/\b(map)\b(\[)/dgv,beginCaptures:{"1":{name:"keyword.map.go"},"2":{name:"punctuation.definition.begin.bracket.square.go"}},end:/(\])((?:(?:(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?(?!(?:[\]\*\[]+)?\b(?:func|struct|map)\b)(?:[\]\*\[]+)?[\.\p{L}\p{M}\p{N}\p{Pc}]+(?:\[(?:[\]\*\.\[\{\}\p{L}\p{M}\p{N}\p{Pc}]+(?:,\p{space}*[\]\*\.\[\{\}\p{L}\p{M}\p{N}\p{Pc}]+)*)?\])?)?/dgv,endCaptures:{"1":{name:"punctuation.definition.end.bracket.square.go"},"2":{patterns:[{include:"#type-declarations-without-brackets"},{match:/\[/dgv,name:"punctuation.definition.begin.bracket.square.go"},{match:/\]/dgv,name:"punctuation.definition.end.bracket.square.go"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},patterns:[{include:"#type-declarations-without-brackets"},{include:"#parameter-variable-types"},{include:"#functions"},{match:/\[/dgv,name:"punctuation.definition.begin.bracket.square.go"},{match:/\]/dgv,name:"punctuation.definition.end.bracket.square.go"},{match:/\{/dgv,name:"punctuation.definition.begin.bracket.curly.go"},{match:/\}/dgv,name:"punctuation.definition.end.bracket.curly.go"},{match:/\(/dgv,name:"punctuation.definition.begin.bracket.round.go"},{match:/\)/dgv,name:"punctuation.definition.end.bracket.round.go"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]},multi_types:{begin:/\b(type)\b\p{space}*(\()/dgv,beginCaptures:{"1":{name:"keyword.type.go"},"2":{name:"punctuation.definition.begin.bracket.round.go"}},end:/\)/dgv,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:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]},numeric_literals:{captures:{"0":{patterns:[{begin:/(?=[^\n])/dgv,end:/\n|(?=\n?$)/dgv,patterns:[{captures:{"1":{name:"constant.numeric.decimal.go",patterns:[{match:/(?<=\p{AHex})_(?=\p{AHex})/dgv,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:/(?<=\p{AHex})_(?=\p{AHex})/dgv,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:/(?<=\p{AHex})_(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.go"}]},"10":{name:"keyword.other.unit.imaginary.go"},"11":{name:"constant.numeric.decimal.go",patterns:[{match:/(?<=\p{AHex})_(?=\p{AHex})/dgv,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:/(?<=\p{AHex})_(?=\p{AHex})/dgv,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:/(?<=\p{AHex})_(?=\p{AHex})/dgv,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:/(?<=\p{AHex})_(?=\p{AHex})/dgv,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:/(?<=\p{AHex})_(?=\p{AHex})/dgv,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:/(?<=\p{AHex})_(?=\p{AHex})/dgv,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:/(?<=\p{AHex})_(?=\p{AHex})/dgv,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:/(?<=\p{AHex})_(?=\p{AHex})/dgv,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:/(?<=\p{AHex})_(?=\p{AHex})/dgv,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:/(?<=\p{AHex})_(?=\p{AHex})/dgv,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:/(?<=\p{AHex})_(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.go"}]},"53":{name:"keyword.other.unit.imaginary.go"}},match:/(?:(?:(?:(?:(?:(?=[\.0-9])(?!0[BOXbox])([0-9](?:[0-9]|((?<=\p{AHex})_(?=\p{AHex})))*)((?<=[0-9])\.|\.(?=[0-9]))([0-9](?:[0-9]|((?<=\p{AHex})_(?=\p{AHex})))*)?(?:(?<!_)([Ee])(\+?)(-?)([0-9](?:[0-9]|(?<=\p{AHex})_(?=\p{AHex}))*))?(i(?![\p{L}\p{M}\p{N}\p{Pc}]))?(?:\n|(?=\n?$))|(?=[\.0-9])(?!0[BOXbox])([0-9](?:[0-9]|((?<=\p{AHex})_(?=\p{AHex})))*)(?<!_)([Ee])(\+?)(-?)([0-9](?:[0-9]|(?<=\p{AHex})_(?=\p{AHex}))*)(i(?![\p{L}\p{M}\p{N}\p{Pc}]))?(?:\n|(?=\n?$)))|((?<=[0-9])\.|\.(?=[0-9]))([0-9](?:[0-9]|((?<=\p{AHex})_(?=\p{AHex})))*)(?:(?<!_)([Ee])(\+?)(-?)([0-9](?:[0-9]|(?<=\p{AHex})_(?=\p{AHex}))*))?(i(?![\p{L}\p{M}\p{N}\p{Pc}]))?(?:\n|(?=\n?$)))|(0[Xx])_?(\p{AHex}(?:\p{AHex}|((?<=\p{AHex})_(?=\p{AHex})))*)((?<=\p{AHex})\.|\.(?=\p{AHex}))(\p{AHex}(?:\p{AHex}|((?<=\p{AHex})_(?=\p{AHex})))*)?(?<!_)([Pp])(\+?)(-?)([0-9](?:[0-9]|(?<=\p{AHex})_(?=\p{AHex}))*)(i(?![\p{L}\p{M}\p{N}\p{Pc}]))?(?:\n|(?=\n?$)))|(0[Xx])_?(\p{AHex}(?:\p{AHex}|((?<=\p{AHex})_(?=\p{AHex})))*)(?<!_)([Pp])(\+?)(-?)([0-9](?:[0-9]|(?<=\p{AHex})_(?=\p{AHex}))*)(i(?![\p{L}\p{M}\p{N}\p{Pc}]))?(?:\n|(?=\n?$)))|(0[Xx])((?<=\p{AHex})\.|\.(?=\p{AHex}))(\p{AHex}(?:\p{AHex}|((?<=\p{AHex})_(?=\p{AHex})))*)(?<!_)([Pp])(\+?)(-?)([0-9](?:[0-9]|(?<=\p{AHex})_(?=\p{AHex}))*)(i(?![\p{L}\p{M}\p{N}\p{Pc}]))?(?:\n|(?=\n?$)))/dgvy},{captures:{"1":{name:"constant.numeric.decimal.go",patterns:[{match:/(?<=\p{AHex})_(?=\p{AHex})/dgv,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:/(?<=\p{AHex})_(?=\p{AHex})/dgv,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:/(?<=\p{AHex})_(?=\p{AHex})/dgv,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:/(?<=\p{AHex})_(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.go"}]},"14":{name:"punctuation.separator.constant.numeric.go"},"15":{name:"keyword.other.unit.imaginary.go"}},match:/(?:(?:(?:(?=[\.0-9])(?!0[BOXbox])([0-9](?:[0-9]|((?<=\p{AHex})_(?=\p{AHex})))*)(i(?![\p{L}\p{M}\p{N}\p{Pc}]))?(?:\n|(?=\n?$))|(0[Bb])_?([01](?:[01]|((?<=\p{AHex})_(?=\p{AHex})))*)(i(?![\p{L}\p{M}\p{N}\p{Pc}]))?(?:\n|(?=\n?$)))|(0[Oo]?)_?((?:[0-7]|((?<=\p{AHex})_(?=\p{AHex})))+)(i(?![\p{L}\p{M}\p{N}\p{Pc}]))?(?:\n|(?=\n?$)))|(0[Xx])_?(\p{AHex}(?:\p{AHex}|((?<=\p{AHex})_(?=\p{AHex})))*)(i(?![\p{L}\p{M}\p{N}\p{Pc}]))?(?:\n|(?=\n?$)))/dgvy},{match:/(?:[\.0-9A-Z_a-z]|(?<=[EPep])[\-\+])+/dgv,name:"invalid.illegal.constant.numeric.go"}]}]}},match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])\.?\p{Nd}(?:[\.0-9A-Z_a-z]|(?<=[EPep])[\-\+])*/dgv},operators:{patterns:[{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])[\&\*]+(?!\p{Nd})(?=[\]\[\p{L}\p{M}\p{N}\p{Pc}]|<-)/dgv,name:"keyword.operator.address.go"},{match:/<-/dgv,name:"keyword.operator.channel.go"},{match:/--/dgv,name:"keyword.operator.decrement.go"},{match:/\+\+/dgv,name:"keyword.operator.increment.go"},{match:/(==|!=|<=|>=|<(?!<)|>(?!>))/dgv,name:"keyword.operator.comparison.go"},{match:/(&&|\|\||!)/dgv,name:"keyword.operator.logical.go"},{match:/((?:|[\-\%\*\+\/\:\^\|]|<<|>>|&\^?)=)/dgv,name:"keyword.operator.assignment.go"},{match:/([\-\%\*\+\/])/dgv,name:"keyword.operator.arithmetic.go"},{match:/(&(?!\^)|[\^\|]|&\^|<<|>>|~)/dgv,name:"keyword.operator.arithmetic.bitwise.go"},{match:/\.\.\./dgv,name:"keyword.operator.ellipsis.go"}]},other_struct_interface_expressions:{patterns:[{include:"#after_control_variables"},{captures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]},"2":{patterns:[{include:"#type-declarations-without-brackets"},{match:/\[/dgv,name:"punctuation.definition.begin.bracket.square.go"},{match:/\]/dgv,name:"punctuation.definition.end.bracket.square.go"},{match:/\{/dgv,name:"punctuation.definition.begin.bracket.curly.go"},{match:/\}/dgv,name:"punctuation.definition.end.bracket.curly.go"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/\b([\.\p{L}\p{M}\p{N}\p{Pc}]+)(\[(?:[\]\*\.\[\{\}\p{L}\p{M}\p{N}\p{Pc}]+(?:,\p{space}*[\]\*\.\[\{\}\p{L}\p{M}\p{N}\p{Pc}]+)*)?\])?(?=\{)(?<!\b(?:struct|interface)\b)/dgv}]},other_variables:{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.go"},package_name:{patterns:[{begin:/\b(package)\p{space}+/dgv,beginCaptures:{"1":{name:"keyword.package.go"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),patterns:[{match:/\p{Nd}[\p{L}\p{M}\p{N}\p{Pc}]*/dgv,name:"invalid.illegal.identifier.go"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.package.go"}]}]},"parameter-variable-types":{patterns:[{match:/\{/dgv,name:"punctuation.definition.begin.bracket.curly.go"},{match:/\}/dgv,name:"punctuation.definition.end.bracket.curly.go"},{begin:/([\*\.\p{L}\p{M}\p{N}\p{Pc}]+)?(\[)/dgv,beginCaptures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]},"2":{name:"punctuation.definition.begin.bracket.square.go"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.square.go"}},patterns:[{include:"#generic_param_types"}]},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.begin.bracket.round.go"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.round.go"}},patterns:[{include:"#function_param_types"}]}]},property_variables:{captures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.property.go"}]}},match:/\b([\.\p{L}\p{M}\p{N}\p{Pc}]+:(?!=))/dgv},raw_string_literals:{begin:/`/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.go"}},end:/`/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.go"}},name:"string.quoted.raw.go",patterns:[{include:"#string_placeholder"}]},runes:{patterns:[{begin:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.go"}},end:/'/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.go"}},name:"string.quoted.rune.go",patterns:[{match:/(\\([0-7]{3}|["'\\abfnrtv]|x\p{AHex}{2}|u\p{AHex}{4}|U\p{AHex}{8})|[^\n])(?=')/dgvy,name:"constant.other.rune.go"},{match:/[^']+/dgv,name:"invalid.illegal.unknown-rune.go"}]}]},single_type:{patterns:[{captures:{"1":{name:"keyword.type.go"},"2":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]},"3":{patterns:[{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.begin.bracket.round.go"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.round.go"}},patterns:[{include:"#function_param_types"},{include:"$self"}]},{include:"#type-declarations"},{include:"#generic_types"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/^\p{space}*\b(type)\b\p{space}*([\*\.\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}+(?!(?:=\p{space}*)?(?:[\]\*\[]+)?\b(?:struct|interface)\b)([\p{space}\P{space}]+)/dgv},{begin:/(?:^|\p{space}+)\b(type)\b\p{space}*([\*\.\p{L}\p{M}\p{N}\p{Pc}]+)(?=\[)/dgv,beginCaptures:{"1":{name:"keyword.type.go"},"2":{patterns:[{include:"#type-declarations-without-brackets"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},end:/(?<=\])(\p{space}+(?:=\p{space}*)?(?:(?:(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?(?!(?:[\]\*\[]+)?\b(?:struct|interface|func)\b)[\-\]\*\.\[\p{L}\p{M}\p{N}\p{Pc}]+(?:,\p{space}*[\]\*\.\[\p{L}\p{M}\p{N}\p{Pc}]+)*)?/dgv,endCaptures:{"1":{patterns:[{include:"#type-declarations-without-brackets"},{match:/\[/dgv,name:"punctuation.definition.begin.bracket.square.go"},{match:/\]/dgv,name:"punctuation.definition.end.bracket.square.go"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},patterns:[{include:"#struct_variables_types"},{include:"#type-declarations-without-brackets"},{include:"#parameter-variable-types"},{match:/\[/dgv,name:"punctuation.definition.begin.bracket.square.go"},{match:/\]/dgv,name:"punctuation.definition.end.bracket.square.go"},{match:/\{/dgv,name:"punctuation.definition.begin.bracket.curly.go"},{match:/\}/dgv,name:"punctuation.definition.end.bracket.curly.go"},{match:/\(/dgv,name:"punctuation.definition.begin.bracket.round.go"},{match:/\)/dgv,name:"punctuation.definition.end.bracket.round.go"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}]},slice_index_variables:{captures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.go"}]}},match:/(?<=[\p{L}\p{M}\p{N}\p{Pc}]\[)((?:\b[\-\%\&\*\+\.\/\<\>\|\p{L}\p{M}\p{N}\p{Pc}]+:|:\b[\-\%\&\*\+\.\/\<\>\|\p{L}\p{M}\p{N}\p{Pc}]+)(?:\b[\-\%\&\*\+\.\/\<\>\|\p{L}\p{M}\p{N}\p{Pc}]+)?(?::\b[\-\%\&\*\+\.\/\<\>\|\p{L}\p{M}\p{N}\p{Pc}]+)?)(?=\])/dgv},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/dgv,name:"storage.type.boolean.go"},{match:/\bbyte\b/dgv,name:"storage.type.byte.go"},{match:/\berror\b/dgv,name:"storage.type.error.go"},{match:/\b(complex(64|128)|float(32|64)|u?int(8|16|32|64)?)\b/dgv,name:"storage.type.numeric.go"},{match:/\brune\b/dgv,name:"storage.type.rune.go"},{match:/\bstring\b/dgv,name:"storage.type.string.go"},{match:/\buintptr\b/dgv,name:"storage.type.uintptr.go"},{match:/\bany\b/dgv,name:"entity.name.type.any.go"},{match:/\bcomparable\b/dgv,name:"entity.name.type.comparable.go"}]},string_escaped_char:{patterns:[{match:/\\([0-7]{3}|["'\\abfnrtv]|x\p{AHex}{2}|u\p{AHex}{4}|U\p{AHex}{8})/dgv,name:"constant.character.escape.go"},{match:/\\[^"'0-7Uabfnrtuvx]/dgv,name:"invalid.illegal.unknown-escape.go"}]},string_literals:{patterns:[{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.go"}},end:/"/dgv,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:/%(\[\p{Nd}+\])?([\- \#\+0]{0,2}((\p{Nd}+|\*)?(\.?(\p{Nd}+|\*|(\[\p{Nd}+\])\*?)?(\[\p{Nd}+\])?)?))?[\%EFGTUXb-gopqstvwx]/dgv,name:"constant.other.placeholder.go"}]},struct_interface_declaration:{captures:{"1":{name:"keyword.type.go"},"2":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/^\p{space}*\b(type)\b\p{space}*([\.\p{L}\p{M}\p{N}\p{Pc}]+)/dgv},struct_variable_types_fields_multi:{patterns:[{begin:/([\p{L}\p{M}\p{N}\p{Pc}]+(?:,\p{space}*[\p{L}\p{M}\p{N}\p{Pc}]+)*(?:(?:\p{space}*(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?\p{space}+(?:[\]\*\[]+)?)\b(struct)\b\p{space}*(\{)/dgv,beginCaptures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.property.go"}]},"2":{name:"keyword.struct.go"},"3":{name:"punctuation.definition.begin.bracket.curly.go"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.curly.go"}},patterns:[{include:"#struct_variables_types_fields"},{include:"$self"}]},{begin:/([\p{L}\p{M}\p{N}\p{Pc}]+(?:,\p{space}*[\p{L}\p{M}\p{N}\p{Pc}]+)*(?:(?:\p{space}*(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?\p{space}+(?:[\]\*\[]+)?)\b(interface)\b\p{space}*(\{)/dgv,beginCaptures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.property.go"}]},"2":{name:"keyword.interface.go"},"3":{name:"punctuation.definition.begin.bracket.curly.go"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.curly.go"}},patterns:[{include:"#interface_variables_types_field"},{include:"$self"}]},{begin:/([\p{L}\p{M}\p{N}\p{Pc}]+(?:,\p{space}*[\p{L}\p{M}\p{N}\p{Pc}]+)*(?:(?:\p{space}*(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?\p{space}+(?:[\]\*\[]+)?)\b(func)\b\p{space}*(\()/dgv,beginCaptures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.property.go"}]},"2":{name:"keyword.function.go"},"3":{name:"punctuation.definition.begin.bracket.round.go"}},end:/\)/dgv,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\p{space}*(\{)/dgv,beginCaptures:{"1":{name:"keyword.struct.go"},"2":{name:"punctuation.definition.begin.bracket.curly.go"}},end:/\}/dgv,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:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/(?<=\{)\p{space}*((?:(?:\p{space}*(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?[\]\*\.\[\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}*(?=\})/dgv},{captures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.property.go"}]},"2":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/(?<=\{)\p{space}*((?:(?:[\p{L}\p{M}\p{N}\p{Pc}]+,\p{space}*)+)?[\p{L}\p{M}\p{N}\p{Pc}]+\p{space}+)((?:(?:\p{space}*(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?[\]\*\.\[\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}*(?=\})/dgv},{captures:{"1":{patterns:[{captures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.property.go"}]},"2":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/((?:(?:[\p{L}\p{M}\p{N}\p{Pc}]+,\p{space}*)+)?[\p{L}\p{M}\p{N}\p{Pc}]+\p{space}+)?((?:(?:\p{space}*(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?\P{space}+;?)/dgv}]}},match:/(?<=\{)((?:\p{space}*(?:(?:(?:[\p{L}\p{M}\p{N}\p{Pc}]+,\p{space}*)+)?[\p{L}\p{M}\p{N}\p{Pc}]+\p{space}+)?(?:(?:\p{space}*(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?\P{space}+;?)+)\p{space}*(?=\})/dgv},{captures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/((?:(?:\p{space}*(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?[\*\.\p{L}\p{M}\p{N}\p{Pc}]+\p{space}*)(?:(?=["\/\`])|(?=\n?$))/dgv},{captures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.property.go"}]},"2":{patterns:[{include:"#type-declarations-without-brackets"},{include:"#parameter-variable-types"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/((?:(?:[\p{L}\p{M}\p{N}\p{Pc}]+,\p{space}*)+)?[\p{L}\p{M}\p{N}\p{Pc}]+\p{space}+)([^"\/\`]+)/dgv}]},support_functions:{captures:{"1":{name:"entity.name.function.support.go"},"2":{patterns:[{include:"#type-declarations"},{match:/\p{Nd}[\p{L}\p{M}\p{N}\p{Pc}]*/dgv,name:"invalid.illegal.identifier.go"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.function.support.go"}]},"3":{patterns:[{include:"#type-declarations-without-brackets"},{match:/\[/dgv,name:"punctuation.definition.begin.bracket.square.go"},{match:/\]/dgv,name:"punctuation.definition.end.bracket.square.go"},{match:/\{/dgv,name:"punctuation.definition.begin.bracket.curly.go"},{match:/\}/dgv,name:"punctuation.definition.end.bracket.curly.go"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/(?:((?<=\.)\b[\p{L}\p{M}\p{N}\p{Pc}]+)|\b([\p{L}\p{M}\p{N}\p{Pc}]+))(\[(?:[\]"'\*\.\[\{\}\p{L}\p{M}\p{N}\p{Pc}]+(?:,\p{space}*[\]\*\.\[\{\}\p{L}\p{M}\p{N}\p{Pc}]+)*)?\])?(?=\()/dgv},switch_select_case_variables:{captures:{"1":{name:"keyword.control.go"},"2":{patterns:[{include:"#type-declarations"},{include:"#support_functions"},{include:"#variable_assignment"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.go"}]}},match:/^\p{space}*\b(case)\b\p{space}+([\p{space}\P{space}]+:\p{space}*(?:\/[\*\/][^\n]*)?)(?=\n?$)/dgv},switch_types:{begin:/(?<=\bswitch\b)\p{space}*([\p{L}\p{M}\p{N}\p{Pc}]+\p{space}*:=)?\p{space}*([\-\]\%\&\(-\+\.\/\<\>\[\|\p{L}\p{M}\p{N}\p{Pc}]+)(\.\(\btype\b\)\p{space}*)(\{)/dgv,beginCaptures:{"1":{patterns:[{include:"#operators"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.assignment.go"}]},"2":{patterns:[{include:"#support_functions"},{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.go"}]},"3":{patterns:[{include:"#delimiters"},{include:"#brackets"},{match:/\btype\b/dgv,name:"keyword.type.go"}]},"4":{name:"punctuation.definition.begin.bracket.curly.go"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.curly.go"}},patterns:[{captures:{"1":{name:"keyword.control.go"},"2":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]},"3":{name:"punctuation.other.colon.go"},"4":{patterns:[{include:"#comments"}]}},match:/^\p{space}*\b(case)\b\p{space}+([\!\*\,\.\<\=\>\p{L}\p{M}\p{N}\p{Pc}\p{space}]+)(:)(\p{space}*\/[\*\/]\p{space}*[^\n]*)?(?=\n?$)/dgv},{begin:/\bcase\b/dgv,beginCaptures:{"0":{name:"keyword.control.go"}},end:/:/dgv,endCaptures:{"0":{name:"punctuation.other.colon.go"}},patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]},{include:"$self"}]},syntax_errors:{patterns:[{captures:{"1":{name:"invalid.illegal.slice.go"}},match:/\[\](\p{space}+)/dgv},{match:/\b0[0-7]*[89]\p{Nd}*\b/dgv,name:"invalid.illegal.numeric.go"}]},terminators:{match:/;/dgv,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:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/(?<=\.\()(?:\b(type)\b|((?:(?:\p{space}*(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?[\]\*\.\[\p{L}\p{M}\p{N}\p{Pc}]+))(?=\))/dgv},var_assignment:{patterns:[{captures:{"1":{patterns:[{include:"#delimiters"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.assignment.go"}]},"2":{patterns:[{include:"#type-declarations-without-brackets"},{include:"#generic_types"},{match:/\(/dgv,name:"punctuation.definition.begin.bracket.round.go"},{match:/\)/dgv,name:"punctuation.definition.end.bracket.round.go"},{match:/\[/dgv,name:"punctuation.definition.begin.bracket.square.go"},{match:/\]/dgv,name:"punctuation.definition.end.bracket.square.go"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/(?<=\bvar\b)\p{space}*\b([\.\p{L}\p{M}\p{N}\p{Pc}]+(?:,\p{space}*[\.\p{L}\p{M}\p{N}\p{Pc}]+)*)\p{space}*((?:(?:(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+(?:\([^\)]+\))?)?(?!(?:[\]\*\[]+)?\b(?:struct|func|map)\b)(?:[\]\*\.\[\p{L}\p{M}\p{N}\p{Pc}]+(?:,\p{space}*[\]\*\.\[\p{L}\p{M}\p{N}\p{Pc}]+)*)?\p{space}*=?)?/dgv},{begin:/(?<=\bvar\b)\p{space}*(\()/dgv,beginCaptures:{"1":{name:"punctuation.definition.begin.bracket.round.go"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.round.go"}},patterns:[{captures:{"1":{patterns:[{include:"#delimiters"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.assignment.go"}]},"2":{patterns:[{include:"#type-declarations-without-brackets"},{include:"#generic_types"},{match:/\(/dgv,name:"punctuation.definition.begin.bracket.round.go"},{match:/\)/dgv,name:"punctuation.definition.end.bracket.round.go"},{match:/\[/dgv,name:"punctuation.definition.begin.bracket.square.go"},{match:/\]/dgv,name:"punctuation.definition.end.bracket.square.go"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/^\p{space}*\b([\.\p{L}\p{M}\p{N}\p{Pc}]+(?:,\p{space}*[\.\p{L}\p{M}\p{N}\p{Pc}]+)*)\p{space}*((?:(?:(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+(?:\([^\)]+\))?)?(?!(?:[\]\*\[]+)?\b(?:struct|func|map)\b)(?:[\]\*\.\[\p{L}\p{M}\p{N}\p{Pc}]+(?:,\p{space}*[\]\*\.\[\p{L}\p{M}\p{N}\p{Pc}]+)*)?\p{space}*=?)?/dgv},{include:"$self"}]}]},variable_assignment:{patterns:[{captures:{"0":{patterns:[{include:"#delimiters"},{match:/\p{Nd}[\p{L}\p{M}\p{N}\p{Pc}]*/dgv,name:"invalid.illegal.identifier.go"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.assignment.go"}]}},match:/\b[\p{L}\p{M}\p{N}\p{Pc}]+(?:,\p{space}*[\p{L}\p{M}\p{N}\p{Pc}]+)*(?=\p{space}*:=)/dgv},{captures:{"0":{patterns:[{include:"#delimiters"},{include:"#operators"},{match:/\p{Nd}[\p{L}\p{M}\p{N}\p{Pc}]*/dgv,name:"invalid.illegal.identifier.go"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.assignment.go"}]}},match:/\b[\*\.\p{L}\p{M}\p{N}\p{Pc}]+(?:,\p{space}*[\*\.\p{L}\p{M}\p{N}\p{Pc}]+)*(?=\p{space}*=(?!=))/dgv}]}},scopeName:"source.go",embeddedLangs:undefined,aliases:undefined})
3
+ const lang = Object.freeze({displayName:"Go",name:"go",patterns:[{include:"#statements"}],repository:{after_control_variables:{captures:{"1":{patterns:[{include:"#type-declarations-without-brackets"},{match:/\[/dgv,name:"punctuation.definition.begin.bracket.square.go"},{match:/\]/dgv,name:"punctuation.definition.end.bracket.square.go"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.go"}]}},match:/(?<=\brange\b|;|\bif\b|\bfor\b|[\<\>]|<=|>=|==|!=|[\p{L}\p{M}\p{N}\p{Pc}][\-\%\*\+\/]|[\p{L}\p{M}\p{N}\p{Pc}][\-\%\*\+\/]=|\|\||&&)\p{space}*((?![\]\[]+)[\-\]\!\%\*\+\.\/\:\<\=\>\[_\p{Alpha}\p{Nd}]+)\p{space}*(?=\{)/dgv},brackets:{patterns:[{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.begin.bracket.curly.go"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.curly.go"}},patterns:[{include:"$self"}]},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.begin.bracket.round.go"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.round.go"}},patterns:[{include:"$self"}]},{begin:/\[/dgv,beginCaptures:{"0":{name:"punctuation.definition.begin.bracket.square.go"}},end:/\]/dgv,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(?=\()/dgv,name:"entity.name.function.support.builtin.go"},{begin:/\b(new)\b(\()/dgv,beginCaptures:{"1":{name:"entity.name.function.support.builtin.go"},"2":{name:"punctuation.definition.begin.bracket.round.go"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.round.go"}},patterns:[{include:"#functions"},{include:"#struct_variables_types"},{include:"#type-declarations"},{include:"#generic_types"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"},{include:"$self"}]},{begin:/\b(make)\b(\()((?:(?:(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+(?:\([^\)]+\))?)?(?:[\]\*\[]+)?(?:(?!\bmap\b)[\.\p{L}\p{M}\p{N}\p{Pc}]+)?(\[(?:\P{space}+(?:,\p{space}*\P{space}+)*)?\])?,?)?/dgv,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:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.round.go"}},patterns:[{include:"$self"}]}]},comments:{patterns:[{begin:/(\/\*)/dgv,beginCaptures:{"1":{name:"punctuation.definition.comment.go"}},end:/(\*\/)/dgv,endCaptures:{"1":{name:"punctuation.definition.comment.go"}},name:"comment.block.go"},{begin:/(\/\/)/dgv,beginCaptures:{"1":{name:"punctuation.definition.comment.go"}},end:/\n|(?=\n?$)/dgv,name:"comment.line.double-slash.go"}]},const_assignment:{patterns:[{captures:{"1":{patterns:[{include:"#delimiters"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.constant.go"}]},"2":{patterns:[{include:"#type-declarations-without-brackets"},{include:"#generic_types"},{match:/\(/dgv,name:"punctuation.definition.begin.bracket.round.go"},{match:/\)/dgv,name:"punctuation.definition.end.bracket.round.go"},{match:/\[/dgv,name:"punctuation.definition.begin.bracket.square.go"},{match:/\]/dgv,name:"punctuation.definition.end.bracket.square.go"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/(?<=\bconst\b)\p{space}*\b([\.\p{L}\p{M}\p{N}\p{Pc}]+(?:,\p{space}*[\.\p{L}\p{M}\p{N}\p{Pc}]+)*)\p{space}*((?:(?:(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+(?:\([^\)]+\))?)?(?!(?:[\]\*\[]+)?\b(?:struct|func|map)\b)(?:[\]\*\.\[\p{L}\p{M}\p{N}\p{Pc}]+(?:,\p{space}*[\]\*\.\[\p{L}\p{M}\p{N}\p{Pc}]+)*)?\p{space}*=?)?/dgv},{begin:/(?<=\bconst\b)\p{space}*(\()/dgv,beginCaptures:{"1":{name:"punctuation.definition.begin.bracket.round.go"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.round.go"}},patterns:[{captures:{"1":{patterns:[{include:"#delimiters"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.constant.go"}]},"2":{patterns:[{include:"#type-declarations-without-brackets"},{include:"#generic_types"},{match:/\(/dgv,name:"punctuation.definition.begin.bracket.round.go"},{match:/\)/dgv,name:"punctuation.definition.end.bracket.round.go"},{match:/\[/dgv,name:"punctuation.definition.begin.bracket.square.go"},{match:/\]/dgv,name:"punctuation.definition.end.bracket.square.go"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/^\p{space}*\b([\.\p{L}\p{M}\p{N}\p{Pc}]+(?:,\p{space}*[\.\p{L}\p{M}\p{N}\p{Pc}]+)*)\p{space}*((?:(?:(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+(?:\([^\)]+\))?)?(?!(?:[\]\*\[]+)?\b(?:struct|func|map)\b)(?:[\]\*\.\[\p{L}\p{M}\p{N}\p{Pc}]+(?:,\p{space}*[\]\*\.\[\p{L}\p{M}\p{N}\p{Pc}]+)*)?\p{space}*=?)?/dgv},{include:"$self"}]}]},delimiters:{patterns:[{match:/,/dgv,name:"punctuation.other.comma.go"},{match:/\.(?!\.\.)/dgv,name:"punctuation.other.period.go"},{match:/:(?!=)/dgv,name:"punctuation.other.colon.go"}]},double_parentheses_types:{captures:{"1":{patterns:[{include:"#type-declarations-without-brackets"},{match:/\(/dgv,name:"punctuation.definition.begin.bracket.round.go"},{match:/\)/dgv,name:"punctuation.definition.end.bracket.round.go"},{match:/\[/dgv,name:"punctuation.definition.begin.bracket.square.go"},{match:/\]/dgv,name:"punctuation.definition.end.bracket.square.go"},{match:/\{/dgv,name:"punctuation.definition.begin.bracket.curly.go"},{match:/\}/dgv,name:"punctuation.definition.end.bracket.curly.go"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(\((?:[\]\*\[]+)?[\.\p{L}\p{M}\p{N}\p{Pc}]+(?:\[(?:[\]\*\.\[\{\}\p{L}\p{M}\p{N}\p{Pc}]+(?:,\p{space}*[\]\*\.\[\{\}\p{L}\p{M}\p{N}\p{Pc}]+)*)?\])?\))(?=\()/dgv},function_declaration:{begin:/^\b(func)\b\p{space}*(\([^\)]+\)\p{space}*)?(?:([\p{L}\p{M}\p{N}\p{Pc}]+)(?=[\(\[]))?/dgv,beginCaptures:{"1":{name:"keyword.function.go"},"2":{patterns:[{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.begin.bracket.round.go"}},end:/\)/dgv,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:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/([\p{L}\p{M}\p{N}\p{Pc}]+\p{space}+)?([\*\.\p{L}\p{M}\p{N}\p{Pc}]+(?:\[(?:(?:[\*\.\p{L}\p{M}\p{N}\p{Pc}]+(?:,\p{space}+)?)+)?\])?)/dgv},{include:"$self"}]}]},"3":{patterns:[{match:/\p{Nd}[\p{L}\p{M}\p{N}\p{Pc}]*/dgv,name:"invalid.illegal.identifier.go"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.function.go"}]}},end:/(?<=\))\p{space}*((?:(?:(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?(?!(?:[\]\*\[]+)?\b(?:struct|interface)\b)[\-\]\*\.\[\p{L}\p{M}\p{N}\p{Pc}]+)?\p{space}*(?=\{)/dgv,endCaptures:{"1":{patterns:[{include:"#type-declarations-without-brackets"},{include:"#parameter-variable-types"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},patterns:[{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.begin.bracket.round.go"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.round.go"}},patterns:[{include:"#function_param_types"}]},{begin:/([\*\.\p{L}\p{M}\p{N}\p{Pc}]+)?(\[)/dgv,beginCaptures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]},"2":{name:"punctuation.definition.begin.bracket.square.go"}},end:/\]/dgv,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:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/(?<=\))\p{space}*((?:(?:\p{space}*(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?[\-\]\*\.\<\>\[\p{L}\p{M}\p{N}\p{Pc}]+\p{space}*(?:\/[\*\/][^\n]*)?)(?=\n?$)/dgv},{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:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.parameter.go"}]}},match:/((?:(?:\b[\p{L}\p{M}\p{N}\p{Pc}]+,\p{space}*)+)?\b[\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}+(?=(?:(?:\p{space}*(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?(?:[\]\*\[]+)?\b(?:struct|interface)\b\p{space}*\{)/dgv},{captures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.parameter.go"}]}},match:/(?:(?<=\()|^\p{space}*)((?:\b[\p{L}\p{M}\p{N}\p{Pc}]+,\p{space}*)+(?:\/[\*\/][^\n]*)?)(?=\n?$)/dgv},{captures:{"1":{patterns:[{include:"#delimiters"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.parameter.go"}]},"2":{patterns:[{include:"#type-declarations-without-brackets"},{include:"#parameter-variable-types"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/((?:(?:\b[\p{L}\p{M}\p{N}\p{Pc}]+,\p{space}*)+)?\b[\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}+((?:(?:\p{space}*(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?(?:(?:[\]\*\.\[\p{L}\p{M}\p{N}\p{Pc}]+)?(?:\bfunc\b\((?:[^\)]+)?\)(?:(?:\p{space}*(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?\p{space}*)+(?:[\]\*\.\[\p{L}\p{M}\p{N}\p{Pc}]+|\((?:[^\)]+)?\))?|(?:(?:[\]\*\[]+)?[\*\.\p{L}\p{M}\p{N}\p{Pc}]+(?:\[[^\]]+\])?(?:[\*\.\p{L}\p{M}\p{N}\p{Pc}]+)?)+))/dgv},{begin:/([\*\.\p{L}\p{M}\p{N}\p{Pc}]+)?(\[)/dgv,beginCaptures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]},"2":{name:"punctuation.definition.begin.bracket.square.go"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.square.go"}},patterns:[{include:"#generic_param_types"}]},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.begin.bracket.round.go"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.round.go"}},patterns:[{include:"#function_param_types"}]},{captures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/([\.\p{L}\p{M}\p{N}\p{Pc}]+)/dgv},{include:"$self"}]},functions:{begin:/\b(func)\b(?=\()/dgv,beginCaptures:{"1":{name:"keyword.function.go"}},end:/(?<=\))(\p{space}*(?:(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?(\p{space}*(?:(?:[\]\*\[]+)?[\*\.\p{L}\p{M}\p{N}\p{Pc}]+)?(?:\[(?:(?:[\*\.\p{L}\p{M}\p{N}\p{Pc}]+)?(?:\[(?:[^\]]+)?\])?(?:,\p{space}+)?)+\]|\((?:[^\)]+)?\))?(?:[\*\.\p{L}\p{M}\p{N}\p{Pc}]+)?\p{space}*(?=\{)|\p{space}*(?:(?:[\]\*\[]+)?(?!\bfunc\b)[\*\.\p{L}\p{M}\p{N}\p{Pc}]+(?:\[(?:(?:[\*\.\p{L}\p{M}\p{N}\p{Pc}]+)?(?:\[(?:[^\]]+)?\])?(?:,\p{space}+)?)+\])?(?:[\*\.\p{L}\p{M}\p{N}\p{Pc}]+)?|\((?:[^\)]+)?\)))?/dgv,endCaptures:{"1":{patterns:[{include:"#type-declarations"}]},"2":{patterns:[{include:"#type-declarations-without-brackets"},{include:"#parameter-variable-types"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,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:/\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.begin.bracket.round.go"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.round.go"}},patterns:[{include:"#function_param_types"},{include:"$self"}]},{match:/\[/dgv,name:"punctuation.definition.begin.bracket.square.go"},{match:/\]/dgv,name:"punctuation.definition.end.bracket.square.go"},{match:/\{/dgv,name:"punctuation.definition.begin.bracket.curly.go"},{match:/\}/dgv,name:"punctuation.definition.end.bracket.curly.go"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/\b(func)\b(\([^\/]*?\)\p{space}+\([^\/]*?\))\p{space}+(?=\{)/dgv},generic_param_types:{patterns:[{include:"#struct_variables_types"},{include:"#interface_variables_types"},{include:"#type-declarations-without-brackets"},{captures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.parameter.go"}]}},match:/((?:(?:\b[\p{L}\p{M}\p{N}\p{Pc}]+,\p{space}*)+)?\b[\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}+(?=(?:(?:\p{space}*(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?(?:[\]\*\[]+)?\b(?:struct|interface)\b\p{space}*\{)/dgv},{captures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.parameter.go"}]}},match:/(?:(?<=\()|^\p{space}*)((?:\b[\p{L}\p{M}\p{N}\p{Pc}]+,\p{space}*)+(?:\/[\*\/][^\n]*)?)(?=\n?$)/dgv},{captures:{"1":{patterns:[{include:"#delimiters"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.parameter.go"}]},"2":{patterns:[{include:"#type-declarations-without-brackets"},{include:"#parameter-variable-types"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]},"3":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/((?:(?:\b[\p{L}\p{M}\p{N}\p{Pc}]+,\p{space}*)+)?\b[\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}+((?:(?:\p{space}*(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?(?:(?:[\]\*\.\[\p{L}\p{M}\p{N}\p{Pc}]+)?(?:\bfunc\b\((?:[^\)]+)?\)(?:(?:\p{space}*(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?\p{space}*)+(?:[\*\.\p{L}\p{M}\p{N}\p{Pc}]+|\((?:[^\)]+)?\))?|(?:(?:[\*\.\~\p{L}\p{M}\p{N}\p{Pc}]+|\[(?:(?:[\*\.\p{L}\p{M}\p{N}\p{Pc}]+)?(?:\[(?:[^\]]+)?\])?(?:,\p{space}+)?)+\])(?:[\*\.\p{L}\p{M}\p{N}\p{Pc}]+)?)+))/dgv},{begin:/([\*\.\p{L}\p{M}\p{N}\p{Pc}]+)?(\[)/dgv,beginCaptures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]},"2":{name:"punctuation.definition.begin.bracket.square.go"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.square.go"}},patterns:[{include:"#generic_param_types"}]},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.begin.bracket.round.go"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.round.go"}},patterns:[{include:"#function_param_types"}]},{captures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/\b([\.\p{L}\p{M}\p{N}\p{Pc}]+)/dgv},{include:"$self"}]},generic_types:{captures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]},"2":{patterns:[{include:"#parameter-variable-types"}]}},match:/([\*\.\p{L}\p{M}\p{N}\p{Pc}]+)(\[(?:[^\]]+)?\])/dgv},"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_variables"},{include:"#other_variables"}]},hover:{patterns:[{captures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.property.go"}]},"2":{patterns:[{match:/\binvalid\b\p{space}+\btype\b/dgv,name:"invalid.field.go"},{include:"#type-declarations-without-brackets"},{include:"#parameter-variable-types"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/(?<=^\bfield\b)\p{space}+([\*\.\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}+([\p{space}\P{space}]+)/dgv},{captures:{"1":{patterns:[{include:"#type-declarations-without-brackets"},{include:"#parameter-variable-types"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/(?<=^\breturns\b)\p{space}+([\p{space}\P{space}]+)/dgv}]},import:{patterns:[{begin:/\b(import)\p{space}+/dgv,beginCaptures:{"1":{name:"keyword.control.import.go"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),patterns:[{include:"#imports"}]}]},imports:{patterns:[{captures:{"1":{patterns:[{include:"#delimiters"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,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:/(\p{space}*[\.\p{L}\p{M}\p{N}\p{Pc}]+)?\p{space}*((")([^"]*)("))/dgv},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.imports.begin.bracket.round.go"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.imports.end.bracket.round.go"}},patterns:[{include:"#comments"},{include:"#imports"}]},{include:"$self"}]},interface_variables_types:{begin:/\b(interface)\b\p{space}*(\{)/dgv,beginCaptures:{"1":{name:"keyword.interface.go"},"2":{name:"punctuation.definition.begin.bracket.curly.go"}},end:/\}/dgv,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:/([\*\.\p{L}\p{M}\p{N}\p{Pc}]+)?(\[)/dgv,beginCaptures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]},"2":{name:"punctuation.definition.begin.bracket.square.go"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.square.go"}},patterns:[{include:"#generic_param_types"}]},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.begin.bracket.round.go"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.round.go"}},patterns:[{include:"#function_param_types"}]},{captures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/([\.\p{L}\p{M}\p{N}\p{Pc}]+)/dgv}]},keywords:{patterns:[{match:/\b(break|case|continue|default|defer|else|fallthrough|for|go|goto|if|range|return|select|switch)\b/dgv,name:"keyword.control.go"},{match:/\bchan\b/dgv,name:"keyword.channel.go"},{match:/\bconst\b/dgv,name:"keyword.const.go"},{match:/\bvar\b/dgv,name:"keyword.var.go"},{match:/\bfunc\b/dgv,name:"keyword.function.go"},{match:/\binterface\b/dgv,name:"keyword.interface.go"},{match:/\bmap\b/dgv,name:"keyword.map.go"},{match:/\bstruct\b/dgv,name:"keyword.struct.go"},{match:/\bimport\b/dgv,name:"keyword.control.import.go"},{match:/\btype\b/dgv,name:"keyword.type.go"}]},label_loop_variables:{captures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.label.go"}]}},match:/^(\p{space}*[\p{L}\p{M}\p{N}\p{Pc}]+:\p{space}*|\p{space}*\b(?:break|goto|continue)\b\p{space}+[\p{L}\p{M}\p{N}\p{Pc}]+(?:\p{space}*\/[\*\/]\p{space}*[^\n]*)?)(?=\n?$)/dgv},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/dgv},map_types:{begin:/\b(map)\b(\[)/dgv,beginCaptures:{"1":{name:"keyword.map.go"},"2":{name:"punctuation.definition.begin.bracket.square.go"}},end:/(\])((?:(?:(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?(?!(?:[\]\*\[]+)?\b(?:func|struct|map)\b)(?:[\]\*\[]+)?[\.\p{L}\p{M}\p{N}\p{Pc}]+(?:\[(?:[\]\*\.\[\{\}\p{L}\p{M}\p{N}\p{Pc}]+(?:,\p{space}*[\]\*\.\[\{\}\p{L}\p{M}\p{N}\p{Pc}]+)*)?\])?)?/dgv,endCaptures:{"1":{name:"punctuation.definition.end.bracket.square.go"},"2":{patterns:[{include:"#type-declarations-without-brackets"},{match:/\[/dgv,name:"punctuation.definition.begin.bracket.square.go"},{match:/\]/dgv,name:"punctuation.definition.end.bracket.square.go"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},patterns:[{include:"#type-declarations-without-brackets"},{include:"#parameter-variable-types"},{include:"#functions"},{match:/\[/dgv,name:"punctuation.definition.begin.bracket.square.go"},{match:/\]/dgv,name:"punctuation.definition.end.bracket.square.go"},{match:/\{/dgv,name:"punctuation.definition.begin.bracket.curly.go"},{match:/\}/dgv,name:"punctuation.definition.end.bracket.curly.go"},{match:/\(/dgv,name:"punctuation.definition.begin.bracket.round.go"},{match:/\)/dgv,name:"punctuation.definition.end.bracket.round.go"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]},multi_types:{begin:/\b(type)\b\p{space}*(\()/dgv,beginCaptures:{"1":{name:"keyword.type.go"},"2":{name:"punctuation.definition.begin.bracket.round.go"}},end:/\)/dgv,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:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]},numeric_literals:{captures:{"0":{patterns:[{begin:/(?=[^\n])/dgv,end:/\n|(?=\n?$)/dgv,patterns:[{captures:{"1":{name:"constant.numeric.decimal.go",patterns:[{match:/(?<=\p{AHex})_(?=\p{AHex})/dgv,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:/(?<=\p{AHex})_(?=\p{AHex})/dgv,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:/(?<=\p{AHex})_(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.go"}]},"10":{name:"keyword.other.unit.imaginary.go"},"11":{name:"constant.numeric.decimal.go",patterns:[{match:/(?<=\p{AHex})_(?=\p{AHex})/dgv,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:/(?<=\p{AHex})_(?=\p{AHex})/dgv,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:/(?<=\p{AHex})_(?=\p{AHex})/dgv,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:/(?<=\p{AHex})_(?=\p{AHex})/dgv,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:/(?<=\p{AHex})_(?=\p{AHex})/dgv,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:/(?<=\p{AHex})_(?=\p{AHex})/dgv,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:/(?<=\p{AHex})_(?=\p{AHex})/dgv,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:/(?<=\p{AHex})_(?=\p{AHex})/dgv,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:/(?<=\p{AHex})_(?=\p{AHex})/dgv,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:/(?<=\p{AHex})_(?=\p{AHex})/dgv,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:/(?<=\p{AHex})_(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.go"}]},"53":{name:"keyword.other.unit.imaginary.go"}},match:/(?:(?:(?:(?:(?:(?=[\.0-9])(?!0[BOXbox])([0-9](?:[0-9]|((?<=\p{AHex})_(?=\p{AHex})))*)((?<=[0-9])\.|\.(?=[0-9]))([0-9](?:[0-9]|((?<=\p{AHex})_(?=\p{AHex})))*)?(?:(?<!_)([Ee])(\+?)(-?)([0-9](?:[0-9]|(?<=\p{AHex})_(?=\p{AHex}))*))?(i(?![\p{L}\p{M}\p{N}\p{Pc}]))?(?:\n|(?=\n?$))|(?=[\.0-9])(?!0[BOXbox])([0-9](?:[0-9]|((?<=\p{AHex})_(?=\p{AHex})))*)(?<!_)([Ee])(\+?)(-?)([0-9](?:[0-9]|(?<=\p{AHex})_(?=\p{AHex}))*)(i(?![\p{L}\p{M}\p{N}\p{Pc}]))?(?:\n|(?=\n?$)))|((?<=[0-9])\.|\.(?=[0-9]))([0-9](?:[0-9]|((?<=\p{AHex})_(?=\p{AHex})))*)(?:(?<!_)([Ee])(\+?)(-?)([0-9](?:[0-9]|(?<=\p{AHex})_(?=\p{AHex}))*))?(i(?![\p{L}\p{M}\p{N}\p{Pc}]))?(?:\n|(?=\n?$)))|(0[Xx])_?(\p{AHex}(?:\p{AHex}|((?<=\p{AHex})_(?=\p{AHex})))*)((?<=\p{AHex})\.|\.(?=\p{AHex}))(\p{AHex}(?:\p{AHex}|((?<=\p{AHex})_(?=\p{AHex})))*)?(?<!_)([Pp])(\+?)(-?)([0-9](?:[0-9]|(?<=\p{AHex})_(?=\p{AHex}))*)(i(?![\p{L}\p{M}\p{N}\p{Pc}]))?(?:\n|(?=\n?$)))|(0[Xx])_?(\p{AHex}(?:\p{AHex}|((?<=\p{AHex})_(?=\p{AHex})))*)(?<!_)([Pp])(\+?)(-?)([0-9](?:[0-9]|(?<=\p{AHex})_(?=\p{AHex}))*)(i(?![\p{L}\p{M}\p{N}\p{Pc}]))?(?:\n|(?=\n?$)))|(0[Xx])((?<=\p{AHex})\.|\.(?=\p{AHex}))(\p{AHex}(?:\p{AHex}|((?<=\p{AHex})_(?=\p{AHex})))*)(?<!_)([Pp])(\+?)(-?)([0-9](?:[0-9]|(?<=\p{AHex})_(?=\p{AHex}))*)(i(?![\p{L}\p{M}\p{N}\p{Pc}]))?(?:\n|(?=\n?$)))/dgvy},{captures:{"1":{name:"constant.numeric.decimal.go",patterns:[{match:/(?<=\p{AHex})_(?=\p{AHex})/dgv,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:/(?<=\p{AHex})_(?=\p{AHex})/dgv,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:/(?<=\p{AHex})_(?=\p{AHex})/dgv,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:/(?<=\p{AHex})_(?=\p{AHex})/dgv,name:"punctuation.separator.constant.numeric.go"}]},"14":{name:"punctuation.separator.constant.numeric.go"},"15":{name:"keyword.other.unit.imaginary.go"}},match:/(?:(?:(?:(?=[\.0-9])(?!0[BOXbox])([0-9](?:[0-9]|((?<=\p{AHex})_(?=\p{AHex})))*)(i(?![\p{L}\p{M}\p{N}\p{Pc}]))?(?:\n|(?=\n?$))|(0[Bb])_?([01](?:[01]|((?<=\p{AHex})_(?=\p{AHex})))*)(i(?![\p{L}\p{M}\p{N}\p{Pc}]))?(?:\n|(?=\n?$)))|(0[Oo]?)_?((?:[0-7]|((?<=\p{AHex})_(?=\p{AHex})))+)(i(?![\p{L}\p{M}\p{N}\p{Pc}]))?(?:\n|(?=\n?$)))|(0[Xx])_?(\p{AHex}(?:\p{AHex}|((?<=\p{AHex})_(?=\p{AHex})))*)(i(?![\p{L}\p{M}\p{N}\p{Pc}]))?(?:\n|(?=\n?$)))/dgvy},{match:/(?:[\.0-9A-Z_a-z]|(?<=[EPep])[\-\+])+/dgv,name:"invalid.illegal.constant.numeric.go"}]}]}},match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])\.?\p{Nd}(?:[\.0-9A-Z_a-z]|(?<=[EPep])[\-\+])*/dgv},operators:{patterns:[{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])[\&\*]+(?!\p{Nd})(?=[\]\[\p{L}\p{M}\p{N}\p{Pc}]|<-)/dgv,name:"keyword.operator.address.go"},{match:/<-/dgv,name:"keyword.operator.channel.go"},{match:/--/dgv,name:"keyword.operator.decrement.go"},{match:/\+\+/dgv,name:"keyword.operator.increment.go"},{match:/(==|!=|<=|>=|<(?!<)|>(?!>))/dgv,name:"keyword.operator.comparison.go"},{match:/(&&|\|\||!)/dgv,name:"keyword.operator.logical.go"},{match:/((?:|[\-\%\*\+\/\:\^\|]|<<|>>|&\^?)=)/dgv,name:"keyword.operator.assignment.go"},{match:/([\-\%\*\+\/])/dgv,name:"keyword.operator.arithmetic.go"},{match:/(&(?!\^)|[\^\|]|&\^|<<|>>|~)/dgv,name:"keyword.operator.arithmetic.bitwise.go"},{match:/\.\.\./dgv,name:"keyword.operator.ellipsis.go"}]},other_struct_interface_expressions:{patterns:[{include:"#after_control_variables"},{captures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]},"2":{patterns:[{include:"#type-declarations-without-brackets"},{match:/\[/dgv,name:"punctuation.definition.begin.bracket.square.go"},{match:/\]/dgv,name:"punctuation.definition.end.bracket.square.go"},{match:/\{/dgv,name:"punctuation.definition.begin.bracket.curly.go"},{match:/\}/dgv,name:"punctuation.definition.end.bracket.curly.go"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/\b(?!(?:struct|interface)\b)([\.\p{L}\p{M}\p{N}\p{Pc}]+)(?<brackets>\[(?:[^\]\[]|(?:\[(?:[^\]\[]|(?:\[(?:[^\]\[]|(?:\[(?:[^\]\[]|(?:\[(?:[^\]\[]|(?:))*\]))*\]))*\]))*\]))*\])?(?=\{)/dgv}]},other_variables:{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.go"},package_name:{patterns:[{begin:/\b(package)\p{space}+/dgv,beginCaptures:{"1":{name:"keyword.package.go"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),patterns:[{match:/\p{Nd}[\p{L}\p{M}\p{N}\p{Pc}]*/dgv,name:"invalid.illegal.identifier.go"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.package.go"}]}]},"parameter-variable-types":{patterns:[{match:/\{/dgv,name:"punctuation.definition.begin.bracket.curly.go"},{match:/\}/dgv,name:"punctuation.definition.end.bracket.curly.go"},{begin:/([\*\.\p{L}\p{M}\p{N}\p{Pc}]+)?(\[)/dgv,beginCaptures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]},"2":{name:"punctuation.definition.begin.bracket.square.go"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.square.go"}},patterns:[{include:"#generic_param_types"}]},{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.begin.bracket.round.go"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.round.go"}},patterns:[{include:"#function_param_types"}]}]},property_variables:{captures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.property.go"}]}},match:/\b([\.\p{L}\p{M}\p{N}\p{Pc}]+:(?!=))/dgv},raw_string_literals:{begin:/`/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.go"}},end:/`/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.go"}},name:"string.quoted.raw.go",patterns:[{include:"#string_placeholder"}]},runes:{patterns:[{begin:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.go"}},end:/'/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.go"}},name:"string.quoted.rune.go",patterns:[{match:/(\\([0-7]{3}|["'\\abfnrtv]|x\p{AHex}{2}|u\p{AHex}{4}|U\p{AHex}{8})|[^\n])(?=')/dgvy,name:"constant.other.rune.go"},{match:/[^']+/dgv,name:"invalid.illegal.unknown-rune.go"}]}]},single_type:{patterns:[{captures:{"1":{name:"keyword.type.go"},"2":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]},"3":{patterns:[{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.begin.bracket.round.go"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.round.go"}},patterns:[{include:"#function_param_types"},{include:"$self"}]},{include:"#type-declarations"},{include:"#generic_types"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/^\p{space}*\b(type)\b\p{space}*([\*\.\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}+(?!(?:=\p{space}*)?(?:[\]\*\[]+)?\b(?:struct|interface)\b)([\p{space}\P{space}]+)/dgv},{begin:/(?:^|\p{space}+)\b(type)\b\p{space}*([\*\.\p{L}\p{M}\p{N}\p{Pc}]+)(?=\[)/dgv,beginCaptures:{"1":{name:"keyword.type.go"},"2":{patterns:[{include:"#type-declarations-without-brackets"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},end:/(?<=\])(\p{space}+(?:=\p{space}*)?(?:(?:(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?(?!(?:[\]\*\[]+)?\b(?:struct|interface|func)\b)[\-\]\*\.\[\p{L}\p{M}\p{N}\p{Pc}]+(?:,\p{space}*[\]\*\.\[\p{L}\p{M}\p{N}\p{Pc}]+)*)?/dgv,endCaptures:{"1":{patterns:[{include:"#type-declarations-without-brackets"},{match:/\[/dgv,name:"punctuation.definition.begin.bracket.square.go"},{match:/\]/dgv,name:"punctuation.definition.end.bracket.square.go"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},patterns:[{include:"#struct_variables_types"},{include:"#type-declarations-without-brackets"},{include:"#parameter-variable-types"},{match:/\[/dgv,name:"punctuation.definition.begin.bracket.square.go"},{match:/\]/dgv,name:"punctuation.definition.end.bracket.square.go"},{match:/\{/dgv,name:"punctuation.definition.begin.bracket.curly.go"},{match:/\}/dgv,name:"punctuation.definition.end.bracket.curly.go"},{match:/\(/dgv,name:"punctuation.definition.begin.bracket.round.go"},{match:/\)/dgv,name:"punctuation.definition.end.bracket.round.go"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}]},slice_index_variables:{captures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.go"}]}},match:/(?<=[\p{L}\p{M}\p{N}\p{Pc}]\[)((?:\b[\-\%\&\*\+\.\/\<\>\|\p{L}\p{M}\p{N}\p{Pc}]+:|:\b[\-\%\&\*\+\.\/\<\>\|\p{L}\p{M}\p{N}\p{Pc}]+)(?:\b[\-\%\&\*\+\.\/\<\>\|\p{L}\p{M}\p{N}\p{Pc}]+)?(?::\b[\-\%\&\*\+\.\/\<\>\|\p{L}\p{M}\p{N}\p{Pc}]+)?)(?=\])/dgv},statements:{patterns:[{include:"#package_name"},{include:"#import"},{include:"#syntax_errors"},{include:"#group-functions"},{include:"#group-types"},{include:"#group-variables"},{include:"#hover"}]},storage_types:{patterns:[{match:/\bbool\b/dgv,name:"storage.type.boolean.go"},{match:/\bbyte\b/dgv,name:"storage.type.byte.go"},{match:/\berror\b/dgv,name:"storage.type.error.go"},{match:/\b(complex(64|128)|float(32|64)|u?int(8|16|32|64)?)\b/dgv,name:"storage.type.numeric.go"},{match:/\brune\b/dgv,name:"storage.type.rune.go"},{match:/\bstring\b/dgv,name:"storage.type.string.go"},{match:/\buintptr\b/dgv,name:"storage.type.uintptr.go"},{match:/\bany\b/dgv,name:"entity.name.type.any.go"},{match:/\bcomparable\b/dgv,name:"entity.name.type.comparable.go"}]},string_escaped_char:{patterns:[{match:/\\([0-7]{3}|["'\\abfnrtv]|x\p{AHex}{2}|u\p{AHex}{4}|U\p{AHex}{8})/dgv,name:"constant.character.escape.go"},{match:/\\[^"'0-7Uabfnrtuvx]/dgv,name:"invalid.illegal.unknown-escape.go"}]},string_literals:{patterns:[{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.go"}},end:/"/dgv,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:/%(\[\p{Nd}+\])?([\- \#\+0]{0,2}((\p{Nd}+|\*)?(\.?(\p{Nd}+|\*|(\[\p{Nd}+\])\*?)?(\[\p{Nd}+\])?)?))?[\%EFGTUXb-gopqstvwx]/dgv,name:"constant.other.placeholder.go"}]},struct_interface_declaration:{captures:{"1":{name:"keyword.type.go"},"2":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/^\p{space}*\b(type)\b\p{space}*([\.\p{L}\p{M}\p{N}\p{Pc}]+)/dgv},struct_variable_types_fields_multi:{patterns:[{begin:/\b([\p{L}\p{M}\p{N}\p{Pc}]+(?:,\p{space}*\b[\p{L}\p{M}\p{N}\p{Pc}]+)*(?:(?:\p{space}*(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?\p{space}*(?:[\]\*\[]+)?)\b(struct)\b\p{space}*(\{)/dgv,beginCaptures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.property.go"}]},"2":{name:"keyword.struct.go"},"3":{name:"punctuation.definition.begin.bracket.curly.go"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.curly.go"}},patterns:[{include:"#struct_variables_types_fields"},{include:"$self"}]},{begin:/\b([\p{L}\p{M}\p{N}\p{Pc}]+(?:,\p{space}*\b[\p{L}\p{M}\p{N}\p{Pc}]+)*(?:(?:\p{space}*(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?\p{space}*(?:[\]\*\[]+)?)\b(interface)\b\p{space}*(\{)/dgv,beginCaptures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.property.go"}]},"2":{name:"keyword.interface.go"},"3":{name:"punctuation.definition.begin.bracket.curly.go"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.curly.go"}},patterns:[{include:"#interface_variables_types_field"},{include:"$self"}]},{begin:/\b([\p{L}\p{M}\p{N}\p{Pc}]+(?:,\p{space}*\b[\p{L}\p{M}\p{N}\p{Pc}]+)*(?:(?:\p{space}*(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?\p{space}*(?:[\]\*\[]+)?)\b(func)\b\p{space}*(\()/dgv,beginCaptures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.property.go"}]},"2":{name:"keyword.function.go"},"3":{name:"punctuation.definition.begin.bracket.round.go"}},end:/\)/dgv,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\p{space}*(\{)/dgv,beginCaptures:{"1":{name:"keyword.struct.go"},"2":{name:"punctuation.definition.begin.bracket.curly.go"}},end:/\}/dgv,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:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/(?<=\{)\p{space}*((?:(?:\p{space}*(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?[\]\*\.\[\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}*(?=\})/dgv},{captures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.property.go"}]},"2":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/(?<=\{)\p{space}*((?:(?:[\p{L}\p{M}\p{N}\p{Pc}]+,\p{space}*)+)?[\p{L}\p{M}\p{N}\p{Pc}]+\p{space}+)((?:(?:\p{space}*(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?[\]\*\.\[\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}*(?=\})/dgv},{captures:{"1":{patterns:[{captures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.property.go"}]},"2":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/((?:(?:[\p{L}\p{M}\p{N}\p{Pc}]+,\p{space}*)+)?[\p{L}\p{M}\p{N}\p{Pc}]+\p{space}+)?((?:(?:\p{space}*(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?[^\/\p{space}]+;?)/dgv}]}},match:/(?<=\{)((?:\p{space}*(?:(?:(?:[\p{L}\p{M}\p{N}\p{Pc}]+,\p{space}*)+)?[\p{L}\p{M}\p{N}\p{Pc}]+\p{space}+)?(?:(?:\p{space}*(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?[^\/\p{space}]+;?)+)\p{space}*(?=\})/dgv},{captures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/((?:(?:\p{space}*(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?[\*\.\p{L}\p{M}\p{N}\p{Pc}]+\p{space}*)(?:(?=["\/\`])|(?=\n?$))/dgv},{captures:{"1":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.property.go"}]},"2":{patterns:[{include:"#type-declarations-without-brackets"},{include:"#parameter-variable-types"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/\b([\p{L}\p{M}\p{N}\p{Pc}]+(?:\p{space}*,\p{space}*\b[\p{L}\p{M}\p{N}\p{Pc}]+)*)\p{space}*([^"\/\`]+)/dgv}]},support_functions:{captures:{"1":{name:"entity.name.function.support.go"},"2":{patterns:[{include:"#type-declarations"},{match:/\p{Nd}[\p{L}\p{M}\p{N}\p{Pc}]*/dgv,name:"invalid.illegal.identifier.go"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.function.support.go"}]},"3":{patterns:[{include:"#type-declarations-without-brackets"},{match:/\[/dgv,name:"punctuation.definition.begin.bracket.square.go"},{match:/\]/dgv,name:"punctuation.definition.end.bracket.square.go"},{match:/\{/dgv,name:"punctuation.definition.begin.bracket.curly.go"},{match:/\}/dgv,name:"punctuation.definition.end.bracket.curly.go"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/(?:((?<=\.)\b[\p{L}\p{M}\p{N}\p{Pc}]+)|\b([\p{L}\p{M}\p{N}\p{Pc}]+))(?<brackets>\[(?:[^\]\[]|(?:\[(?:[^\]\[]|(?:\[(?:[^\]\[]|(?:\[(?:[^\]\[]|(?:\[(?:[^\]\[]|(?:))*\]))*\]))*\]))*\]))*\])?(?=\()/dgv},switch_types:{begin:/(?<=\bswitch\b)\p{space}*([\p{L}\p{M}\p{N}\p{Pc}]+\p{space}*:=)?\p{space}*([\-\]\%\&\(-\+\.\/\<\>\[\|\p{L}\p{M}\p{N}\p{Pc}]+)(\.\(\btype\b\)\p{space}*)(\{)/dgv,beginCaptures:{"1":{patterns:[{include:"#operators"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.assignment.go"}]},"2":{patterns:[{include:"#support_functions"},{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.go"}]},"3":{patterns:[{include:"#delimiters"},{include:"#brackets"},{match:/\btype\b/dgv,name:"keyword.type.go"}]},"4":{name:"punctuation.definition.begin.bracket.curly.go"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.curly.go"}},patterns:[{captures:{"1":{name:"keyword.control.go"},"2":{patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]},"3":{name:"punctuation.other.colon.go"},"4":{patterns:[{include:"#comments"}]}},match:/^\p{space}*\b(case)\b\p{space}+([\!\*\,\.\<\=\>\p{L}\p{M}\p{N}\p{Pc}\p{space}]+)(:)(\p{space}*\/[\*\/]\p{space}*[^\n]*)?(?=\n?$)/dgv},{begin:/\bcase\b/dgv,beginCaptures:{"0":{name:"keyword.control.go"}},end:/:/dgv,endCaptures:{"0":{name:"punctuation.other.colon.go"}},patterns:[{include:"#type-declarations"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]},{include:"$self"}]},switch_variables:{patterns:[{captures:{"1":{name:"keyword.control.go"},"2":{patterns:[{include:"#type-declarations"},{include:"#support_functions"},{include:"#variable_assignment"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.go"}]}},match:/^\p{space}*\b(case)\b\p{space}+([\p{space}\P{space}]+:\p{space}*(?:\/[\*\/][^\n]*)?)(?=\n?$)/dgv},{begin:/(?<=\bswitch\b)\p{space}*((?:[\.\p{L}\p{M}\p{N}\p{Pc}]+(?:\p{space}*[\-\!\%\&\+\,\/\:\<\=\>\|]+\p{space}*[\.\p{L}\p{M}\p{N}\p{Pc}]+)*\p{space}*[\-\!\%\&\+\,\/\:\<\=\>\|]+)?\p{space}*(?:[\-\]\%\&\(-\+\.\/\<\>\[\|\p{L}\p{M}\p{N}\p{Pc}]+)?\p{space}*(?:;\p{space}*[\-\]\%\&\(-\+\.\/\<\>\[\|\p{L}\p{M}\p{N}\p{Pc}]+\p{space}*)?)(\{)/dgv,beginCaptures:{"1":{patterns:[{include:"#support_functions"},{include:"#type-declarations"},{include:"#variable_assignment"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.go"}]},"2":{name:"punctuation.definition.begin.bracket.curly.go"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.curly.go"}},patterns:[{begin:/\bcase\b/dgv,beginCaptures:{"0":{name:"keyword.control.go"}},end:/:/dgv,endCaptures:{"0":{name:"punctuation.other.colon.go"}},patterns:[{include:"#support_functions"},{include:"#type-declarations"},{include:"#variable_assignment"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.go"}]},{include:"$self"}]}]},syntax_errors:{patterns:[{captures:{"1":{name:"invalid.illegal.slice.go"}},match:/\[\](\p{space}+)/dgv},{match:/\b0[0-7]*[89]\p{Nd}*\b/dgv,name:"invalid.illegal.numeric.go"}]},terminators:{match:/;/dgv,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-without-brackets"},{match:/\(/dgv,name:"punctuation.definition.begin.bracket.round.go"},{match:/\)/dgv,name:"punctuation.definition.end.bracket.round.go"},{match:/\[/dgv,name:"punctuation.definition.begin.bracket.square.go"},{match:/\]/dgv,name:"punctuation.definition.end.bracket.square.go"},{match:/\{/dgv,name:"punctuation.definition.begin.bracket.curly.go"},{match:/\}/dgv,name:"punctuation.definition.end.bracket.curly.go"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/(?<=\.\()(?:\b(type)\b|((?:(?:\p{space}*(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+)?(?:[\]\*\[]+)?[\.\p{L}\p{M}\p{N}\p{Pc}]+(?:\[(?:[\]\*\.\[\{\}\p{L}\p{M}\p{N}\p{Pc}]+(?:,\p{space}*[\]\*\.\[\{\}\p{L}\p{M}\p{N}\p{Pc}]+)*)?\])?))(?=\))/dgv},var_assignment:{patterns:[{captures:{"1":{patterns:[{include:"#delimiters"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.assignment.go"}]},"2":{patterns:[{include:"#type-declarations-without-brackets"},{include:"#generic_types"},{match:/\(/dgv,name:"punctuation.definition.begin.bracket.round.go"},{match:/\)/dgv,name:"punctuation.definition.end.bracket.round.go"},{match:/\[/dgv,name:"punctuation.definition.begin.bracket.square.go"},{match:/\]/dgv,name:"punctuation.definition.end.bracket.square.go"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/(?<=\bvar\b)\p{space}*\b([\.\p{L}\p{M}\p{N}\p{Pc}]+(?:,\p{space}*[\.\p{L}\p{M}\p{N}\p{Pc}]+)*)\p{space}*((?:(?:(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+(?:\([^\)]+\))?)?(?!(?:[\]\*\[]+)?\b(?:struct|func|map)\b)(?:[\]\*\.\[\p{L}\p{M}\p{N}\p{Pc}]+(?:,\p{space}*[\]\*\.\[\p{L}\p{M}\p{N}\p{Pc}]+)*)?\p{space}*=?)?/dgv},{begin:/(?<=\bvar\b)\p{space}*(\()/dgv,beginCaptures:{"1":{name:"punctuation.definition.begin.bracket.round.go"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.end.bracket.round.go"}},patterns:[{captures:{"1":{patterns:[{include:"#delimiters"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.assignment.go"}]},"2":{patterns:[{include:"#type-declarations-without-brackets"},{include:"#generic_types"},{match:/\(/dgv,name:"punctuation.definition.begin.bracket.round.go"},{match:/\)/dgv,name:"punctuation.definition.end.bracket.round.go"},{match:/\[/dgv,name:"punctuation.definition.begin.bracket.square.go"},{match:/\]/dgv,name:"punctuation.definition.end.bracket.square.go"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"entity.name.type.go"}]}},match:/^\p{space}*\b([\.\p{L}\p{M}\p{N}\p{Pc}]+(?:,\p{space}*[\.\p{L}\p{M}\p{N}\p{Pc}]+)*)\p{space}*((?:(?:(?:[\]\*\[]+)?(?:<-\p{space}*)?\bchan\b(?:\p{space}*<-)?\p{space}*)+(?:\([^\)]+\))?)?(?!(?:[\]\*\[]+)?\b(?:struct|func|map)\b)(?:[\]\*\.\[\p{L}\p{M}\p{N}\p{Pc}]+(?:,\p{space}*[\]\*\.\[\p{L}\p{M}\p{N}\p{Pc}]+)*)?\p{space}*=?)?/dgv},{include:"$self"}]}]},variable_assignment:{patterns:[{captures:{"0":{patterns:[{include:"#delimiters"},{match:/\p{Nd}[\p{L}\p{M}\p{N}\p{Pc}]*/dgv,name:"invalid.illegal.identifier.go"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.assignment.go"}]}},match:/\b[\p{L}\p{M}\p{N}\p{Pc}]+(?:,\p{space}*[\p{L}\p{M}\p{N}\p{Pc}]+)*(?=\p{space}*:=)/dgv},{captures:{"0":{patterns:[{include:"#delimiters"},{include:"#operators"},{match:/\p{Nd}[\p{L}\p{M}\p{N}\p{Pc}]*/dgv,name:"invalid.illegal.identifier.go"},{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.other.assignment.go"}]}},match:/\b[\*\.\p{L}\p{M}\p{N}\p{Pc}]+(?:,\p{space}*[\*\.\p{L}\p{M}\p{N}\p{Pc}]+)*(?=\p{space}*=(?!=))/dgv}]}},scopeName:"source.go",embeddedLangs:undefined,aliases:undefined})
4
4
 
5
5
  export default [
6
6
  lang
package/dist/haxe.mjs CHANGED
@@ -1,4 +1,4 @@
1
- const lang = Object.freeze({displayName:"Haxe",fileTypes:["hx","dump"],name:"haxe",patterns:[{include:"#all"}],repository:{abstract:{begin:/(?=abstract\p{space}+[A-Z])/dgv,end:/(?<=\})|(;)/dgv,endCaptures:{"1":{name:"punctuation.terminator.hx"}},name:"meta.abstract.hx",patterns:[{include:"#abstract-name"},{include:"#abstract-name-post"},{include:"#abstract-block"}]},"abstract-block":{begin:/(?<=\{)/dgv,end:/(\})/dgv,endCaptures:{"1":{name:"punctuation.definition.block.end.hx"}},name:"meta.block.hx",patterns:[{include:"#method"},{include:"#modifiers"},{include:"#variable"},{include:"#block"},{include:"#block-contents"}]},"abstract-name":{begin:/\b(abstract)\b/dgv,beginCaptures:{"1":{name:"storage.type.class.hx"}},end:/([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)/dgv,endCaptures:{"1":{name:"entity.name.type.class.hx"}},patterns:[{include:"#global"}]},"abstract-name-post":{begin:/(?<=[\p{L}\p{M}\p{N}\p{Pc}])/dgv,end:/([\;\{])/dgv,endCaptures:{"1":{name:"punctuation.definition.block.begin.hx"}},patterns:[{include:"#global"},{match:/\b(from|to)\b/dgv,name:"keyword.other.hx"},{include:"#type"},{match:/[\(\)]/dgv,name:"punctuation.definition.other.hx"}]},"accessor-method":{patterns:[{match:/\b([gs]et)_[A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*\b/dgv,name:"entity.name.function.hx"}]},all:{patterns:[{include:"#global"},{include:"#package"},{include:"#import"},{include:"#using"},{match:/\b(final)\b(?=\p{space}+(class|interface|extern|private)\b)/dgv,name:"storage.modifier.hx"},{include:"#abstract"},{include:"#class"},{include:"#enum"},{include:"#interface"},{include:"#typedef"},{include:"#block"},{include:"#block-contents"}]},array:{begin:/\[/dgv,beginCaptures:{"0":{name:"punctuation.definition.array.begin.hx"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.definition.array.end.hx"}},name:"meta.array.literal.hx",patterns:[{include:"#block"},{include:"#block-contents"}]},"arrow-function":{begin:/(\()(?=[^\(]*?\)\p{space}*->)/dgv,beginCaptures:{"1":{name:"punctuation.definition.parameters.begin.hx"}},end:/(\))\p{space}*(->)/dgv,endCaptures:{"1":{name:"punctuation.definition.parameters.end.hx"},"2":{name:"storage.type.function.arrow.hx"}},name:"meta.method.arrow.hx",patterns:[{include:"#arrow-function-parameter"}]},"arrow-function-parameter":{begin:/(?<=[\(\,])/dgv,end:/(?=[\)\,])/dgv,patterns:[{include:"#parameter-name"},{include:"#arrow-function-parameter-type-hint"},{include:"#parameter-assign"},{include:"#punctuation-comma"},{include:"#global"}]},"arrow-function-parameter-type-hint":{begin:/:/dgv,beginCaptures:{"0":{name:"keyword.operator.type.annotation.hx"}},end:/(?=[\)\,\=])/dgv,patterns:[{include:"#type"}]},block:{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.block.begin.hx"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.block.end.hx"}},patterns:[{include:"#block"},{include:"#block-contents"}]},"block-contents":{patterns:[{include:"#global"},{include:"#regex"},{include:"#array"},{include:"#constants"},{include:"#strings"},{include:"#metadata"},{include:"#method"},{include:"#variable"},{include:"#modifiers"},{include:"#new-expr"},{include:"#for-loop"},{include:"#keywords"},{include:"#arrow-function"},{include:"#method-call"},{include:"#enum-constructor-call"},{include:"#punctuation-braces"},{include:"#macro-reification"},{include:"#operators"},{include:"#operator-assignment"},{include:"#punctuation-terminator"},{include:"#punctuation-comma"},{include:"#punctuation-accessor"},{include:"#identifiers"}]},class:{begin:/(?=class)/dgv,end:/(?<=\})|(;)/dgv,endCaptures:{"1":{name:"punctuation.terminator.hx"}},name:"meta.class.hx",patterns:[{include:"#class-name"},{include:"#class-name-post"},{include:"#class-block"}]},"class-block":{begin:/(?<=\{)/dgv,end:/(\})/dgv,endCaptures:{"1":{name:"punctuation.definition.block.end.hx"}},name:"meta.block.hx",patterns:[{include:"#method"},{include:"#modifiers"},{include:"#variable"},{include:"#block"},{include:"#block-contents"}]},"class-name":{begin:/\b(class)\b/dgv,beginCaptures:{"1":{name:"storage.type.class.hx"}},end:/([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)/dgv,endCaptures:{"1":{name:"entity.name.type.class.hx"}},name:"meta.class.identifier.hx",patterns:[{include:"#global"}]},"class-name-post":{begin:/(?<=[\p{L}\p{M}\p{N}\p{Pc}])/dgv,end:/([\;\{])/dgv,endCaptures:{"1":{name:"punctuation.definition.block.begin.hx"}},patterns:[{include:"#modifiers-inheritance"},{include:"#type"}]},comments:{patterns:[{begin:/\/\*\*(?!\/)/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.hx"}},end:/\*\//dgv,endCaptures:{"0":{name:"punctuation.definition.comment.hx"}},name:"comment.block.documentation.hx",patterns:[{include:"#javadoc-tags"}]},{begin:/\/\*/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.hx"}},end:/\*\//dgv,endCaptures:{"0":{name:"punctuation.definition.comment.hx"}},name:"comment.block.hx",patterns:[{include:"#javadoc-tags"}]},{captures:{"1":{name:"punctuation.definition.comment.hx"}},match:/(\/\/)[^\n]*(?=\n?$)\n?/dgv,name:"comment.line.double-slash.hx"}]},"conditional-compilation":{patterns:[{captures:{"0":{name:"punctuation.definition.tag"}},match:/((#(if|elseif))[\!\p{space}]+([A-Z_a-z][0-9A-Z_a-z]*(\.[A-Z_a-z][0-9A-Z_a-z]*)*)(?=\p{space}|\/\*|\/\/))/dgv},{begin:/((#(if|elseif))[\!\p{space}]*)(?=\()/dgv,beginCaptures:{"0":{name:"punctuation.definition.tag"}},end:/(?<=[\n\)])/dgv,endCaptures:{"0":{name:"punctuation.definition.tag"}},name:"punctuation.definition.tag",patterns:[{include:"#conditional-compilation-parens"}]},{match:/(#(end|else|error|line))/dgv,name:"punctuation.definition.tag"},{match:/(#([0-9A-Z_a-z]*))\p{space}/dgv,name:"punctuation.definition.tag"}]},"conditional-compilation-parens":{begin:/\(/dgv,end:/\)/dgv,patterns:[{include:"#conditional-compilation-parens"}]},"constant-name":{match:/\b([A-Z_][0-9A-Z_]*)\b/dgv,name:"variable.other.hx"},constants:{patterns:[{match:/\b(true|false|null)\b/dgv,name:"constant.language.hx"},{captures:{"0":{name:"constant.numeric.hex.hx"},"1":{name:"constant.numeric.suffix.hx"}},match:/\b0[Xx]\p{AHex}[_\p{AHex}]*([iu][0-9][0-9_]*)?\b/dgv},{captures:{"0":{name:"constant.numeric.bin.hx"},"1":{name:"constant.numeric.suffix.hx"}},match:/\b0[Bb][01][01_]*([iu][0-9][0-9_]*)?\b/dgv},{captures:{"0":{name:"constant.numeric.decimal.hx"},"1":{name:"meta.delimiter.decimal.period.hx"},"2":{name:"constant.numeric.suffix.hx"},"3":{name:"meta.delimiter.decimal.period.hx"},"4":{name:"constant.numeric.suffix.hx"},"5":{name:"meta.delimiter.decimal.period.hx"},"6":{name:"constant.numeric.suffix.hx"},"7":{name:"constant.numeric.suffix.hx"},"8":{name:"meta.delimiter.decimal.period.hx"},"9":{name:"constant.numeric.suffix.hx"},"10":{name:"meta.delimiter.decimal.period.hx"},"11":{name:"constant.numeric.suffix.hx"},"12":{name:"meta.delimiter.decimal.period.hx"},"13":{name:"constant.numeric.suffix.hx"},"14":{name:"constant.numeric.suffix.hx"}},match:/(?<!\$)(?:\b[0-9][0-9_]*(\.)[0-9_]+[Ee][\-\+]?[0-9_]+([fiu][0-9][0-9_]*)?\b|\b[0-9][0-9_]*(\.)[Ee][\-\+]?[0-9_]+([fiu][0-9][0-9_]*)?\b|\B(\.)[0-9][0-9_]*[Ee][\-\+]?[0-9_]+([fiu][0-9][0-9_]*)?\b|\b[0-9][0-9_]*[Ee][\-\+]?[0-9][0-9_]*([fiu][0-9][0-9_]*)?\b|\b[0-9][0-9_]*(\.)[0-9_]+([fiu][0-9][0-9_]*)?\b|\b[0-9][0-9_]*(\.)(?!\.)(?:\B|([fiu][0-9][0-9_]*)\b)|\B(\.)[0-9][0-9_]*([fiu][0-9][0-9_]*)?\b|\b[0-9][0-9_]*([fiu][0-9][0-9_]*)?\b)(?!\$)/dgv}]},enum:{begin:/(?=enum\p{space}+[A-Z])/dgv,end:/(?<=\})|(;)/dgv,endCaptures:{"1":{name:"punctuation.terminator.hx"}},name:"meta.enum.hx",patterns:[{include:"#enum-name"},{include:"#enum-name-post"},{include:"#enum-block"}]},"enum-block":{begin:/(?<=\{)/dgv,end:/(\})/dgv,endCaptures:{"1":{name:"punctuation.definition.block.end.hx"}},name:"meta.block.hx",patterns:[{include:"#global"},{include:"#metadata"},{include:"#parameters"},{include:"#identifiers"}]},"enum-constructor-call":{begin:/\b(?<!\.)((_*[a-z][\p{L}\p{M}\p{N}\p{Pc}]*\.)*)(_*[A-Z][\p{L}\p{M}\p{N}\p{Pc}]*)(?:(\.)(_*[A-Z][\p{L}\p{M}\p{N}\p{Pc}]*[a-z][\p{L}\p{M}\p{N}\p{Pc}]*))*\p{space}*(\()/dgv,beginCaptures:{"1":{name:"support.package.hx"},"3":{name:"entity.name.type.hx"},"4":{name:"support.package.hx"},"5":{name:"entity.name.type.hx"},"6":{name:"meta.brace.round.hx"}},end:/(\))/dgv,endCaptures:{"1":{name:"meta.brace.round.hx"}},patterns:[{include:"#block"},{include:"#block-contents"}]},"enum-name":{begin:/\b(enum)\b/dgv,beginCaptures:{"1":{name:"storage.type.class.hx"}},end:/([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)/dgv,endCaptures:{"1":{name:"entity.name.type.class.hx"}},patterns:[{include:"#global"}]},"enum-name-post":{begin:/(?<=[\p{L}\p{M}\p{N}\p{Pc}])/dgv,end:/([\;\{])/dgv,endCaptures:{"1":{name:"punctuation.definition.block.begin.hx"}},patterns:[{include:"#type"}]},"for-loop":{begin:/\b(for)\b\p{space}*(\()/dgv,beginCaptures:{"1":{name:"keyword.control.flow-control.hx"},"2":{name:"meta.brace.round.hx"}},end:/(\))/dgv,endCaptures:{"1":{name:"meta.brace.round.hx"}},patterns:[{match:/\b(in)\b/dgv,name:"keyword.other.in.hx"},{include:"#block"},{include:"#block-contents"}]},"function-type":{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.parameters.begin.hx"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.parameters.end.hx"}},patterns:[{include:"#function-type-parameter"}]},"function-type-parameter":{begin:/(?<=[\(\,])/dgv,end:/(?=[\)\,])/dgv,patterns:[{include:"#global"},{include:"#metadata"},{include:"#operator-optional"},{include:"#punctuation-comma"},{include:"#function-type-parameter-name"},{include:"#function-type-parameter-type-hint"},{include:"#parameter-assign"},{include:"#type"},{include:"#global"}]},"function-type-parameter-name":{captures:{"1":{name:"variable.parameter.hx"}},match:/([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)(?=\p{space}*:)/dgv},"function-type-parameter-type-hint":{begin:/:/dgv,beginCaptures:{"0":{name:"keyword.operator.type.annotation.hx"}},end:/(?=[\)\,\=])/dgv,patterns:[{include:"#type"}]},global:{patterns:[{include:"#comments"},{include:"#conditional-compilation"}]},"identifier-name":{match:/\b([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)\b/dgv,name:"variable.other.hx"},identifiers:{patterns:[{include:"#constant-name"},{include:"#type-name"},{include:"#identifier-name"}]},import:{begin:/import\b/dgv,beginCaptures:{"0":{name:"keyword.control.import.hx"}},end:/(?=\n?$)|(;)/dgv,endCaptures:{"1":{name:"punctuation.terminator.hx"}},patterns:[{include:"#type-path"},{match:/\b(as)\b/dgv,name:"keyword.control.as.hx"},{match:/\b(in)\b/dgv,name:"keyword.control.in.hx"},{match:/\*/dgv,name:"constant.language.import-all.hx"},{match:/\b([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)\b(?=\p{space}*(as|in|(?=\n?$)|(;)))/dgv,name:"variable.other.hxt"},{include:"#type-path-package-name"}]},interface:{begin:/(?=interface)/dgv,end:/(?<=\})|(;)/dgv,endCaptures:{"1":{name:"punctuation.terminator.hx"}},name:"meta.interface.hx",patterns:[{include:"#interface-name"},{include:"#interface-name-post"},{include:"#interface-block"}]},"interface-block":{begin:/(?<=\{)/dgv,end:/(\})/dgv,endCaptures:{"1":{name:"punctuation.definition.block.end.hx"}},name:"meta.block.hx",patterns:[{include:"#method"},{include:"#variable"},{include:"#block"},{include:"#block-contents"}]},"interface-name":{begin:/\b(interface)\b/dgv,beginCaptures:{"1":{name:"storage.type.class.hx"}},end:/([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)/dgv,endCaptures:{"1":{name:"entity.name.type.class.hx"}},patterns:[{include:"#global"}]},"interface-name-post":{begin:/(?<=[\p{L}\p{M}\p{N}\p{Pc}])/dgv,end:/([\;\{])/dgv,endCaptures:{"1":{name:"punctuation.definition.block.begin.hx"}},patterns:[{include:"#global"},{include:"#modifiers-inheritance"},{include:"#type"}]},"javadoc-tags":{patterns:[{captures:{"1":{name:"storage.type.class.javadoc"},"2":{name:"variable.other.javadoc"}},match:/(@(?:param|exception|throws|event))\p{space}+([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}+/dgv},{captures:{"1":{name:"storage.type.class.javadoc"},"2":{name:"constant.numeric.javadoc"}},match:/(@since)\p{space}+([\-\.\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}+/dgv},{captures:{"0":{name:"storage.type.class.javadoc"}},match:/@(param|exception|throws|deprecated|returns?|since|default|see|event)/dgv}]},keywords:{patterns:[{begin:/(?<=trace|(?=\n?$)type|if|while|for|super)\p{space}*(\()/dgv,beginCaptures:{"2":{name:"meta.brace.round.hx"}},end:/\)/dgv,endCaptures:{"0":{name:"meta.brace.round.hx"}},patterns:[{include:"#block-contents"}]},{begin:/(?<=catch)\p{space}*(\()/dgv,beginCaptures:{"2":{name:"meta.brace.round.hx"}},end:/\)/dgv,endCaptures:{"0":{name:"meta.brace.round.hx"}},patterns:[{include:"#block-contents"},{include:"#type-check"}]},{begin:/(?<=cast)\p{space}*(\()/dgv,beginCaptures:{"2":{name:"meta.brace.round.hx"}},end:/\)/dgv,endCaptures:{"0":{name:"meta.brace.round.hx"}},patterns:[{begin:/(?=,)/dgv,end:/(?=\))/dgv,patterns:[{include:"#type"}]},{include:"#block-contents"}]},{match:/\b(try|catch|throw)\b/dgv,name:"keyword.control.catch-exception.hx"},{begin:/\b(case|default)\b/dgv,beginCaptures:{"1":{name:"keyword.control.flow-control.hx"}},end:/:|(?=if)|(?=\n?$)/dgv,patterns:[{include:"#global"},{include:"#metadata"},{captures:{"1":{name:"storage.type.variable.hx"},"2":{name:"variable.other.hx"}},match:/\b(var|final)\b\p{space}*([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)\b/dgv},{include:"#array"},{include:"#constants"},{include:"#strings"},{match:/\(/dgv,name:"meta.brace.round.hx"},{match:/\)/dgv,name:"meta.brace.round.hx"},{include:"#macro-reification"},{match:/=>/dgv,name:"keyword.operator.extractor.hx"},{include:"#operator-assignment"},{include:"#punctuation-comma"},{include:"#keywords"},{include:"#method-call"},{include:"#identifiers"}]},{match:/\b(if|else|return|do|while|for|break|continue|switch|case|default)\b/dgv,name:"keyword.control.flow-control.hx"},{match:/\b(cast|untyped)\b/dgv,name:"keyword.other.untyped.hx"},{match:/\btrace\b/dgv,name:"keyword.other.trace.hx"},{match:/\$type\b/dgv,name:"keyword.other.type.hx"},{match:/__(global|this)__\b/dgv,name:"keyword.other.untyped-property.hx"},{match:/\b(this|super)\b/dgv,name:"variable.language.hx"},{match:/\bnew\b/dgv,name:"keyword.operator.new.hx"},{match:/\b(abstract|class|enum|interface|typedef)\b/dgv,name:"storage.type.hx"},{match:/->/dgv,name:"storage.type.function.arrow.hx"},{include:"#modifiers"},{include:"#modifiers-inheritance"}]},"keywords-accessor":{match:/\b(default|get|set|dynamic|never|null)\b/dgv,name:"storage.type.property.hx"},"macro-reification":{patterns:[{captures:{"1":{name:"punctuation.definition.reification.hx"},"2":{name:"keyword.reification.hx"}},match:/(\$)([abeipv])\{/dgv},{captures:{"2":{name:"punctuation.definition.reification.hx"},"3":{name:"variable.reification.hx"}},match:/((\$)([A-Za-z]*))/dgv}]},metadata:{patterns:[{begin:/(@)(:(abi|abstract|access|allow|analyzer|annotation|arrayAccess|astSource|autoBuild|bind|bitmap|bridgeProperties|build|buildXml|bypassAccessor|callable|classCode|commutative|compilerGenerated|const|coreApi|coreType|cppFileCode|cppInclude|cppNamespaceCode|cs[^\n]assemblyMeta|cs[^\n]assemblyStrict|cs[^\n]using|dce|debug|decl|delegate|depend|deprecated|eager|enum|event|expose|extern|file|fileXml|final|fixed|flash[^\n]property|font|forward[^\n]new|forward[^\n]variance|forward|forwardStatics|from|functionCode|functionTailCode|generic|genericBuild|genericClassPerMethod|getter|hack|headerClassCode|headerCode|headerInclude|headerNamespaceCode|hlNative|hxGen|ifFeature|include|inheritDoc|inline|internal|isVar|java[^\n]native|javaCanonical|jsRequire|jvm[^\n]synthetic|keep|keepInit|keepSub|luaDotMethod|luaRequire|macro|markup|mergeBlock|multiReturn|multiType|native|nativeChildren|nativeGen|nativeProperty|nativeStaticExtension|noClosure|noCompletion|noDebug|noDoc|noImportGlobal|noPrivateAccess|noStack|noUsing|nonVirtual|notNull|nullSafety|objc|objcProtocol|op|optional|overload|persistent|phpClassConst|phpGlobal|phpMagic|phpNoConstructor|pos|private|privateAccess|property|protected|publicFields|pure|pythonImport|readOnly|remove|require|resolve|rtti|runtimeValue|scalar|selfCall|semantics|setter|sound|sourceFile|stackOnly|strict|struct|structAccess|structInit|suppressWarnings|templatedCall|throws|to|transient|transitive|unifyMinDynamic|unreflective|unsafe|using|void|volatile))\b\p{space}*(\()/dgv,beginCaptures:{"1":{name:"punctuation.metadata.hx"},"2":{name:"storage.modifier.metadata.hx"},"3":{name:"meta.brace.round.hx"}},end:/\)/dgv,endCaptures:{"0":{name:"meta.brace.round.hx"}},patterns:[{include:"#block-contents"}]},{captures:{"2":{name:"punctuation.metadata.hx"},"3":{name:"storage.modifier.metadata.hx"}},match:/((@)(:(abi|abstract|access|allow|analyzer|annotation|arrayAccess|astSource|autoBuild|bind|bitmap|bridgeProperties|build|buildXml|bypassAccessor|callable|classCode|commutative|compilerGenerated|const|coreApi|coreType|cppFileCode|cppInclude|cppNamespaceCode|cs[^\n]assemblyMeta|cs[^\n]assemblyStrict|cs[^\n]using|dce|debug|decl|delegate|depend|deprecated|eager|enum|event|expose|extern|file|fileXml|final|fixed|flash[^\n]property|font|forward[^\n]new|forward[^\n]variance|forward|forwardStatics|from|functionCode|functionTailCode|generic|genericBuild|genericClassPerMethod|getter|hack|headerClassCode|headerCode|headerInclude|headerNamespaceCode|hlNative|hxGen|ifFeature|include|inheritDoc|inline|internal|isVar|java[^\n]native|javaCanonical|jsRequire|jvm[^\n]synthetic|keep|keepInit|keepSub|luaDotMethod|luaRequire|macro|markup|mergeBlock|multiReturn|multiType|native|nativeChildren|nativeGen|nativeProperty|nativeStaticExtension|noClosure|noCompletion|noDebug|noDoc|noImportGlobal|noPrivateAccess|noStack|noUsing|nonVirtual|notNull|nullSafety|objc|objcProtocol|op|optional|overload|persistent|phpClassConst|phpGlobal|phpMagic|phpNoConstructor|pos|private|privateAccess|property|protected|publicFields|pure|pythonImport|readOnly|remove|require|resolve|rtti|runtimeValue|scalar|selfCall|semantics|setter|sound|sourceFile|stackOnly|strict|struct|structAccess|structInit|suppressWarnings|templatedCall|throws|to|transient|transitive|unifyMinDynamic|unreflective|unsafe|using|void|volatile)))\b/dgv},{begin:/(@)(:?[A-Z_a-z]*)\p{space}*(\()/dgv,beginCaptures:{"1":{name:"punctuation.metadata.hx"},"2":{name:"variable.metadata.hx"},"3":{name:"meta.brace.round.hx"}},end:/\)/dgv,endCaptures:{"0":{name:"meta.brace.round.hx"}},patterns:[{include:"#block-contents"}]},{captures:{"1":{name:"punctuation.metadata.hx"},"2":{name:"variable.metadata.hx"},"3":{name:"variable.metadata.hx"},"4":{name:"punctuation.accessor.hx"},"5":{name:"variable.metadata.hx"}},match:/(@)(:?)([A-Z_a-z]*(\.))*([A-Z_a-z]*)?/dgv}]},method:{begin:/(?=\bfunction\b)/dgv,end:/(?<=[\;\}])/dgv,name:"meta.method.hx",patterns:[{include:"#macro-reification"},{include:"#method-name"},{include:"#method-name-post"},{include:"#method-block"}]},"method-block":{begin:/(?<=\{)/dgv,beginCaptures:{"1":{name:"punctuation.definition.block.begin.hx"}},end:/(\})/dgv,endCaptures:{"1":{name:"punctuation.definition.block.end.hx"}},name:"meta.method.block.hx",patterns:[{include:"#block"},{include:"#block-contents"}]},"method-call":{begin:/\b(?:(__(?:addressOf|as|call|checked|cpp|cs|define_feature|delete|feature|field|fixed|foreach|forin|has_next|hkeys|int??|is|java|js|keys|lock|lua|lua_table|new|php|physeq|prefix|ptr|resources|rethrow|set|setfield|sizeof|type|typeof|unprotect|unsafe|valueOf|var|vector|vmem_get|vmem_set|vmem_sign|instanceof|strict_eq|strict_neq)__)|([_a-z][\p{L}\p{M}\p{N}\p{Pc}]*))\p{space}*(\()/dgv,beginCaptures:{"1":{name:"keyword.other.untyped-function.hx"},"2":{name:"entity.name.function.hx"},"3":{name:"meta.brace.round.hx"}},end:/(\))/dgv,endCaptures:{"1":{name:"meta.brace.round.hx"}},patterns:[{include:"#block"},{include:"#block-contents"}]},"method-name":{begin:/\b(function)\b\p{space}*\b(?:(new)|([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*))?\b/dgv,beginCaptures:{"1":{name:"storage.type.function.hx"},"2":{name:"storage.type.hx"},"3":{name:"entity.name.function.hx"}},end:/(?=(?=\n?$)|\()/dgv,patterns:[{include:"#macro-reification"},{include:"#type-parameters"}]},"method-name-post":{begin:/(?<=[\>\p{L}\p{M}\p{N}\p{Pc}\p{space}])/dgv,end:/(\{)|(;)/dgv,endCaptures:{"1":{name:"punctuation.definition.block.begin.hx"},"2":{name:"punctuation.terminator.hx"}},patterns:[{include:"#parameters"},{include:"#method-return-type-hint"},{include:"#block"},{include:"#block-contents"}]},"method-return-type-hint":{begin:/(?<=\))\p{space}*(:)/dgv,beginCaptures:{"1":{name:"keyword.operator.type.annotation.hx"}},end:/(?=[0-9\;a-\{])/dgv,patterns:[{include:"#type"}]},modifiers:{patterns:[{match:/\b(enum)\b/dgv,name:"storage.type.class"},{match:/\b(public|private|static|dynamic|inline|macro|extern|override|overload|abstract)\b/dgv,name:"storage.modifier.hx"},{match:/\b(final)\b(?=\p{space}+(public|private|static|dynamic|inline|macro|extern|override|overload|abstract|function))/dgv,name:"storage.modifier.hx"}]},"modifiers-inheritance":{match:/\b(implements|extends)\b/dgv,name:"storage.modifier.hx"},"new-expr":{begin:/(?<!\.)\b(new)\b/dgv,beginCaptures:{"1":{name:"keyword.operator.new.hx"}},end:/(?=(?=\n?$)|\()/dgv,name:"new.expr.hx",patterns:[{include:"#type"}]},"operator-assignment":{match:/(=)/dgv,name:"keyword.operator.assignment.hx"},"operator-optional":{match:/(\?)(?!\p{space})/dgv,name:"keyword.operator.optional.hx"},"operator-rest":{match:/\.\.\./dgv,name:"keyword.operator.rest.hx"},"operator-type-hint":{match:/(:)/dgv,name:"keyword.operator.type.annotation.hx"},operators:{patterns:[{match:/(&&|\|\|)/dgv,name:"keyword.operator.logical.hx"},{match:/([\&\^\|\~]|>>>|<<|>>)/dgv,name:"keyword.operator.bitwise.hx"},{match:/(==|!=|<=|>=|[\<\>])/dgv,name:"keyword.operator.comparison.hx"},{match:/(!)/dgv,name:"keyword.operator.logical.hx"},{match:/(--|\+\+)/dgv,name:"keyword.operator.increment-decrement.hx"},{match:/([\-\%\*\+\/])/dgv,name:"keyword.operator.arithmetic.hx"},{match:/\.\.\./dgv,name:"keyword.operator.intiterator.hx"},{match:/=>/dgv,name:"keyword.operator.arrow.hx"},{match:/\?\?/dgv,name:"keyword.operator.nullcoalescing.hx"},{match:/\?\./dgv,name:"keyword.operator.safenavigation.hx"},{match:/\bis\b(?!\()/dgv,name:"keyword.other.hx"},{begin:/\?/dgv,beginCaptures:{"0":{name:"keyword.operator.ternary.hx"}},end:/:/dgv,endCaptures:{"0":{name:"keyword.operator.ternary.hx"}},patterns:[{include:"#block"},{include:"#block-contents"}]}]},package:{begin:/package\b/dgv,beginCaptures:{"0":{name:"keyword.other.package.hx"}},end:/(?=\n?$)|(;)/dgv,endCaptures:{"1":{name:"punctuation.terminator.hx"}},patterns:[{include:"#type-path"},{include:"#type-path-package-name"}]},parameter:{begin:/(?<=[\(\,])/dgv,end:/(?=\)(?!\p{space}*->)|,)/dgv,patterns:[{include:"#parameter-name"},{include:"#parameter-type-hint"},{include:"#parameter-assign"},{include:"#global"}]},"parameter-assign":{begin:/=/dgv,beginCaptures:{"0":{name:"keyword.operator.assignment.hx"}},end:/(?=[\)\,])/dgv,patterns:[{include:"#block"},{include:"#block-contents"}]},"parameter-name":{patterns:[{captures:{"1":{name:"variable.parameter.hx"}},match:/\p{space}*([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)/dgv},{include:"#global"},{include:"#metadata"},{include:"#operator-optional"},{include:"#operator-rest"}]},"parameter-type-hint":{begin:/:/dgv,beginCaptures:{"0":{name:"keyword.operator.type.annotation.hx"}},end:/(?=\)(?!\p{space}*->)|[\,\=])/dgv,patterns:[{include:"#type"}]},parameters:{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.parameters.begin.hx"}},end:/\p{space}*(\)(?!\p{space}*->))/dgv,endCaptures:{"1":{name:"punctuation.definition.parameters.end.hx"}},name:"meta.parameters.hx",patterns:[{include:"#parameter"},{include:"#punctuation-comma"}]},"punctuation-accessor":{match:/\./dgv,name:"punctuation.accessor.hx"},"punctuation-braces":{begin:/\(/dgv,beginCaptures:{"0":{name:"meta.brace.round.hx"}},end:/\)/dgv,endCaptures:{"0":{name:"meta.brace.round.hx"}},patterns:[{include:"#keywords"},{include:"#block"},{include:"#block-contents"},{include:"#type-check"}]},"punctuation-comma":{match:/,/dgv,name:"punctuation.separator.comma.hx"},"punctuation-terminator":{match:/;/dgv,name:"punctuation.terminator.hx"},regex:{begin:/(~\/)/dgv,beginCaptures:{"1":{name:"punctuation.definition.string.begin.hx"}},end:/(\/)([gimsu]*)/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.hx"},"2":{name:"keyword.other.hx"}},name:"string.regexp.hx",patterns:[{include:"#regexp"}]},"regex-character-class":{patterns:[{match:/\\[DSWdfnrstvw]|\./dgv,name:"constant.other.character-class.regexp"},{match:/\\([0-7]{3}|x\p{AHex}\p{AHex}|u\p{AHex}\p{AHex}\p{AHex}\p{AHex})/dgv,name:"constant.character.numeric.regexp"},{match:/\\c[A-Z]/dgv,name:"constant.character.control.regexp"},{match:/\\[^\n]/dgv,name:"constant.character.escape.backslash.regexp"}]},regexp:{patterns:[{match:/\\[Bb]|[\$\^]/dgv,name:"keyword.control.anchor.regexp"},{match:/\\[1-9]\p{Nd}*/dgv,name:"keyword.other.back-reference.regexp"},{match:/[\*\+\?]|\{(\p{Nd}+,\p{Nd}+|\p{Nd}+,|,\p{Nd}+|\p{Nd}+)\}\??/dgv,name:"keyword.operator.quantifier.regexp"},{match:/\|/dgv,name:"keyword.operator.or.regexp"},{begin:/(\()((\?=)|(\?!))/dgv,beginCaptures:{"1":{name:"punctuation.definition.group.regexp"},"2":{name:"punctuation.definition.group.assertion.regexp"},"3":{name:"meta.assertion.look-ahead.regexp"},"4":{name:"meta.assertion.negative-look-ahead.regexp"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.definition.group.regexp"}},name:"meta.group.assertion.regexp",patterns:[{include:"#regexp"}]},{begin:/\((\?:)?/dgv,beginCaptures:{"0":{name:"punctuation.definition.group.regexp"},"1":{name:"punctuation.definition.group.capture.regexp"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.group.regexp"}},name:"meta.group.regexp",patterns:[{include:"#regexp"}]},{begin:/(\[)(\^)?/dgv,beginCaptures:{"1":{name:"punctuation.definition.character-class.regexp"},"2":{name:"keyword.operator.negation.regexp"}},end:/(\])/dgv,endCaptures:{"1":{name:"punctuation.definition.character-class.regexp"}},name:"constant.other.character-class.set.regexp",patterns:[{captures:{"1":{name:"constant.character.numeric.regexp"},"2":{name:"constant.character.control.regexp"},"3":{name:"constant.character.escape.backslash.regexp"},"4":{name:"constant.character.numeric.regexp"},"5":{name:"constant.character.control.regexp"},"6":{name:"constant.character.escape.backslash.regexp"}},match:/(?:[^\n]|(\\(?:[0-7]{3}|x\p{AHex}\p{AHex}|u\p{AHex}\p{AHex}\p{AHex}\p{AHex}))|(\\c[A-Z])|(\\[^\n]))-(?:[^\]\\]|(\\(?:[0-7]{3}|x\p{AHex}\p{AHex}|u\p{AHex}\p{AHex}\p{AHex}\p{AHex}))|(\\c[A-Z])|(\\[^\n]))/dgv,name:"constant.other.character-class.range.regexp"},{include:"#regex-character-class"}]},{include:"#regex-character-class"}]},"string-escape-sequences":{patterns:[{match:/\\[0-3][0-9]{2}/dgv,name:"constant.character.escape.hx"},{match:/\\x\p{AHex}{2}/dgv,name:"constant.character.escape.hx"},{match:/\\u[0-9]{4}/dgv,name:"constant.character.escape.hx"},{match:/\\u\{\p{AHex}+\}/dgv,name:"constant.character.escape.hx"},{match:/\\["'\\nrt]/dgv,name:"constant.character.escape.hx"},{match:/\\[^\n]/dgv,name:"invalid.escape.sequence.hx"}]},strings:{patterns:[{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.hx"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.hx"}},name:"string.quoted.double.hx",patterns:[{include:"#string-escape-sequences"}]},{begin:/(')/dgv,beginCaptures:{"0":{name:"string.quoted.single.hx"},"1":{name:"punctuation.definition.string.begin.hx"}},end:/(')/dgv,endCaptures:{"0":{name:"string.quoted.single.hx"},"1":{name:"punctuation.definition.string.end.hx"}},patterns:[{begin:/\$(?=\$)/dgv,beginCaptures:{"0":{name:"constant.character.escape.hx"}},end:/\$/dgv,endCaptures:{"0":{name:"constant.character.escape.hx"}},name:"string.quoted.single.hx"},{include:"#string-escape-sequences"},{begin:/(\$\{)/dgv,beginCaptures:{"0":{name:"punctuation.definition.block.begin.hx"}},end:/(\})/dgv,endCaptures:{"0":{name:"punctuation.definition.block.end.hx"}},patterns:[{include:"#block-contents"}]},{captures:{"1":{name:"punctuation.definition.block.begin.hx"},"2":{name:"variable.other.hx"}},match:/(\$)([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)/dgv},{match:"",name:"constant.character.escape.hx"},{match:/[^\n]/dgv,name:"string.quoted.single.hx"}]}]},type:{patterns:[{include:"#global"},{include:"#macro-reification"},{include:"#type-name"},{include:"#type-parameters"},{match:/->/dgv,name:"keyword.operator.type.function.hx"},{match:/&/dgv,name:"keyword.operator.type.intersection.hx"},{match:/\?(?=\p{space}*[A-Z_])/dgv,name:"keyword.operator.optional"},{match:/\?(?!\p{space}*[A-Z_])/dgv,name:"punctuation.definition.tag"},{begin:/(\{)/dgv,beginCaptures:{"0":{name:"punctuation.definition.block.begin.hx"}},end:/(?<=\})/dgv,patterns:[{include:"#typedef-block"}]},{include:"#function-type"}]},"type-check":{begin:/(?<!macro)(?=:)/dgv,end:/(?=\))/dgv,patterns:[{include:"#operator-type-hint"},{include:"#type"}]},"type-name":{patterns:[{captures:{"1":{name:"support.class.builtin.hx"},"2":{name:"support.package.hx"},"3":{name:"entity.name.type.hx"}},match:/\b(Any|Array|ArrayAccess|Bool|Class|Date|DateTools|Dynamic|Enum|EnumValue|EReg|Float|IMap|Int|IntIterator|Iterable|Iterator|KeyValueIterator|KeyValueIterable|Lambda|List|ListIterator|ListNode|Map|Math|Null|Reflect|Single|Std|String|StringBuf|StringTools|Sys|Type|UInt|UnicodeString|ValueType|Void|Xml|XmlType)(?:(\.)(_*[A-Z][\p{L}\p{M}\p{N}\p{Pc}]*[a-z][\p{L}\p{M}\p{N}\p{Pc}]*))*\b/dgv},{captures:{"1":{name:"support.package.hx"},"3":{name:"entity.name.type.hx"},"4":{name:"support.package.hx"},"5":{name:"entity.name.type.hx"}},match:/\b(?<![^\.]\.)((_*[a-z][\p{L}\p{M}\p{N}\p{Pc}]*\.)*)(_*[A-Z][\p{L}\p{M}\p{N}\p{Pc}]*)(?:(\.)(_*[A-Z][\p{L}\p{M}\p{N}\p{Pc}]*[a-z][\p{L}\p{M}\p{N}\p{Pc}]*))*\b/dgv}]},"type-parameter-constraint-new":{match:/:/dgv,name:"keyword.operator.type.annotation.hxt"},"type-parameter-constraint-old":{begin:/(:)\p{space}*(\()/dgv,beginCaptures:{"1":{name:"keyword.operator.type.annotation.hx"},"2":{name:"punctuation.definition.constraint.begin.hx"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.constraint.end.hx"}},patterns:[{include:"#type"},{include:"#punctuation-comma"}]},"type-parameters":{begin:/(<)/dgv,beginCaptures:{"1":{name:"punctuation.definition.typeparameters.begin.hx"}},end:/(?=(?=\n?$))|(>)/dgv,endCaptures:{"1":{name:"punctuation.definition.typeparameters.end.hx"}},name:"meta.type-parameters.hx",patterns:[{include:"#type"},{include:"#type-parameter-constraint-old"},{include:"#type-parameter-constraint-new"},{include:"#global"},{include:"#regex"},{include:"#array"},{include:"#constants"},{include:"#strings"},{include:"#metadata"},{include:"#punctuation-comma"}]},"type-path":{patterns:[{include:"#global"},{include:"#punctuation-accessor"},{include:"#type-path-type-name"}]},"type-path-package-name":{match:/\b([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)\b/dgv,name:"support.package.hx"},"type-path-type-name":{match:/\b(_*[A-Z][\p{L}\p{M}\p{N}\p{Pc}]*)\b/dgv,name:"entity.name.type.hx"},typedef:{begin:/(?=typedef)/dgv,end:/(?<=\})|(;)/dgv,endCaptures:{"1":{name:"punctuation.terminator.hx"}},name:"meta.typedef.hx",patterns:[{include:"#typedef-name"},{include:"#typedef-name-post"},{include:"#typedef-block"}]},"typedef-block":{begin:/(?<=\{)/dgv,end:/(\})/dgv,endCaptures:{"1":{name:"punctuation.definition.block.end.hx"}},name:"meta.block.hx",patterns:[{include:"#global"},{include:"#metadata"},{include:"#method"},{include:"#variable"},{include:"#modifiers"},{include:"#punctuation-comma"},{include:"#operator-optional"},{include:"#typedef-extension"},{include:"#typedef-simple-field-type-hint"},{include:"#identifier-name"},{include:"#strings"}]},"typedef-extension":{begin:/>/dgv,end:/,|(?=\n?$)/dgv,patterns:[{include:"#type"}]},"typedef-name":{begin:/\b(typedef)\b/dgv,beginCaptures:{"1":{name:"storage.type.class.hx"}},end:/([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)/dgv,endCaptures:{"1":{name:"entity.name.type.class.hx"}},patterns:[{include:"#global"}]},"typedef-name-post":{begin:/(?<=[\p{L}\p{M}\p{N}\p{Pc}])/dgv,end:/(\{)|(?=;)/dgv,endCaptures:{"1":{name:"punctuation.definition.block.begin.hx"}},patterns:[{include:"#global"},{include:"#punctuation-brackets"},{include:"#punctuation-separator"},{include:"#operator-assignment"},{include:"#type"}]},"typedef-simple-field-type-hint":{begin:/:/dgv,beginCaptures:{"0":{name:"keyword.operator.type.annotation.hx"}},end:/(?=[\,\;\}])/dgv,patterns:[{include:"#type"}]},using:{begin:/using\b/dgv,beginCaptures:{"0":{name:"keyword.other.using.hx"}},end:/(?=\n?$)|(;)/dgv,endCaptures:{"1":{name:"punctuation.terminator.hx"}},patterns:[{include:"#type-path"},{include:"#type-path-package-name"}]},variable:{begin:/(?=\b(var|final)\b)/dgv,end:/(?=(?=\n?$))|(;)/dgv,endCaptures:{"1":{name:"punctuation.terminator.hx"}},patterns:[{include:"#variable-name"},{include:"#variable-name-next"},{include:"#variable-assign"},{include:"#variable-name-post"}]},"variable-accessors":{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.parameters.begin.hx"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.parameters.end.hx"}},name:"meta.parameters.hx",patterns:[{include:"#global"},{include:"#keywords-accessor"},{include:"#accessor-method"},{include:"#punctuation-comma"}]},"variable-assign":{begin:/=/dgv,beginCaptures:{"0":{name:"keyword.operator.assignment.hx"}},end:/(?=[\,\;])/dgv,patterns:[{include:"#block"},{include:"#block-contents"}]},"variable-name":{begin:/\b(var|final)\b/dgv,beginCaptures:{"1":{name:"storage.type.variable.hx"}},end:/(?=(?=\n?$))|([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)/dgv,endCaptures:{"1":{name:"variable.other.hx"}},patterns:[{include:"#operator-optional"}]},"variable-name-next":{begin:/,/dgv,beginCaptures:{"0":{name:"punctuation.separator.comma.hx"}},end:/([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)/dgv,endCaptures:{"1":{name:"variable.other.hx"}},patterns:[{include:"#global"}]},"variable-name-post":{begin:/(?<=[\p{L}\p{M}\p{N}\p{Pc}])/dgv,end:/(?=;)|(?==)/dgv,patterns:[{include:"#variable-accessors"},{include:"#variable-type-hint"},{include:"#block-contents"}]},"variable-type-hint":{begin:/:/dgv,beginCaptures:{"0":{name:"keyword.operator.type.annotation.hx"}},end:/(?=(?=\n?$)|[\,\;\=])/dgv,patterns:[{include:"#type"}]}},scopeName:"source.hx",embeddedLangs:undefined,aliases:undefined})
1
+ const lang = Object.freeze({displayName:"Haxe",fileTypes:["hx","dump"],name:"haxe",patterns:[{include:"#all"}],repository:{abstract:{begin:/(?=abstract\p{space}+[A-Z])/dgv,end:/(?<=\})|(;)/dgv,endCaptures:{"1":{name:"punctuation.terminator.hx"}},name:"meta.abstract.hx",patterns:[{include:"#abstract-name"},{include:"#abstract-name-post"},{include:"#abstract-block"}]},"abstract-block":{begin:/(?<=\{)/dgv,end:/(\})/dgv,endCaptures:{"1":{name:"punctuation.definition.block.end.hx"}},name:"meta.block.hx",patterns:[{include:"#method"},{include:"#modifiers"},{include:"#variable"},{include:"#block"},{include:"#block-contents"}]},"abstract-name":{begin:/\b(abstract)\b/dgv,beginCaptures:{"1":{name:"storage.type.class.hx"}},end:/([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)/dgv,endCaptures:{"1":{name:"entity.name.type.class.hx"}},patterns:[{include:"#global"}]},"abstract-name-post":{begin:/(?<=[\p{L}\p{M}\p{N}\p{Pc}])/dgv,end:/([\;\{])/dgv,endCaptures:{"1":{name:"punctuation.definition.block.begin.hx"}},patterns:[{include:"#global"},{match:/\b(from|to)\b/dgv,name:"keyword.other.hx"},{include:"#type"},{match:/[\(\)]/dgv,name:"punctuation.definition.other.hx"}]},"accessor-method":{patterns:[{match:/\b([gs]et)_[A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*\b/dgv,name:"entity.name.function.hx"}]},all:{patterns:[{include:"#global"},{include:"#package"},{include:"#import"},{include:"#using"},{match:/\b(final)\b(?=\p{space}+(class|interface|extern|private)\b)/dgv,name:"storage.modifier.hx"},{include:"#abstract"},{include:"#class"},{include:"#enum"},{include:"#interface"},{include:"#typedef"},{include:"#block"},{include:"#block-contents"}]},array:{begin:/\[/dgv,beginCaptures:{"0":{name:"punctuation.definition.array.begin.hx"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.definition.array.end.hx"}},name:"meta.array.literal.hx",patterns:[{include:"#block"},{include:"#block-contents"}]},"arrow-function":{begin:/(\()(?=[^\(]*?\)\p{space}*->)/dgv,beginCaptures:{"1":{name:"punctuation.definition.parameters.begin.hx"}},end:/(\))\p{space}*(->)/dgv,endCaptures:{"1":{name:"punctuation.definition.parameters.end.hx"},"2":{name:"storage.type.function.arrow.hx"}},name:"meta.method.arrow.hx",patterns:[{include:"#arrow-function-parameter"}]},"arrow-function-parameter":{begin:/(?<=[\(\,])/dgv,end:/(?=[\)\,])/dgv,patterns:[{include:"#parameter-name"},{include:"#arrow-function-parameter-type-hint"},{include:"#parameter-assign"},{include:"#punctuation-comma"},{include:"#global"}]},"arrow-function-parameter-type-hint":{begin:/:/dgv,beginCaptures:{"0":{name:"keyword.operator.type.annotation.hx"}},end:/(?=[\)\,\=])/dgv,patterns:[{include:"#type"}]},block:{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.block.begin.hx"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.block.end.hx"}},patterns:[{include:"#block"},{include:"#block-contents"}]},"block-contents":{patterns:[{include:"#global"},{include:"#regex"},{include:"#array"},{include:"#constants"},{include:"#strings"},{include:"#metadata"},{include:"#method"},{include:"#variable"},{include:"#modifiers"},{include:"#new-expr"},{include:"#for-loop"},{include:"#keywords"},{include:"#arrow-function"},{include:"#method-call"},{include:"#enum-constructor-call"},{include:"#punctuation-braces"},{include:"#macro-reification"},{include:"#operators"},{include:"#operator-assignment"},{include:"#punctuation-terminator"},{include:"#punctuation-comma"},{include:"#punctuation-accessor"},{include:"#identifiers"}]},class:{begin:/(?=class)/dgv,end:/(?<=\})|(;)/dgv,endCaptures:{"1":{name:"punctuation.terminator.hx"}},name:"meta.class.hx",patterns:[{include:"#class-name"},{include:"#class-name-post"},{include:"#class-block"}]},"class-block":{begin:/(?<=\{)/dgv,end:/(\})/dgv,endCaptures:{"1":{name:"punctuation.definition.block.end.hx"}},name:"meta.block.hx",patterns:[{include:"#method"},{include:"#modifiers"},{include:"#variable"},{include:"#block"},{include:"#block-contents"}]},"class-name":{begin:/\b(class)\b/dgv,beginCaptures:{"1":{name:"storage.type.class.hx"}},end:/([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)/dgv,endCaptures:{"1":{name:"entity.name.type.class.hx"}},name:"meta.class.identifier.hx",patterns:[{include:"#global"}]},"class-name-post":{begin:/(?<=[\p{L}\p{M}\p{N}\p{Pc}])/dgv,end:/([\;\{])/dgv,endCaptures:{"1":{name:"punctuation.definition.block.begin.hx"}},patterns:[{include:"#modifiers-inheritance"},{include:"#type"}]},comments:{patterns:[{begin:/\/\*\*(?!\/)/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.hx"}},end:/\*\//dgv,endCaptures:{"0":{name:"punctuation.definition.comment.hx"}},name:"comment.block.documentation.hx",patterns:[{include:"#javadoc-tags"}]},{begin:/\/\*/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.hx"}},end:/\*\//dgv,endCaptures:{"0":{name:"punctuation.definition.comment.hx"}},name:"comment.block.hx",patterns:[{include:"#javadoc-tags"}]},{captures:{"1":{name:"punctuation.definition.comment.hx"}},match:/(\/\/)[^\n]*(?=\n?$)\n?/dgv,name:"comment.line.double-slash.hx"}]},"conditional-compilation":{patterns:[{captures:{"0":{name:"punctuation.definition.tag"}},match:/((#(if|elseif))[\!\p{space}]+([A-Z_a-z][0-9A-Z_a-z]*(\.[A-Z_a-z][0-9A-Z_a-z]*)*)(?=\p{space}|\/\*|\/\/))/dgv},{begin:/((#(if|elseif))[\!\p{space}]*)(?=\()/dgv,beginCaptures:{"0":{name:"punctuation.definition.tag"}},end:/(?<=[\n\)])/dgv,endCaptures:{"0":{name:"punctuation.definition.tag"}},name:"punctuation.definition.tag",patterns:[{include:"#conditional-compilation-parens"}]},{match:/(#(end|else|error|line))/dgv,name:"punctuation.definition.tag"},{match:/(#([0-9A-Z_a-z]*))\p{space}/dgv,name:"punctuation.definition.tag"}]},"conditional-compilation-parens":{begin:/\(/dgv,end:/\)/dgv,patterns:[{include:"#conditional-compilation-parens"}]},"constant-name":{match:/\b([A-Z_][0-9A-Z_]*)\b/dgv,name:"variable.other.hx"},constants:{patterns:[{match:/\b(true|false|null)\b/dgv,name:"constant.language.hx"},{captures:{"0":{name:"constant.numeric.hex.hx"},"1":{name:"constant.numeric.suffix.hx"}},match:/\b0[Xx]\p{AHex}[_\p{AHex}]*([iu][0-9][0-9_]*)?\b/dgv},{captures:{"0":{name:"constant.numeric.bin.hx"},"1":{name:"constant.numeric.suffix.hx"}},match:/\b0[Bb][01][01_]*([iu][0-9][0-9_]*)?\b/dgv},{captures:{"0":{name:"constant.numeric.decimal.hx"},"1":{name:"meta.delimiter.decimal.period.hx"},"2":{name:"constant.numeric.suffix.hx"},"3":{name:"meta.delimiter.decimal.period.hx"},"4":{name:"constant.numeric.suffix.hx"},"5":{name:"meta.delimiter.decimal.period.hx"},"6":{name:"constant.numeric.suffix.hx"},"7":{name:"constant.numeric.suffix.hx"},"8":{name:"meta.delimiter.decimal.period.hx"},"9":{name:"constant.numeric.suffix.hx"},"10":{name:"meta.delimiter.decimal.period.hx"},"11":{name:"constant.numeric.suffix.hx"},"12":{name:"meta.delimiter.decimal.period.hx"},"13":{name:"constant.numeric.suffix.hx"},"14":{name:"constant.numeric.suffix.hx"}},match:/(?<!\$)(?:\b[0-9][0-9_]*(\.)[0-9_]+[Ee][\-\+]?[0-9_]+([fiu][0-9][0-9_]*)?\b|\b[0-9][0-9_]*(\.)[Ee][\-\+]?[0-9_]+([fiu][0-9][0-9_]*)?\b|\B(\.)[0-9][0-9_]*[Ee][\-\+]?[0-9_]+([fiu][0-9][0-9_]*)?\b|\b[0-9][0-9_]*[Ee][\-\+]?[0-9][0-9_]*([fiu][0-9][0-9_]*)?\b|\b[0-9][0-9_]*(\.)[0-9_]+([fiu][0-9][0-9_]*)?\b|\b[0-9][0-9_]*(\.)(?!\.)(?:\B|([fiu][0-9][0-9_]*)\b)|\B(\.)[0-9][0-9_]*([fiu][0-9][0-9_]*)?\b|\b[0-9][0-9_]*([fiu][0-9][0-9_]*)?\b)(?!\$)/dgv}]},enum:{begin:/(?=enum\p{space}+[A-Z])/dgv,end:/(?<=\})|(;)/dgv,endCaptures:{"1":{name:"punctuation.terminator.hx"}},name:"meta.enum.hx",patterns:[{include:"#enum-name"},{include:"#enum-name-post"},{include:"#enum-block"}]},"enum-block":{begin:/(?<=\{)/dgv,end:/(\})/dgv,endCaptures:{"1":{name:"punctuation.definition.block.end.hx"}},name:"meta.block.hx",patterns:[{include:"#global"},{include:"#metadata"},{include:"#parameters"},{include:"#identifiers"}]},"enum-constructor-call":{begin:/\b(?<!\.)((_*[a-z][\p{L}\p{M}\p{N}\p{Pc}]*\.)*)(_*[A-Z][\p{L}\p{M}\p{N}\p{Pc}]*)(?:(\.)(_*[A-Z][\p{L}\p{M}\p{N}\p{Pc}]*[a-z][\p{L}\p{M}\p{N}\p{Pc}]*))*\p{space}*(\()/dgv,beginCaptures:{"1":{name:"support.package.hx"},"3":{name:"entity.name.type.hx"},"4":{name:"support.package.hx"},"5":{name:"entity.name.type.hx"},"6":{name:"meta.brace.round.hx"}},end:/(\))/dgv,endCaptures:{"1":{name:"meta.brace.round.hx"}},patterns:[{include:"#block"},{include:"#block-contents"}]},"enum-name":{begin:/\b(enum)\b/dgv,beginCaptures:{"1":{name:"storage.type.class.hx"}},end:/([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)/dgv,endCaptures:{"1":{name:"entity.name.type.class.hx"}},patterns:[{include:"#global"}]},"enum-name-post":{begin:/(?<=[\p{L}\p{M}\p{N}\p{Pc}])/dgv,end:/([\;\{])/dgv,endCaptures:{"1":{name:"punctuation.definition.block.begin.hx"}},patterns:[{include:"#type"}]},"for-loop":{begin:/\b(for)\b\p{space}*(\()/dgv,beginCaptures:{"1":{name:"keyword.control.flow-control.hx"},"2":{name:"meta.brace.round.hx"}},end:/(\))/dgv,endCaptures:{"1":{name:"meta.brace.round.hx"}},patterns:[{match:/\b(in)\b/dgv,name:"keyword.other.in.hx"},{include:"#block"},{include:"#block-contents"}]},"function-type":{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.parameters.begin.hx"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.parameters.end.hx"}},patterns:[{include:"#function-type-parameter"}]},"function-type-parameter":{begin:/(?<=[\(\,])/dgv,end:/(?=[\)\,])/dgv,patterns:[{include:"#global"},{include:"#metadata"},{include:"#operator-optional"},{include:"#punctuation-comma"},{include:"#function-type-parameter-name"},{include:"#function-type-parameter-type-hint"},{include:"#parameter-assign"},{include:"#type"},{include:"#global"}]},"function-type-parameter-name":{captures:{"1":{name:"variable.parameter.hx"}},match:/([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)(?=\p{space}*:)/dgv},"function-type-parameter-type-hint":{begin:/:/dgv,beginCaptures:{"0":{name:"keyword.operator.type.annotation.hx"}},end:/(?=[\)\,\=])/dgv,patterns:[{include:"#type"}]},global:{patterns:[{include:"#comments"},{include:"#conditional-compilation"}]},"identifier-name":{match:/\b([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)\b/dgv,name:"variable.other.hx"},identifiers:{patterns:[{include:"#constant-name"},{include:"#type-name"},{include:"#identifier-name"}]},import:{begin:/import\b/dgv,beginCaptures:{"0":{name:"keyword.control.import.hx"}},end:/(?=\n?$)|(;)/dgv,endCaptures:{"1":{name:"punctuation.terminator.hx"}},patterns:[{include:"#type-path"},{match:/\b(as)\b/dgv,name:"keyword.control.as.hx"},{match:/\b(in)\b/dgv,name:"keyword.control.in.hx"},{match:/\*/dgv,name:"constant.language.import-all.hx"},{match:/\b([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)\b(?=\p{space}*(as|in|(?=\n?$)|(;)))/dgv,name:"variable.other.hxt"},{include:"#type-path-package-name"}]},interface:{begin:/(?=interface)/dgv,end:/(?<=\})|(;)/dgv,endCaptures:{"1":{name:"punctuation.terminator.hx"}},name:"meta.interface.hx",patterns:[{include:"#interface-name"},{include:"#interface-name-post"},{include:"#interface-block"}]},"interface-block":{begin:/(?<=\{)/dgv,end:/(\})/dgv,endCaptures:{"1":{name:"punctuation.definition.block.end.hx"}},name:"meta.block.hx",patterns:[{include:"#method"},{include:"#variable"},{include:"#block"},{include:"#block-contents"}]},"interface-name":{begin:/\b(interface)\b/dgv,beginCaptures:{"1":{name:"storage.type.class.hx"}},end:/([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)/dgv,endCaptures:{"1":{name:"entity.name.type.class.hx"}},patterns:[{include:"#global"}]},"interface-name-post":{begin:/(?<=[\p{L}\p{M}\p{N}\p{Pc}])/dgv,end:/([\;\{])/dgv,endCaptures:{"1":{name:"punctuation.definition.block.begin.hx"}},patterns:[{include:"#global"},{include:"#modifiers-inheritance"},{include:"#type"}]},"javadoc-tags":{patterns:[{captures:{"1":{name:"storage.type.class.javadoc"},"2":{name:"variable.other.javadoc"}},match:/(@(?:param|exception|throws|event))\p{space}+([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}+/dgv},{captures:{"1":{name:"storage.type.class.javadoc"},"2":{name:"constant.numeric.javadoc"}},match:/(@since)\p{space}+([\-\.\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}+/dgv},{captures:{"0":{name:"storage.type.class.javadoc"}},match:/@(param|exception|throws|deprecated|returns?|since|default|see|event)/dgv}]},keywords:{patterns:[{begin:/(?<=trace|(?=\n?$)type|if|while|for|super)\p{space}*(\()/dgv,beginCaptures:{"1":{name:"meta.brace.round.hx"}},end:/\)/dgv,endCaptures:{"0":{name:"meta.brace.round.hx"}},patterns:[{include:"#block-contents"}]},{begin:/(?<=catch)\p{space}*(\()/dgv,beginCaptures:{"1":{name:"meta.brace.round.hx"}},end:/\)/dgv,endCaptures:{"0":{name:"meta.brace.round.hx"}},patterns:[{include:"#block-contents"},{include:"#type-check"}]},{begin:/(?<=cast)\p{space}*(\()/dgv,beginCaptures:{"1":{name:"meta.brace.round.hx"}},end:/\)/dgv,endCaptures:{"0":{name:"meta.brace.round.hx"}},patterns:[{begin:/(?=,)/dgv,end:/(?=\))/dgv,patterns:[{include:"#type"}]},{include:"#block-contents"}]},{match:/\b(try|catch|throw)\b/dgv,name:"keyword.control.catch-exception.hx"},{begin:/\b(case|default)\b/dgv,beginCaptures:{"1":{name:"keyword.control.flow-control.hx"}},end:/:|(?=if)|(?=\n?$)/dgv,patterns:[{include:"#global"},{include:"#metadata"},{captures:{"1":{name:"storage.type.variable.hx"},"2":{name:"variable.other.hx"}},match:/\b(var|final)\b\p{space}*([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)\b/dgv},{include:"#array"},{include:"#constants"},{include:"#strings"},{match:/\(/dgv,name:"meta.brace.round.hx"},{match:/\)/dgv,name:"meta.brace.round.hx"},{include:"#macro-reification"},{match:/=>/dgv,name:"keyword.operator.extractor.hx"},{include:"#operator-assignment"},{include:"#punctuation-comma"},{include:"#keywords"},{include:"#method-call"},{include:"#identifiers"}]},{match:/\b(if|else|return|do|while|for|break|continue|switch|case|default)\b/dgv,name:"keyword.control.flow-control.hx"},{match:/\b(cast|untyped)\b/dgv,name:"keyword.other.untyped.hx"},{match:/\btrace\b/dgv,name:"keyword.other.trace.hx"},{match:/\$type\b/dgv,name:"keyword.other.type.hx"},{match:/__(global|this)__\b/dgv,name:"keyword.other.untyped-property.hx"},{match:/\b(this|super)\b/dgv,name:"variable.language.hx"},{match:/\bnew\b/dgv,name:"keyword.operator.new.hx"},{match:/\b(abstract|class|enum|interface|typedef)\b/dgv,name:"storage.type.hx"},{match:/->/dgv,name:"storage.type.function.arrow.hx"},{include:"#modifiers"},{include:"#modifiers-inheritance"}]},"keywords-accessor":{match:/\b(private|default|get|set|dynamic|never|null)\b/dgv,name:"storage.type.property.hx"},"macro-reification":{patterns:[{captures:{"1":{name:"punctuation.definition.reification.hx"},"2":{name:"keyword.reification.hx"}},match:/(\$)([abeipv])\{/dgv},{captures:{"2":{name:"punctuation.definition.reification.hx"},"3":{name:"variable.reification.hx"}},match:/((\$)([A-Za-z]*))/dgv}]},metadata:{patterns:[{begin:/(@)(:(abi|abstract|access|allow|analyzer|annotation|arrayAccess|astSource|autoBuild|bind|bitmap|bridgeProperties|build|buildXml|bypassAccessor|callable|classCode|commutative|compilerGenerated|const|coreApi|coreType|cppFileCode|cppInclude|cppNamespaceCode|cs[^\n]assemblyMeta|cs[^\n]assemblyStrict|cs[^\n]using|dce|debug|decl|delegate|depend|deprecated|eager|enum|event|expose|extern|file|fileXml|final|fixed|flash[^\n]property|font|forward[^\n]new|forward[^\n]variance|forward|forwardStatics|from|functionCode|functionTailCode|generic|genericBuild|genericClassPerMethod|getter|hack|headerClassCode|headerCode|headerInclude|headerNamespaceCode|hlNative|hxGen|ifFeature|include|inheritDoc|inline|internal|isVar|java[^\n]native|javaCanonical|jsRequire|jvm[^\n]synthetic|keep|keepInit|keepSub|luaDotMethod|luaRequire|macro|markup|mergeBlock|multiReturn|multiType|native|nativeChildren|nativeGen|nativeProperty|nativeStaticExtension|noClosure|noCompletion|noDebug|noDoc|noImportGlobal|noPrivateAccess|noStack|noUsing|nonVirtual|notNull|nullSafety|objc|objcProtocol|op|optional|overload|persistent|phpClassConst|phpGlobal|phpMagic|phpNoConstructor|pos|private|privateAccess|property|protected|publicFields|pure|pythonImport|readOnly|remove|require|resolve|rtti|runtimeValue|scalar|selfCall|semantics|setter|sound|sourceFile|stackOnly|strict|struct|structAccess|structInit|suppressWarnings|templatedCall|throws|to|transient|transitive|unifyMinDynamic|unreflective|unsafe|using|void|volatile))\b\p{space}*(\()/dgv,beginCaptures:{"1":{name:"punctuation.metadata.hx"},"2":{name:"storage.modifier.metadata.hx"},"3":{name:"meta.brace.round.hx"}},end:/\)/dgv,endCaptures:{"0":{name:"meta.brace.round.hx"}},patterns:[{include:"#block-contents"}]},{captures:{"2":{name:"punctuation.metadata.hx"},"3":{name:"storage.modifier.metadata.hx"}},match:/((@)(:(abi|abstract|access|allow|analyzer|annotation|arrayAccess|astSource|autoBuild|bind|bitmap|bridgeProperties|build|buildXml|bypassAccessor|callable|classCode|commutative|compilerGenerated|const|coreApi|coreType|cppFileCode|cppInclude|cppNamespaceCode|cs[^\n]assemblyMeta|cs[^\n]assemblyStrict|cs[^\n]using|dce|debug|decl|delegate|depend|deprecated|eager|enum|event|expose|extern|file|fileXml|final|fixed|flash[^\n]property|font|forward[^\n]new|forward[^\n]variance|forward|forwardStatics|from|functionCode|functionTailCode|generic|genericBuild|genericClassPerMethod|getter|hack|headerClassCode|headerCode|headerInclude|headerNamespaceCode|hlNative|hxGen|ifFeature|include|inheritDoc|inline|internal|isVar|java[^\n]native|javaCanonical|jsRequire|jvm[^\n]synthetic|keep|keepInit|keepSub|luaDotMethod|luaRequire|macro|markup|mergeBlock|multiReturn|multiType|native|nativeChildren|nativeGen|nativeProperty|nativeStaticExtension|noClosure|noCompletion|noDebug|noDoc|noImportGlobal|noPrivateAccess|noStack|noUsing|nonVirtual|notNull|nullSafety|objc|objcProtocol|op|optional|overload|persistent|phpClassConst|phpGlobal|phpMagic|phpNoConstructor|pos|private|privateAccess|property|protected|publicFields|pure|pythonImport|readOnly|remove|require|resolve|rtti|runtimeValue|scalar|selfCall|semantics|setter|sound|sourceFile|stackOnly|strict|struct|structAccess|structInit|suppressWarnings|templatedCall|throws|to|transient|transitive|unifyMinDynamic|unreflective|unsafe|using|void|volatile)))\b/dgv},{begin:/(@)(:?[A-Z_a-z]*)\p{space}*(\()/dgv,beginCaptures:{"1":{name:"punctuation.metadata.hx"},"2":{name:"variable.metadata.hx"},"3":{name:"meta.brace.round.hx"}},end:/\)/dgv,endCaptures:{"0":{name:"meta.brace.round.hx"}},patterns:[{include:"#block-contents"}]},{captures:{"1":{name:"punctuation.metadata.hx"},"2":{name:"variable.metadata.hx"},"3":{name:"variable.metadata.hx"},"4":{name:"punctuation.accessor.hx"},"5":{name:"variable.metadata.hx"}},match:/(@)(:?)([A-Z_a-z]*(\.))*([A-Z_a-z]*)?/dgv}]},method:{begin:/(?=\bfunction\b)/dgv,end:/(?<=[\;\}])/dgv,name:"meta.method.hx",patterns:[{include:"#macro-reification"},{include:"#method-name"},{include:"#method-name-post"},{include:"#method-block"}]},"method-block":{begin:/(?<=\{)/dgv,beginCaptures:{"1":{name:"punctuation.definition.block.begin.hx"}},end:/(\})/dgv,endCaptures:{"1":{name:"punctuation.definition.block.end.hx"}},name:"meta.method.block.hx",patterns:[{include:"#block"},{include:"#block-contents"}]},"method-call":{begin:/\b(?:(__(?:addressOf|as|call|checked|cpp|cs|define_feature|delete|feature|field|fixed|foreach|forin|has_next|hkeys|int??|is|java|js|keys|lock|lua|lua_table|new|php|physeq|prefix|ptr|resources|rethrow|set|setfield|sizeof|type|typeof|unprotect|unsafe|valueOf|var|vector|vmem_get|vmem_set|vmem_sign|instanceof|strict_eq|strict_neq)__)|([_a-z][\p{L}\p{M}\p{N}\p{Pc}]*))\p{space}*(\()/dgv,beginCaptures:{"1":{name:"keyword.other.untyped-function.hx"},"2":{name:"entity.name.function.hx"},"3":{name:"meta.brace.round.hx"}},end:/(\))/dgv,endCaptures:{"1":{name:"meta.brace.round.hx"}},patterns:[{include:"#block"},{include:"#block-contents"}]},"method-name":{begin:/\b(function)\b\p{space}*\b(?:(new)|([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*))?\b/dgv,beginCaptures:{"1":{name:"storage.type.function.hx"},"2":{name:"storage.type.hx"},"3":{name:"entity.name.function.hx"}},end:/(?=(?=\n?$)|\()/dgv,patterns:[{include:"#macro-reification"},{include:"#type-parameters"}]},"method-name-post":{begin:/(?<=[\>\p{L}\p{M}\p{N}\p{Pc}\p{space}])/dgv,end:/(\{)|(;)/dgv,endCaptures:{"1":{name:"punctuation.definition.block.begin.hx"},"2":{name:"punctuation.terminator.hx"}},patterns:[{include:"#parameters"},{include:"#method-return-type-hint"},{include:"#block"},{include:"#block-contents"}]},"method-return-type-hint":{begin:/(?<=\))\p{space}*(:)/dgv,beginCaptures:{"1":{name:"keyword.operator.type.annotation.hx"}},end:/(?=[0-9\;a-\{])/dgv,patterns:[{include:"#type"}]},modifiers:{patterns:[{match:/\b(enum)\b/dgv,name:"storage.type.class"},{match:/\b(public|private|static|dynamic|inline|macro|extern|override|overload|abstract)\b/dgv,name:"storage.modifier.hx"},{match:/\b(final)\b(?=\p{space}+(public|private|static|dynamic|inline|macro|extern|override|overload|abstract|function))/dgv,name:"storage.modifier.hx"}]},"modifiers-inheritance":{match:/\b(implements|extends)\b/dgv,name:"storage.modifier.hx"},"new-expr":{begin:/(?<!\.)\b(new)\b/dgv,beginCaptures:{"1":{name:"keyword.operator.new.hx"}},end:/(?=(?=\n?$)|\()/dgv,name:"new.expr.hx",patterns:[{include:"#type"}]},"operator-assignment":{match:/(=)/dgv,name:"keyword.operator.assignment.hx"},"operator-optional":{match:/(\?)(?!\p{space})/dgv,name:"keyword.operator.optional.hx"},"operator-rest":{match:/\.\.\./dgv,name:"keyword.operator.rest.hx"},"operator-type-hint":{match:/(:)/dgv,name:"keyword.operator.type.annotation.hx"},operators:{patterns:[{match:/(&&|\|\|)/dgv,name:"keyword.operator.logical.hx"},{match:/([\&\^\|\~]|>>>|<<|>>)/dgv,name:"keyword.operator.bitwise.hx"},{match:/(==|!=|<=|>=|[\<\>])/dgv,name:"keyword.operator.comparison.hx"},{match:/(!)/dgv,name:"keyword.operator.logical.hx"},{match:/(--|\+\+)/dgv,name:"keyword.operator.increment-decrement.hx"},{match:/([\-\%\*\+\/])/dgv,name:"keyword.operator.arithmetic.hx"},{match:/\.\.\./dgv,name:"keyword.operator.intiterator.hx"},{match:/=>/dgv,name:"keyword.operator.arrow.hx"},{match:/\?\?/dgv,name:"keyword.operator.nullcoalescing.hx"},{match:/\?\./dgv,name:"keyword.operator.safenavigation.hx"},{match:/\bis\b(?!\()/dgv,name:"keyword.other.hx"},{begin:/\?/dgv,beginCaptures:{"0":{name:"keyword.operator.ternary.hx"}},end:/:/dgv,endCaptures:{"0":{name:"keyword.operator.ternary.hx"}},patterns:[{include:"#block"},{include:"#block-contents"}]}]},package:{begin:/package\b/dgv,beginCaptures:{"0":{name:"keyword.other.package.hx"}},end:/(?=\n?$)|(;)/dgv,endCaptures:{"1":{name:"punctuation.terminator.hx"}},patterns:[{include:"#type-path"},{include:"#type-path-package-name"}]},parameter:{begin:/(?<=[\(\,])/dgv,end:/(?=\)(?!\p{space}*->)|,)/dgv,patterns:[{include:"#parameter-name"},{include:"#parameter-type-hint"},{include:"#parameter-assign"},{include:"#global"}]},"parameter-assign":{begin:/=/dgv,beginCaptures:{"0":{name:"keyword.operator.assignment.hx"}},end:/(?=[\)\,])/dgv,patterns:[{include:"#block"},{include:"#block-contents"}]},"parameter-name":{patterns:[{captures:{"1":{name:"variable.parameter.hx"}},match:/\p{space}*([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)/dgv},{include:"#global"},{include:"#metadata"},{include:"#operator-optional"},{include:"#operator-rest"}]},"parameter-type-hint":{begin:/:/dgv,beginCaptures:{"0":{name:"keyword.operator.type.annotation.hx"}},end:/(?=\)(?!\p{space}*->)|[\,\=])/dgv,patterns:[{include:"#type"}]},parameters:{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.parameters.begin.hx"}},end:/\p{space}*(\)(?!\p{space}*->))/dgv,endCaptures:{"1":{name:"punctuation.definition.parameters.end.hx"}},name:"meta.parameters.hx",patterns:[{include:"#parameter"},{include:"#punctuation-comma"}]},"punctuation-accessor":{match:/\./dgv,name:"punctuation.accessor.hx"},"punctuation-braces":{begin:/\(/dgv,beginCaptures:{"0":{name:"meta.brace.round.hx"}},end:/\)/dgv,endCaptures:{"0":{name:"meta.brace.round.hx"}},patterns:[{include:"#keywords"},{include:"#block"},{include:"#block-contents"},{include:"#type-check"}]},"punctuation-comma":{match:/,/dgv,name:"punctuation.separator.comma.hx"},"punctuation-terminator":{match:/;/dgv,name:"punctuation.terminator.hx"},regex:{begin:/(~\/)/dgv,beginCaptures:{"1":{name:"punctuation.definition.string.begin.hx"}},end:/(\/)([gimsu]*)/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.hx"},"2":{name:"keyword.other.hx"}},name:"string.regexp.hx",patterns:[{include:"#regexp"}]},"regex-character-class":{patterns:[{match:/\\[DSWdfnrstvw]|\./dgv,name:"constant.other.character-class.regexp"},{match:/\\([0-7]{3}|x\p{AHex}\p{AHex}|u\p{AHex}\p{AHex}\p{AHex}\p{AHex})/dgv,name:"constant.character.numeric.regexp"},{match:/\\c[A-Z]/dgv,name:"constant.character.control.regexp"},{match:/\\[^\n]/dgv,name:"constant.character.escape.backslash.regexp"}]},regexp:{patterns:[{match:/\\[Bb]|[\$\^]/dgv,name:"keyword.control.anchor.regexp"},{match:/\\[1-9]\p{Nd}*/dgv,name:"keyword.other.back-reference.regexp"},{match:/[\*\+\?]|\{(\p{Nd}+,\p{Nd}+|\p{Nd}+,|,\p{Nd}+|\p{Nd}+)\}\??/dgv,name:"keyword.operator.quantifier.regexp"},{match:/\|/dgv,name:"keyword.operator.or.regexp"},{begin:/(\()((\?=)|(\?!))/dgv,beginCaptures:{"1":{name:"punctuation.definition.group.regexp"},"2":{name:"punctuation.definition.group.assertion.regexp"},"3":{name:"meta.assertion.look-ahead.regexp"},"4":{name:"meta.assertion.negative-look-ahead.regexp"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.definition.group.regexp"}},name:"meta.group.assertion.regexp",patterns:[{include:"#regexp"}]},{begin:/\((\?:)?/dgv,beginCaptures:{"0":{name:"punctuation.definition.group.regexp"},"1":{name:"punctuation.definition.group.capture.regexp"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.group.regexp"}},name:"meta.group.regexp",patterns:[{include:"#regexp"}]},{begin:/(\[)(\^)?/dgv,beginCaptures:{"1":{name:"punctuation.definition.character-class.regexp"},"2":{name:"keyword.operator.negation.regexp"}},end:/(\])/dgv,endCaptures:{"1":{name:"punctuation.definition.character-class.regexp"}},name:"constant.other.character-class.set.regexp",patterns:[{captures:{"1":{name:"constant.character.numeric.regexp"},"2":{name:"constant.character.control.regexp"},"3":{name:"constant.character.escape.backslash.regexp"},"4":{name:"constant.character.numeric.regexp"},"5":{name:"constant.character.control.regexp"},"6":{name:"constant.character.escape.backslash.regexp"}},match:/(?:[^\n]|(\\(?:[0-7]{3}|x\p{AHex}\p{AHex}|u\p{AHex}\p{AHex}\p{AHex}\p{AHex}))|(\\c[A-Z])|(\\[^\n]))-(?:[^\]\\]|(\\(?:[0-7]{3}|x\p{AHex}\p{AHex}|u\p{AHex}\p{AHex}\p{AHex}\p{AHex}))|(\\c[A-Z])|(\\[^\n]))/dgv,name:"constant.other.character-class.range.regexp"},{include:"#regex-character-class"}]},{include:"#regex-character-class"}]},"string-escape-sequences":{patterns:[{match:/\\[0-3][0-9]{2}/dgv,name:"constant.character.escape.hx"},{match:/\\x\p{AHex}{2}/dgv,name:"constant.character.escape.hx"},{match:/\\u[0-9]{4}/dgv,name:"constant.character.escape.hx"},{match:/\\u\{\p{AHex}+\}/dgv,name:"constant.character.escape.hx"},{match:/\\["'\\nrt]/dgv,name:"constant.character.escape.hx"},{match:/\\[^\n]/dgv,name:"invalid.escape.sequence.hx"}]},strings:{patterns:[{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.hx"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.hx"}},name:"string.quoted.double.hx",patterns:[{include:"#string-escape-sequences"}]},{begin:/(')/dgv,beginCaptures:{"0":{name:"string.quoted.single.hx"},"1":{name:"punctuation.definition.string.begin.hx"}},end:/(')/dgv,endCaptures:{"0":{name:"string.quoted.single.hx"},"1":{name:"punctuation.definition.string.end.hx"}},patterns:[{begin:/\$(?=\$)/dgv,beginCaptures:{"0":{name:"constant.character.escape.hx"}},end:/\$/dgv,endCaptures:{"0":{name:"constant.character.escape.hx"}},name:"string.quoted.single.hx"},{include:"#string-escape-sequences"},{begin:/(\$\{)/dgv,beginCaptures:{"0":{name:"punctuation.definition.block.begin.hx"}},end:/(\})/dgv,endCaptures:{"0":{name:"punctuation.definition.block.end.hx"}},patterns:[{include:"#block-contents"}]},{captures:{"1":{name:"punctuation.definition.block.begin.hx"},"2":{name:"variable.other.hx"}},match:/(\$)([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)/dgv},{match:"",name:"constant.character.escape.hx"},{match:/[^\n]/dgv,name:"string.quoted.single.hx"}]}]},type:{patterns:[{include:"#global"},{include:"#macro-reification"},{include:"#type-name"},{include:"#type-parameters"},{match:/->/dgv,name:"keyword.operator.type.function.hx"},{match:/&/dgv,name:"keyword.operator.type.intersection.hx"},{match:/\?(?=\p{space}*[A-Z_])/dgv,name:"keyword.operator.optional"},{match:/\?(?!\p{space}*[A-Z_])/dgv,name:"punctuation.definition.tag"},{begin:/(\{)/dgv,beginCaptures:{"0":{name:"punctuation.definition.block.begin.hx"}},end:/(?<=\})/dgv,patterns:[{include:"#typedef-block"}]},{include:"#function-type"}]},"type-check":{begin:/(?<!macro)(?=:)/dgv,end:/(?=\))/dgv,patterns:[{include:"#operator-type-hint"},{include:"#type"}]},"type-name":{patterns:[{captures:{"1":{name:"support.class.builtin.hx"},"2":{name:"support.package.hx"},"3":{name:"entity.name.type.hx"}},match:/\b(Any|Array|ArrayAccess|Bool|Class|Date|DateTools|Dynamic|Enum|EnumValue|EReg|Float|IMap|Int|IntIterator|Iterable|Iterator|KeyValueIterator|KeyValueIterable|Lambda|List|ListIterator|ListNode|Map|Math|Null|Reflect|Single|Std|String|StringBuf|StringTools|Sys|Type|UInt|UnicodeString|ValueType|Void|Xml|XmlType)(?:(\.)(_*[A-Z][\p{L}\p{M}\p{N}\p{Pc}]*[a-z][\p{L}\p{M}\p{N}\p{Pc}]*))*\b/dgv},{captures:{"1":{name:"support.package.hx"},"3":{name:"entity.name.type.hx"},"4":{name:"support.package.hx"},"5":{name:"entity.name.type.hx"}},match:/\b(?<![^\.]\.)((_*[a-z][\p{L}\p{M}\p{N}\p{Pc}]*\.)*)(_*[A-Z][\p{L}\p{M}\p{N}\p{Pc}]*)(?:(\.)(_*[A-Z][\p{L}\p{M}\p{N}\p{Pc}]*[a-z][\p{L}\p{M}\p{N}\p{Pc}]*))*\b/dgv}]},"type-parameter-constraint-new":{match:/:/dgv,name:"keyword.operator.type.annotation.hxt"},"type-parameter-constraint-old":{begin:/(:)\p{space}*(\()/dgv,beginCaptures:{"1":{name:"keyword.operator.type.annotation.hx"},"2":{name:"punctuation.definition.constraint.begin.hx"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.constraint.end.hx"}},patterns:[{include:"#type"},{include:"#punctuation-comma"}]},"type-parameters":{begin:/(<)/dgv,beginCaptures:{"1":{name:"punctuation.definition.typeparameters.begin.hx"}},end:/(?=(?=\n?$))|(>)/dgv,endCaptures:{"1":{name:"punctuation.definition.typeparameters.end.hx"}},name:"meta.type-parameters.hx",patterns:[{include:"#type"},{include:"#type-parameter-constraint-old"},{include:"#type-parameter-constraint-new"},{include:"#global"},{include:"#regex"},{include:"#array"},{include:"#constants"},{include:"#strings"},{include:"#metadata"},{include:"#punctuation-comma"}]},"type-path":{patterns:[{include:"#global"},{include:"#punctuation-accessor"},{include:"#type-path-type-name"}]},"type-path-package-name":{match:/\b([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)\b/dgv,name:"support.package.hx"},"type-path-type-name":{match:/\b(_*[A-Z][\p{L}\p{M}\p{N}\p{Pc}]*)\b/dgv,name:"entity.name.type.hx"},typedef:{begin:/(?=typedef)/dgv,end:/(?<=\})|(;)/dgv,endCaptures:{"1":{name:"punctuation.terminator.hx"}},name:"meta.typedef.hx",patterns:[{include:"#typedef-name"},{include:"#typedef-name-post"},{include:"#typedef-block"}]},"typedef-block":{begin:/(?<=\{)/dgv,end:/(\})/dgv,endCaptures:{"1":{name:"punctuation.definition.block.end.hx"}},name:"meta.block.hx",patterns:[{include:"#global"},{include:"#metadata"},{include:"#method"},{include:"#variable"},{include:"#modifiers"},{include:"#punctuation-comma"},{include:"#operator-optional"},{include:"#typedef-extension"},{include:"#typedef-simple-field-type-hint"},{include:"#identifier-name"},{include:"#strings"}]},"typedef-extension":{begin:/>/dgv,end:/,|(?=\n?$)/dgv,patterns:[{include:"#type"}]},"typedef-name":{begin:/\b(typedef)\b/dgv,beginCaptures:{"1":{name:"storage.type.class.hx"}},end:/([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)/dgv,endCaptures:{"1":{name:"entity.name.type.class.hx"}},patterns:[{include:"#global"}]},"typedef-name-post":{begin:/(?<=[\p{L}\p{M}\p{N}\p{Pc}])/dgv,end:/(\{)|(?=;)/dgv,endCaptures:{"1":{name:"punctuation.definition.block.begin.hx"}},patterns:[{include:"#global"},{include:"#punctuation-brackets"},{include:"#punctuation-separator"},{include:"#operator-assignment"},{include:"#type"}]},"typedef-simple-field-type-hint":{begin:/:/dgv,beginCaptures:{"0":{name:"keyword.operator.type.annotation.hx"}},end:/(?=[\,\;\}])/dgv,patterns:[{include:"#type"}]},using:{begin:/using\b/dgv,beginCaptures:{"0":{name:"keyword.other.using.hx"}},end:/(?=\n?$)|(;)/dgv,endCaptures:{"1":{name:"punctuation.terminator.hx"}},patterns:[{include:"#type-path"},{include:"#type-path-package-name"}]},variable:{begin:/(?=\b(var|final)\b)/dgv,end:/(?=(?=\n?$))|(;)/dgv,endCaptures:{"1":{name:"punctuation.terminator.hx"}},patterns:[{include:"#variable-name"},{include:"#variable-name-next"},{include:"#variable-assign"},{include:"#variable-name-post"}]},"variable-accessors":{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.parameters.begin.hx"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.parameters.end.hx"}},name:"meta.parameters.hx",patterns:[{include:"#global"},{include:"#keywords-accessor"},{include:"#accessor-method"},{include:"#punctuation-comma"}]},"variable-assign":{begin:/=/dgv,beginCaptures:{"0":{name:"keyword.operator.assignment.hx"}},end:/(?=[\,\;])/dgv,patterns:[{include:"#block"},{include:"#block-contents"}]},"variable-name":{begin:/\b(var|final)\b/dgv,beginCaptures:{"1":{name:"storage.type.variable.hx"}},end:/(?=(?=\n?$))|([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)/dgv,endCaptures:{"1":{name:"variable.other.hx"}},patterns:[{include:"#operator-optional"}]},"variable-name-next":{begin:/,/dgv,beginCaptures:{"0":{name:"punctuation.separator.comma.hx"}},end:/([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)/dgv,endCaptures:{"1":{name:"variable.other.hx"}},patterns:[{include:"#global"}]},"variable-name-post":{begin:/(?<=[\p{L}\p{M}\p{N}\p{Pc}])/dgv,end:/(?=;)|(?==)/dgv,patterns:[{include:"#variable-accessors"},{include:"#variable-type-hint"},{include:"#block-contents"}]},"variable-type-hint":{begin:/:/dgv,beginCaptures:{"0":{name:"keyword.operator.type.annotation.hx"}},end:/(?=(?=\n?$)|[\,\;\=])/dgv,patterns:[{include:"#type"}]}},scopeName:"source.hx",embeddedLangs:undefined,aliases:undefined})
2
2
 
3
3
  export default [
4
4
  lang
package/dist/index.mjs CHANGED
@@ -226,6 +226,7 @@ export const languageNames = [
226
226
  "vue-html",
227
227
  "vue-interpolations",
228
228
  "vue-sfc-style-variable-injection",
229
+ "vue-vine",
229
230
  "vyper",
230
231
  "wasm",
231
232
  "wenyan",