@shikijs/langs-precompiled 3.21.0 → 3.23.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/actionscript-3.mjs +1 -1
- package/dist/asciidoc.mjs +1 -1
- package/dist/bird.d.mts +3 -0
- package/dist/bird.mjs +2 -0
- package/dist/bird2.d.mts +3 -0
- package/dist/bird2.mjs +5 -0
- package/dist/c3.mjs +1 -1
- package/dist/csharp.mjs +1 -1
- package/dist/gd.d.mts +3 -0
- package/dist/gd.mjs +2 -0
- package/dist/gdresource.mjs +1 -1
- package/dist/gdscript.mjs +1 -1
- package/dist/go.mjs +1 -1
- package/dist/index.mjs +11 -0
- package/dist/just.d.mts +3 -0
- package/dist/just.mjs +18 -0
- package/dist/latex.mjs +1 -1
- package/dist/llvm.mjs +1 -1
- package/dist/lua.mjs +1 -1
- package/dist/marko.mjs +1 -1
- package/dist/mdc.mjs +1 -1
- package/dist/mojo.mjs +1 -1
- package/dist/moonbit.mjs +3 -1
- package/dist/move.mjs +1 -1
- package/dist/nextflow-groovy.d.mts +3 -0
- package/dist/nextflow-groovy.mjs +5 -0
- package/dist/nextflow.mjs +4 -1
- package/dist/nushell.mjs +1 -1
- package/dist/odin.d.mts +3 -0
- package/dist/odin.mjs +5 -0
- package/dist/php.mjs +1 -1
- package/dist/ron.d.mts +3 -0
- package/dist/ron.mjs +5 -0
- package/dist/ruby.mjs +1 -1
- package/dist/surql.d.mts +3 -0
- package/dist/surql.mjs +2 -0
- package/dist/surrealql.d.mts +3 -0
- package/dist/surrealql.mjs +8 -0
- package/dist/svelte.mjs +1 -1
- package/dist/swift.mjs +1 -1
- package/dist/tex.mjs +1 -1
- package/dist/tres.d.mts +3 -0
- package/dist/tres.mjs +2 -0
- package/dist/tscn.d.mts +3 -0
- package/dist/tscn.mjs +2 -0
- package/package.json +14 -3
package/dist/gd.d.mts
ADDED
package/dist/gd.mjs
ADDED
package/dist/gdresource.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import gdshader from './gdshader.mjs'
|
|
2
2
|
import gdscript from './gdscript.mjs'
|
|
3
3
|
|
|
4
|
-
const lang = Object.freeze({displayName:"GDResource",name:"gdresource",patterns:[{include:"#embedded_shader"},{include:"#embedded_gdscript"},{include:"#comment"},{include:"#heading"},{include:"#key_value"}],repository:{comment:{captures:{"1":{name:"punctuation.definition.comment.gdresource"}},match:/(;)[^\n]*(?=\n?$)\n?/dgv,name:"comment.line.gdresource"},data:{patterns:[{include:"#comment"},{begin:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(\{)\p{space}*/dgv,beginCaptures:{"1":{name:"punctuation.definition.table.inline.gdresource"}},end:/\p{space}*(\})(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,endCaptures:{"1":{name:"punctuation.definition.table.inline.gdresource"}},patterns:[{include:"#key_value"},{include:"#data"}]},{begin:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(\[)\p{space}*/dgv,beginCaptures:{"1":{name:"punctuation.definition.array.gdresource"}},end:/\p{space}*(\])(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,endCaptures:{"1":{name:"punctuation.definition.array.gdresource"}},patterns:[{include:"#data"}]},{begin:/"""/dgv,end:/"""/dgv,name:"string.quoted.triple.basic.block.gdresource",patterns:[{match:/\\([\n "\/\\bfnrt]|u\p{AHex}{4}|U\p{AHex}{8})/dgv,name:"constant.character.escape.gdresource"},{match:/\\[^\n"\/\\bfnrt]/dgv,name:"invalid.illegal.escape.gdresource"}]},{match:/"res:\/\/[^"\\]*(?:\\[^\n][^"\\]*)*"/dgv,name:"support.function.any-method.gdresource"},{match:/(?<=type=)"[^"\\]*(?:\\[^\n][^"\\]*)*"/dgv,name:"support.class.library.gdresource"},{match:/(?<=NodePath\(|parent=|name=)"[^"\\]*(?:\\[^\n][^"\\]*)*"/dgv,name:"constant.character.escape.gdresource"},{begin:/"/dgv,end:/"/dgv,name:"string.quoted.double.basic.line.gdresource",patterns:[{match:/\\([\n "\/\\bfnrt]|u\p{AHex}{4}|U\p{AHex}{8})/dgv,name:"constant.character.escape.gdresource"},{match:/\\[^\n"\/\\bfnrt]/dgv,name:"invalid.illegal.escape.gdresource"}]},{match:/'[^\n]*?'/dgv,name:"string.quoted.single.literal.line.gdresource"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(true|false)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"constant.language.gdresource"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])([\-\+]?(0|([1-9](([0-9]|_[0-9])+)?))(?:(?:\.(0|([1-9](([0-9]|_[0-9])+)?)))?[Ee][\-\+]?[1-9]_?[0-9]*|\.[0-9_]*))(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"constant.numeric.float.gdresource"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])([\-\+]?(0|([1-9](([0-9]|_[0-9])+)?)))(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"constant.numeric.integer.gdresource"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])([\-\+]?inf)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"constant.numeric.inf.gdresource"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])([\-\+]?nan)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"constant.numeric.nan.gdresource"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(0x((\p{AHex}((_??\p{AHex})+)?)))(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"constant.numeric.hex.gdresource"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(0o[0-7](_?[0-7])*)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"constant.numeric.oct.gdresource"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(0b[01](_?[01])*)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"constant.numeric.bin.gdresource"},{begin:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(Vector2i??|Vector3i??|Color|Rect2i??|Array|Basis|Dictionary|Plane|Quat|RID|Rect3|Transform|Transform2D|Transform3D|AABB|String|Color|NodePath|Object|PoolByteArray|PoolIntArray|PoolRealArray|PoolStringArray|PoolVector2Array|PoolVector3Array|PoolColorArray|bool|int|float|StringName|Quaternion|PackedByteArray|PackedInt32Array|PackedInt64Array|PackedFloat32Array|PackedFloat64Array|PackedStringArray|PackedVector2Array|PackedVector2iArray|PackedVector3Array|PackedVector3iArray|PackedColorArray)(\()\p{space}?/dgv,beginCaptures:{"1":{name:"support.class.library.gdresource"}},end:/\p{space}?(\))/dgv,patterns:[{include:"#key_value"},{include:"#data"}]},{begin:/(?<![\p{L}\p{M}\p{N}\p{Pc}])((?:Ext|Sub)Resource)(\()\p{space}?/dgv,beginCaptures:{"1":{name:"keyword.control.gdresource"}},end:/\p{space}?(\))/dgv,patterns:[{include:"#key_value"},{include:"#data"}]}]},embedded_gdscript:{begin:/(script\/source) = "/dgv,beginCaptures:{"1":{name:"variable.other.property.gdresource"}},end:/"/dgv,patterns:[{include:"source.gdscript"}]},embedded_shader:{begin:/(code) = "/dgv,beginCaptures:{"1":{name:"variable.other.property.gdresource"}},end:/"/dgv,name:"meta.embedded.block.gdshader",patterns:[{include:"source.gdshader"}]},heading:{begin:/\[([_a-z]*)\p{space}?/dgv,beginCaptures:{"1":{name:"keyword.control.gdresource"}},end:/\]/dgv,patterns:[{include:"#heading_properties"},{include:"#data"}]},heading_properties:{patterns:[{match:/(\p{space}*[\-A-Z_a-z][\-0-9A-Z_a-z]*\p{space}*=)(?=\p{space}*(?=\n?$))/dgv,name:"invalid.illegal.noValue.gdresource"},{begin:/\p{space}*([\-A-Z_a-z]\P{space}*|"[^\n]+"|'[^\n]+'|[0-9]+)\p{space}*(=)\p{space}*/dgv,beginCaptures:{"1":{name:"variable.other.property.gdresource"},"2":{name:"punctuation.definition.keyValue.gdresource"}},end:/((?=\n?$)|(?==)|,?|\p{space}*(?=\}))/dgv,patterns:[{include:"#data"}]}]},key_value:{patterns:[{match:/(\p{space}*[\-A-Z_a-z][\-0-9A-Z_a-z]*\p{space}*=)(?=\p{space}*(?=\n?$))/dgv,name:"invalid.illegal.noValue.gdresource"},{begin:/\p{space}*([\-A-Z_a-z]\P{space}*|"[^\n]+"|'[^\n]+'|[0-9]+)\p{space}*(=)\p{space}*/dgv,beginCaptures:{"1":{name:"variable.other.property.gdresource"},"2":{name:"punctuation.definition.keyValue.gdresource"}},end:/((?=\n?$)|(?==)|,|\p{space}*(?=\}))/dgv,patterns:[{include:"#data"}]}]}},scopeName:"source.gdresource",embeddedLangs:["gdshader","gdscript"],aliases:
|
|
4
|
+
const lang = Object.freeze({displayName:"GDResource",name:"gdresource",patterns:[{include:"#embedded_shader"},{include:"#embedded_gdscript"},{include:"#comment"},{include:"#heading"},{include:"#key_value"}],repository:{comment:{captures:{"1":{name:"punctuation.definition.comment.gdresource"}},match:/(;)[^\n]*(?=\n?$)\n?/dgv,name:"comment.line.gdresource"},data:{patterns:[{include:"#comment"},{begin:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(\{)\p{space}*/dgv,beginCaptures:{"1":{name:"punctuation.definition.table.inline.gdresource"}},end:/\p{space}*(\})(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,endCaptures:{"1":{name:"punctuation.definition.table.inline.gdresource"}},patterns:[{include:"#key_value"},{include:"#data"}]},{begin:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(\[)\p{space}*/dgv,beginCaptures:{"1":{name:"punctuation.definition.array.gdresource"}},end:/\p{space}*(\])(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,endCaptures:{"1":{name:"punctuation.definition.array.gdresource"}},patterns:[{include:"#data"}]},{begin:/"""/dgv,end:/"""/dgv,name:"string.quoted.triple.basic.block.gdresource",patterns:[{match:/\\([\n "\/\\bfnrt]|u\p{AHex}{4}|U\p{AHex}{8})/dgv,name:"constant.character.escape.gdresource"},{match:/\\[^\n"\/\\bfnrt]/dgv,name:"invalid.illegal.escape.gdresource"}]},{match:/"res:\/\/[^"\\]*(?:\\[^\n][^"\\]*)*"/dgv,name:"support.function.any-method.gdresource"},{match:/(?<=type=)"[^"\\]*(?:\\[^\n][^"\\]*)*"/dgv,name:"support.class.library.gdresource"},{match:/(?<=NodePath\(|parent=|name=)"[^"\\]*(?:\\[^\n][^"\\]*)*"/dgv,name:"constant.character.escape.gdresource"},{begin:/"/dgv,end:/"/dgv,name:"string.quoted.double.basic.line.gdresource",patterns:[{match:/\\([\n "\/\\bfnrt]|u\p{AHex}{4}|U\p{AHex}{8})/dgv,name:"constant.character.escape.gdresource"},{match:/\\[^\n"\/\\bfnrt]/dgv,name:"invalid.illegal.escape.gdresource"}]},{match:/'[^\n]*?'/dgv,name:"string.quoted.single.literal.line.gdresource"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(true|false)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"constant.language.gdresource"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])([\-\+]?(0|([1-9](([0-9]|_[0-9])+)?))(?:(?:\.(0|([1-9](([0-9]|_[0-9])+)?)))?[Ee][\-\+]?[1-9]_?[0-9]*|\.[0-9_]*))(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"constant.numeric.float.gdresource"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])([\-\+]?(0|([1-9](([0-9]|_[0-9])+)?)))(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"constant.numeric.integer.gdresource"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])([\-\+]?inf)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"constant.numeric.inf.gdresource"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])([\-\+]?nan)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"constant.numeric.nan.gdresource"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(0x((\p{AHex}((_??\p{AHex})+)?)))(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"constant.numeric.hex.gdresource"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(0o[0-7](_?[0-7])*)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"constant.numeric.oct.gdresource"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(0b[01](_?[01])*)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"constant.numeric.bin.gdresource"},{begin:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(Vector2i??|Vector3i??|Color|Rect2i??|Array|Basis|Dictionary|Plane|Quat|RID|Rect3|Transform|Transform2D|Transform3D|AABB|String|Color|NodePath|Object|PoolByteArray|PoolIntArray|PoolRealArray|PoolStringArray|PoolVector2Array|PoolVector3Array|PoolColorArray|bool|int|float|StringName|Quaternion|PackedByteArray|PackedInt32Array|PackedInt64Array|PackedFloat32Array|PackedFloat64Array|PackedStringArray|PackedVector2Array|PackedVector2iArray|PackedVector3Array|PackedVector3iArray|PackedColorArray)(\()\p{space}?/dgv,beginCaptures:{"1":{name:"support.class.library.gdresource"}},end:/\p{space}?(\))/dgv,patterns:[{include:"#key_value"},{include:"#data"}]},{begin:/(?<![\p{L}\p{M}\p{N}\p{Pc}])((?:Ext|Sub)Resource)(\()\p{space}?/dgv,beginCaptures:{"1":{name:"keyword.control.gdresource"}},end:/\p{space}?(\))/dgv,patterns:[{include:"#key_value"},{include:"#data"}]}]},embedded_gdscript:{begin:/(script\/source) = "/dgv,beginCaptures:{"1":{name:"variable.other.property.gdresource"}},end:/"/dgv,patterns:[{include:"source.gdscript"}]},embedded_shader:{begin:/(code) = "/dgv,beginCaptures:{"1":{name:"variable.other.property.gdresource"}},end:/"/dgv,name:"meta.embedded.block.gdshader",patterns:[{include:"source.gdshader"}]},heading:{begin:/\[([_a-z]*)\p{space}?/dgv,beginCaptures:{"1":{name:"keyword.control.gdresource"}},end:/\]/dgv,patterns:[{include:"#heading_properties"},{include:"#data"}]},heading_properties:{patterns:[{match:/(\p{space}*[\-A-Z_a-z][\-0-9A-Z_a-z]*\p{space}*=)(?=\p{space}*(?=\n?$))/dgv,name:"invalid.illegal.noValue.gdresource"},{begin:/\p{space}*([\-A-Z_a-z]\P{space}*|"[^\n]+"|'[^\n]+'|[0-9]+)\p{space}*(=)\p{space}*/dgv,beginCaptures:{"1":{name:"variable.other.property.gdresource"},"2":{name:"punctuation.definition.keyValue.gdresource"}},end:/((?=\n?$)|(?==)|,?|\p{space}*(?=\}))/dgv,patterns:[{include:"#data"}]}]},key_value:{patterns:[{match:/(\p{space}*[\-A-Z_a-z][\-0-9A-Z_a-z]*\p{space}*=)(?=\p{space}*(?=\n?$))/dgv,name:"invalid.illegal.noValue.gdresource"},{begin:/\p{space}*([\-A-Z_a-z]\P{space}*|"[^\n]+"|'[^\n]+'|[0-9]+)\p{space}*(=)\p{space}*/dgv,beginCaptures:{"1":{name:"variable.other.property.gdresource"},"2":{name:"punctuation.definition.keyValue.gdresource"}},end:/((?=\n?$)|(?==)|,|\p{space}*(?=\}))/dgv,patterns:[{include:"#data"}]}]}},scopeName:"source.gdresource",embeddedLangs:["gdshader","gdscript"],aliases:["tscn","tres"]})
|
|
5
5
|
|
|
6
6
|
export default [
|
|
7
7
|
...gdshader,
|
package/dist/gdscript.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { EmulatedRegExp } from 'oniguruma-to-es'
|
|
2
2
|
|
|
3
|
-
const lang = Object.freeze({displayName:"GDScript",fileTypes:["gd"],name:"gdscript",patterns:[{include:"#statement"},{include:"#expression"}],repository:{annotated_parameter:{begin:/\p{space}*([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(:)\p{space}*([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)?/dgv,beginCaptures:{"1":{name:"variable.parameter.function.language.gdscript"},"2":{name:"punctuation.separator.annotation.gdscript"},"3":{name:"entity.name.type.class.gdscript"}},end:/(,)|(?=\))/dgv,endCaptures:{"1":{name:"punctuation.separator.parameters.gdscript"}},patterns:[{include:"#expression"},{match:/=(?!=)/dgv,name:"keyword.operator.assignment.gdscript"}]},annotations:{captures:{"1":{name:"entity.name.function.decorator.gdscript"},"2":{name:"entity.name.function.decorator.gdscript"}},match:/(@)(abstract|export|export_category|export_color_no_alpha|export_custom|export_dir|export_enum|export_exp_easing|export_file|export_file_path|export_flags|export_flags_2d_navigation|export_flags_2d_physics|export_flags_2d_render|export_flags_3d_navigation|export_flags_3d_physics|export_flags_3d_render|export_flags_avoidance|export_global_dir|export_global_file|export_group|export_multiline|export_node_path|export_placeholder|export_range|export_storage|export_subgroup|export_tool_button|icon|onready|rpc|static_unload|tool|warning_ignore|warning_ignore_restore|warning_ignore_start)\b/dgv},any_method:{match:/\b([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)\b(?=\p{space}*\()/dgv,name:"entity.name.function.other.gdscript"},any_property:{captures:{"1":{name:"punctuation.accessor.gdscript"},"2":{name:"constant.language.gdscript"},"3":{name:"variable.other.property.gdscript"}},match:/\b(\.)\p{space}*(?<![\#\$\%\@])(?:([A-Z_][0-9A-Z_]*)|([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*))\b(?!\()/dgv},any_variable:{match:/\b(?<![\#\$\%\@])([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)\b(?!\()/dgv,name:"variable.other.gdscript"},arithmetic_operator:{match:/->|\+=|-=|\*\*=|\*=|\^=|\/=|%=|&=|~=|\|=|\*\*|[\-\%\*\+\/]/dgv,name:"keyword.operator.arithmetic.gdscript"},assignment_operator:{match:/=/dgv,name:"keyword.operator.assignment.gdscript"},base_expression:{patterns:[{include:"#builtin_get_node_shorthand"},{include:"#nodepath_object"},{include:"#nodepath_function"},{include:"#strings"},{include:"#builtin_classes"},{include:"#const_vars"},{include:"#keywords"},{include:"#operators"},{include:"#lambda_declaration"},{include:"#class_declaration"},{include:"#variable_declaration"},{include:"#signal_declaration_bare"},{include:"#signal_declaration"},{include:"#function_declaration"},{include:"#statement_keyword"},{include:"#assignment_operator"},{include:"#in_keyword"},{include:"#control_flow"},{include:"#match_keyword"},{include:"#curly_braces"},{include:"#square_braces"},{include:"#round_braces"},{include:"#function_call"},{include:"#region"},{include:"#comment"},{include:"#func"},{include:"#letter"},{include:"#numbers"},{include:"#pascal_case_class"},{include:"#line_continuation"}]},bitwise_operator:{match:/[\&\|]|<<=|>>=|<<|>>|[\^\~]/dgv,name:"keyword.operator.bitwise.gdscript"},boolean_operator:{match:/(&&|\|\|)/dgv,name:"keyword.operator.boolean.gdscript"},builtin_classes:{match:/(?<![^\.]\.|:)\b(Vector2i??|Vector3i??|Vector4i??|Color|Rect2i??|Array|Basis|Dictionary|Plane|Quat|RID|Rect3|Transform|Transform2D|Transform3D|AABB|String|Color|NodePath|PoolByteArray|PoolIntArray|PoolRealArray|PoolStringArray|PoolVector2Array|PoolVector3Array|PoolColorArray|bool|int|float|Signal|Callable|StringName|Quaternion|Projection|PackedByteArray|PackedInt32Array|PackedInt64Array|PackedFloat32Array|PackedFloat64Array|PackedStringArray|PackedVector2Array|PackedVector2iArray|PackedVector3Array|PackedVector3iArray|PackedVector4Array|PackedColorArray|JSON|UPNP|OS|IP|JSONRPC|XRVRS|Variant|void)\b/dgv,name:"entity.name.type.class.builtin.gdscript"},builtin_get_node_shorthand:{patterns:[{include:"#builtin_get_node_shorthand_quoted"},{include:"#builtin_get_node_shorthand_bare"},{include:"#builtin_get_node_shorthand_bare_multi"}]},builtin_get_node_shorthand_bare:{captures:{"1":{name:"keyword.control.flow.gdscript"},"2":{name:"constant.character.escape.gdscript"},"3":{name:"constant.character.escape.gdscript"},"4":{name:"constant.character.escape.gdscript"}},match:/(?<!\/\p{space}*)(\$\p{space}*|%|\$%\p{space}*)(\/\p{space}*)?([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)\b(?!\p{space}*\/)/dgv,name:"meta.literal.nodepath.bare.gdscript"},builtin_get_node_shorthand_bare_multi:{begin:/(\$\p{space}*|%|\$%\p{space}*)(\/\p{space}*)?([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)/dgv,beginCaptures:{"1":{name:"keyword.control.flow.gdscript"},"2":{name:"constant.character.escape.gdscript"},"3":{name:"constant.character.escape.gdscript"}},end:/(?!\p{space}*\/\p{space}*%?\p{space}*[A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)/dgv,name:"meta.literal.nodepath.bare.gdscript",patterns:[{captures:{"1":{name:"constant.character.escape.gdscript"},"2":{name:"keyword.control.flow.gdscript"},"3":{name:"constant.character.escape.gdscript"}},match:/(\/)\p{space}*(%)?\p{space}*([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*/dgv}]},builtin_get_node_shorthand_quoted:{begin:/(?:([\$\%])|([\&\@\^]))(["'])/dgv,beginCaptures:{"1":{name:"keyword.control.flow.gdscript"},"2":{name:"variable.other.enummember.gdscript"}},end:/(\3)()()/dgv,name:"string.quoted.gdscript meta.literal.nodepath.gdscript constant.character.escape.gdscript",patterns:[{match:/%/dgv,name:"keyword.control.flow"}]},class_declaration:{captures:{"1":{name:"entity.name.type.class.gdscript"},"2":{name:"class.other.gdscript"}},match:/(?<=^class)\p{space}+([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(?=:)/dgv},class_enum:{captures:{"1":{name:"entity.name.type.class.gdscript"},"2":{name:"variable.other.enummember.gdscript"}},match:/\b([A-Z][0-9A-Z_a-z]*)\.([0-9A-Z_]+)/dgv},class_is:{captures:{"1":{name:"storage.type.is.gdscript"},"2":{name:"entity.name.type.class.gdscript"}},match:/\p{space}+(is)\p{space}+([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)/dgv},class_name:{captures:{"1":{name:"entity.name.type.class.gdscript"},"2":{name:"class.other.gdscript"}},match:/(?<=class_name)\p{space}+([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*(\.([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*))?)/dgv},class_new:{captures:{"1":{name:"entity.name.type.class.gdscript"},"2":{name:"storage.type.new.gdscript"},"3":{name:"punctuation.parenthesis.begin.gdscript"}},match:/\b([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)[^\n](new)\(/dgv},comment:{captures:{"1":{name:"punctuation.definition.comment.number-sign.gdscript"}},match:/(##?)[^\n]*(?=\n?$)\n?/dgv,name:"comment.line.number-sign.gdscript"},compare_operator:{match:/<=|>=|==|[\<\>]|!=?/dgv,name:"keyword.operator.comparison.gdscript"},const_vars:{match:/\b([A-Z_][0-9A-Z_]*)\b/dgv,name:"variable.other.constant.gdscript"},control_flow:{match:/\b(?:if|elif|else|while|break|continue|pass|return|when|yield|await)\b/dgv,name:"keyword.control.gdscript"},curly_braces:{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.dict.begin.gdscript"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.dict.end.gdscript"}},patterns:[{include:"#base_expression"},{include:"#any_variable"}]},expression:{patterns:[{include:"#getter_setter_godot4"},{include:"#base_expression"},{include:"#assignment_operator"},{include:"#annotations"},{include:"#class_name"},{include:"#builtin_classes"},{include:"#class_new"},{include:"#class_is"},{include:"#class_enum"},{include:"#any_method"},{include:"#any_variable"},{include:"#any_property"}]},extends_statement:{captures:{"1":{name:"keyword.language.gdscript"},"2":{name:"entity.other.inherited-class.gdscript"}},match:/(extends)\p{space}+([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*\.[A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)?/dgv},func:{match:/\bfunc\b/dgv,name:"keyword.language.gdscript storage.type.function.gdscript"},function_arguments:{begin:/(\()/dgv,beginCaptures:{"1":{name:"punctuation.definition.arguments.begin.gdscript"}},contentName:"meta.function.parameters.gdscript",end:/(?=\))(?!\)\p{space}*\()/dgv,patterns:[{match:/(,)/dgv,name:"punctuation.separator.arguments.gdscript"},{captures:{"1":{name:"variable.parameter.function-call.gdscript"},"2":{name:"keyword.operator.assignment.gdscript"}},match:/\b([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(=)(?!=)/dgv},{match:/=(?!=)/dgv,name:"keyword.operator.assignment.gdscript"},{include:"#base_expression"},{captures:{"1":{name:"punctuation.definition.arguments.end.gdscript"},"2":{name:"punctuation.definition.arguments.begin.gdscript"}},match:/\p{space}*(\))\p{space}*(\()/dgv},{include:"#letter"},{include:"#any_variable"},{include:"#any_property"},{include:"#keywords"}]},function_call:{begin:/(?=\b[A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*\b\()/dgv,end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.definition.arguments.end.gdscript"}},name:"meta.function-call.gdscript",patterns:[{include:"#function_name"},{include:"#function_arguments"}]},function_declaration:{begin:/\p{space}*(func)\p{space}+([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(?=\()/dgv,beginCaptures:{"1":{name:"keyword.language.gdscript storage.type.function.gdscript"},"2":{name:"entity.name.function.gdscript"}},end:/(:)/dgv,endCaptures:{"1":{name:"punctuation.section.function.begin.gdscript"}},name:"meta.function.gdscript",patterns:[{include:"#parameters"},{include:"#line_continuation"},{include:"#base_expression"}]},function_name:{patterns:[{include:"#builtin_classes"},{match:/\b(preload)\b/dgv,name:"keyword.language.gdscript"},{match:/\b([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)\b/dgv,name:"entity.name.function.gdscript"}]},getter_setter_godot4:{patterns:[{captures:{"1":{name:"entity.name.function.gdscript"},"2":{name:"punctuation.separator.annotation.gdscript"}},match:/(get)\p{space}*(:)/dgv,name:"meta.variable.declaration.getter.gdscript"},{captures:{"1":{name:"entity.name.function.gdscript"},"2":{name:"punctuation.definition.arguments.begin.gdscript"},"3":{name:"variable.other.gdscript"},"4":{name:"punctuation.definition.arguments.end.gdscript"},"5":{name:"punctuation.separator.annotation.gdscript"}},match:/(set)\p{space}*(\()\p{space}*([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(\))\p{space}*(:)/dgv,name:"meta.variable.declaration.setter.gdscript"}]},in_keyword:{patterns:[{begin:/\b(for)\b/dgv,captures:{"1":{name:"keyword.control.gdscript"}},end:/:/dgv,patterns:[{match:/\bin\b/dgv,name:"keyword.control.gdscript"},{include:"#base_expression"},{include:"#any_variable"},{include:"#any_property"}]},{match:/\bin\b/dgv,name:"keyword.operator.wordlike.gdscript"}]},keywords:{match:/\b(?:class|class_name|is|onready|tool|static|export|as|enum|assert|breakpoint|sync|remote|master|puppet|slave|remotesync|mastersync|puppetsync|trait|namespace|super|self)\b/dgv,name:"keyword.language.gdscript"},lambda_declaration:{begin:/(func)\p{space}?(?=\()/dgv,beginCaptures:{"1":{name:"keyword.language.gdscript storage.type.function.gdscript"},"2":{name:"entity.name.function.gdscript"}},end:/(:|(?=[\n"\#']))/dgv,end2:"(\\s*(\\-\\>)\\s*(void\\w*)|([a-zA-Z_]\\w*)\\s*\\:)",endCaptures2:{"1":{name:"punctuation.separator.annotation.result.gdscript"},"2":{name:"entity.name.type.class.builtin.gdscript"},"3":{name:"entity.name.type.class.gdscript markup.italic"}},name:"meta.function.gdscript",patterns:[{include:"#parameters"},{include:"#line_continuation"},{include:"#base_expression"},{include:"#any_variable"},{include:"#any_property"}]},letter:{match:/\b(?:true|false|null)\b/dgv,name:"constant.language.gdscript"},line_continuation:{patterns:[{captures:{"1":{name:"punctuation.separator.continuation.line.gdscript"},"2":{name:"invalid.illegal.line.continuation.gdscript"}},match:/(\\)\p{space}*(\P{space}[^\n]*(?=\n?$)\n?)/dgv},{begin:/(\\)\p{space}*(?=\n?$)\n?/dgv,beginCaptures:{"1":{name:"punctuation.separator.continuation.line.gdscript"}},end:/*@__PURE__*/ new EmulatedRegExp("(?=^\\p{space}*(?=\\n?$))|(?!(\\p{space}*[Rr]?('''|\"\"\"|[\"']))|^()(?=\\n?$))","dgv",{"strategy":"clip_search"}),patterns:[{include:"#base_expression"}]}]},loose_default:{begin:/(=)/dgv,beginCaptures:{"1":{name:"keyword.operator.gdscript"}},end:/(,)|(?=\))/dgv,endCaptures:{"1":{name:"punctuation.separator.parameters.gdscript"}},patterns:[{include:"#expression"}]},match_keyword:{captures:{"1":{name:"keyword.control.gdscript"}},match:/^\n\p{space}*(match)/dgv},nodepath_function:{begin:/(get_node_or_null|has_node|has_node_and_resource|find_node|get_node)\p{space}*(\()/dgv,beginCaptures:{"1":{name:"entity.name.function.gdscript"},"2":{name:"punctuation.definition.parameters.begin.gdscript"}},contentName:"meta.function.parameters.gdscript",end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.definition.parameters.end.gdscript"}},name:"meta.function.gdscript",patterns:[{begin:/(["'])/dgv,end:/\1()/dgv,name:"string.quoted.gdscript meta.literal.nodepath.gdscript constant.character.escape.gdscript",patterns:[{match:/%/dgv,name:"keyword.control.flow.gdscript"}]},{include:"#expression"}]},nodepath_object:{begin:/(NodePath)\p{space}*\(/dgv,beginCaptures:{"1":{name:"support.class.library.gdscript"}},end:/\)/dgv,name:"meta.literal.nodepath.gdscript",patterns:[{begin:/(["'])/dgv,end:/\1()/dgv,name:"string.quoted.gdscript constant.character.escape.gdscript",patterns:[{match:/%/dgv,name:"keyword.control.flow.gdscript"}]}]},numbers:{patterns:[{match:/0b[01_]+/dgv,name:"constant.numeric.integer.binary.gdscript"},{match:/0x[_\p{AHex}]+/dgv,name:"constant.numeric.integer.hexadecimal.gdscript"},{match:/\.[0-9][0-9_]*([Ee][\-\+]?[0-9_]+)?/dgv,name:"constant.numeric.float.gdscript"},{match:/([0-9][0-9_]*)\.[0-9_]*([Ee][\-\+]?[0-9_]+)?/dgv,name:"constant.numeric.float.gdscript"},{match:/([0-9][0-9_]*)?\.[0-9_]*([Ee][\-\+]?[0-9_]+)/dgv,name:"constant.numeric.float.gdscript"},{match:/[0-9][0-9_]*[Ee][\-\+]?[0-9_]+/dgv,name:"constant.numeric.float.gdscript"},{match:/-?[0-9][0-9_]*/dgv,name:"constant.numeric.integer.gdscript"}]},operators:{patterns:[{include:"#wordlike_operator"},{include:"#boolean_operator"},{include:"#arithmetic_operator"},{include:"#bitwise_operator"},{include:"#compare_operator"}]},parameters:{begin:/(\()/dgv,beginCaptures:{"1":{name:"punctuation.definition.parameters.begin.gdscript"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.definition.parameters.end.gdscript"}},name:"meta.function.parameters.gdscript",patterns:[{include:"#annotated_parameter"},{captures:{"1":{name:"variable.parameter.function.language.gdscript"},"2":{name:"punctuation.separator.parameters.gdscript"}},match:/([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(?:(,)|(?=[\n\#\)\=]))/dgv},{include:"#comment"},{include:"#loose_default"}]},pascal_case_class:{match:/\b[A-Z]+(?:[a-z]+[0-9A-Z_a-z]*)+\b/dgv,name:"entity.name.type.class.gdscript"},region:{match:/#(end)?region[^\n]*(?=\n?$)\n?/dgv,name:"keyword.language.region.gdscript"},round_braces:{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.parenthesis.begin.gdscript"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.parenthesis.end.gdscript"}},patterns:[{include:"#base_expression"},{include:"#any_variable"}]},signal_declaration:{begin:/\p{space}*(signal)\p{space}+([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(?=\()/dgv,beginCaptures:{"1":{name:"keyword.language.gdscript storage.type.function.gdscript"},"2":{name:"entity.name.function.gdscript"}},end:/((?=[\n"\#']))/dgv,name:"meta.signal.gdscript",patterns:[{include:"#parameters"},{include:"#line_continuation"}]},signal_declaration_bare:{captures:{"1":{name:"keyword.language.gdscript storage.type.function.gdscript"},"2":{name:"entity.name.function.gdscript"}},match:/\p{space}*(signal)\p{space}+([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)(?=[\n\p{space}])/dgv,name:"meta.signal.gdscript"},square_braces:{begin:/\[/dgv,beginCaptures:{"0":{name:"punctuation.definition.list.begin.gdscript"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.definition.list.end.gdscript"}},patterns:[{include:"#base_expression"},{include:"#any_variable"}]},statement:{patterns:[{include:"#extends_statement"}]},statement_keyword:{patterns:[{match:/\b(?<!\.)(continue|assert|break|elif|else|if|pass|return|while)\b/dgv,name:"keyword.control.flow.gdscript"},{match:/\b(?<!\.)(class)\b/dgv,name:"storage.type.class.gdscript"},{captures:{"1":{name:"keyword.control.flow.gdscript"}},match:/^\p{space}*(case|match)(?=\p{space}*([\-"\#'\(\+\:\[\{\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]|(?=\n?$)))\b/dgv}]},string_bracket_placeholders:{patterns:[{captures:{"1":{name:"constant.character.format.placeholder.other.gdscript"},"3":{name:"storage.type.format.gdscript"},"4":{name:"storage.type.format.gdscript"}},match:/(\{\{|\}\}|\{[\p{L}\p{M}\p{N}\p{Pc}]*(\.[_\p{Alpha}][\p{L}\p{M}\p{N}\p{Pc}]*|\[[^\]"']+\])*(![ars])?(:[\p{L}\p{M}\p{N}\p{Pc}]?[\<\=\>\^]?[\- \+]?#?\p{Nd}*,?(\.\p{Nd}+)?[\%EFGXb-gnosx]?)?\})/dgv,name:"meta.format.brace.gdscript"},{captures:{"1":{name:"constant.character.format.placeholder.other.gdscript"},"3":{name:"storage.type.format.gdscript"},"4":{name:"storage.type.format.gdscript"}},match:/(\{[\p{L}\p{M}\p{N}\p{Pc}]*(\.[_\p{Alpha}][\p{L}\p{M}\p{N}\p{Pc}]*|\[[^\]"']+\])*(![ars])?(:)[^\n"'\{\}]*(?:\{[^\n"'\}]*?\}[^\n"'\{\}]*)*\})/dgv,name:"meta.format.brace.gdscript"}]},string_percent_placeholders:{captures:{"1":{name:"constant.character.format.placeholder.other.gdscript"}},match:/(%(\([\p{L}\p{M}\p{N}\p{Pc}\p{space}]*\))?[\- \#\+0]*(\p{Nd}+|\*)?(\.(\p{Nd}+|\*))?([Lhl])?[\%EFGXa-giorsux])/dgv,name:"meta.format.percent.gdscript"},strings:{begin:/(r)?("""|'''|["'])/dgv,beginCaptures:{"1":{name:"constant.character.escape.gdscript"}},end:/\2()()/dgv,name:"string.quoted.gdscript",patterns:[{match:/\\[^\n]/dgv,name:"constant.character.escape.gdscript"},{include:"#string_percent_placeholders"},{include:"#string_bracket_placeholders"}]},variable_declaration:{begin:/\b(?:(var)|(const))\b/dgv,beginCaptures:{"1":{name:"keyword.language.gdscript storage.type.var.gdscript"},"2":{name:"keyword.language.gdscript storage.type.const.gdscript"}},end:/(?=\n?$)|;/dgv,name:"meta.variable.declaration.gdscript",patterns:[{captures:{"1":{name:"punctuation.separator.annotation.gdscript"},"2":{name:"entity.name.function.gdscript"},"3":{name:"entity.name.function.gdscript"}},match:/(:)?\p{space}*([gs]et)\p{space}+=\p{space}+([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)/dgv},{match:/:=|=(?!=)/dgv,name:"keyword.operator.assignment.gdscript"},{captures:{"1":{name:"punctuation.separator.annotation.gdscript"},"2":{name:"entity.name.type.class.gdscript"}},match:/(:)\p{space}*([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)?/dgv},{captures:{"1":{name:"keyword.language.gdscript"},"2":{name:"entity.name.function.gdscript"},"3":{name:"entity.name.function.gdscript"}},match:/(setget)\p{space}+([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)(?:,\p{space}*([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*))?/dgv},{include:"#expression"},{include:"#letter"},{include:"#any_variable"},{include:"#any_property"},{include:"#keywords"}]},wordlike_operator:{match:/\b(and|or|not)\b/dgv,name:"keyword.operator.wordlike.gdscript"}},scopeName:"source.gdscript",embeddedLangs:undefined,aliases:undefined})
|
|
3
|
+
const lang = Object.freeze({displayName:"GDScript",fileTypes:["gd"],name:"gdscript",patterns:[{include:"#statement"},{include:"#expression"}],repository:{annotated_parameter:{begin:/\p{space}*([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(:)\p{space}*([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)?/dgv,beginCaptures:{"1":{name:"variable.parameter.function.language.gdscript"},"2":{name:"punctuation.separator.annotation.gdscript"},"3":{name:"entity.name.type.class.gdscript"}},end:/(,)|(?=\))/dgv,endCaptures:{"1":{name:"punctuation.separator.parameters.gdscript"}},patterns:[{include:"#expression"},{match:/=(?!=)/dgv,name:"keyword.operator.assignment.gdscript"}]},annotations:{captures:{"1":{name:"entity.name.function.decorator.gdscript"},"2":{name:"entity.name.function.decorator.gdscript"}},match:/(@)(abstract|export|export_category|export_color_no_alpha|export_custom|export_dir|export_enum|export_exp_easing|export_file|export_file_path|export_flags|export_flags_2d_navigation|export_flags_2d_physics|export_flags_2d_render|export_flags_3d_navigation|export_flags_3d_physics|export_flags_3d_render|export_flags_avoidance|export_global_dir|export_global_file|export_group|export_multiline|export_node_path|export_placeholder|export_range|export_storage|export_subgroup|export_tool_button|icon|onready|rpc|static_unload|tool|warning_ignore|warning_ignore_restore|warning_ignore_start)\b/dgv},any_method:{match:/\b([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)\b(?=\p{space}*\()/dgv,name:"entity.name.function.other.gdscript"},any_property:{captures:{"1":{name:"punctuation.accessor.gdscript"},"2":{name:"constant.language.gdscript"},"3":{name:"variable.other.property.gdscript"}},match:/\b(\.)\p{space}*(?<![\#\$\%\@])(?:([A-Z_][0-9A-Z_]*)|([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*))\b(?!\()/dgv},any_variable:{match:/\b(?<![\#\$\%\@])([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)\b(?!\()/dgv,name:"variable.other.gdscript"},arithmetic_operator:{match:/->|\+=|-=|\*\*=|\*=|\^=|\/=|%=|&=|~=|\|=|\*\*|[\-\%\*\+\/]/dgv,name:"keyword.operator.arithmetic.gdscript"},assignment_operator:{match:/=/dgv,name:"keyword.operator.assignment.gdscript"},base_expression:{patterns:[{include:"#builtin_get_node_shorthand"},{include:"#nodepath_object"},{include:"#nodepath_function"},{include:"#strings"},{include:"#builtin_classes"},{include:"#const_vars"},{include:"#keywords"},{include:"#operators"},{include:"#lambda_declaration"},{include:"#class_declaration"},{include:"#variable_declaration"},{include:"#signal_declaration_bare"},{include:"#signal_declaration"},{include:"#function_declaration"},{include:"#statement_keyword"},{include:"#assignment_operator"},{include:"#in_keyword"},{include:"#control_flow"},{include:"#match_keyword"},{include:"#curly_braces"},{include:"#square_braces"},{include:"#round_braces"},{include:"#function_call"},{include:"#region"},{include:"#comment"},{include:"#func"},{include:"#letter"},{include:"#numbers"},{include:"#pascal_case_class"},{include:"#line_continuation"}]},bitwise_operator:{match:/[\&\|]|<<=|>>=|<<|>>|[\^\~]/dgv,name:"keyword.operator.bitwise.gdscript"},boolean_operator:{match:/(&&|\|\|)/dgv,name:"keyword.operator.boolean.gdscript"},builtin_classes:{match:/(?<![^\.]\.|:)\b(Vector2i??|Vector3i??|Vector4i??|Color|Rect2i??|Array|Basis|Dictionary|Plane|Quat|RID|Rect3|Transform|Transform2D|Transform3D|AABB|String|Color|NodePath|PoolByteArray|PoolIntArray|PoolRealArray|PoolStringArray|PoolVector2Array|PoolVector3Array|PoolColorArray|bool|int|float|Signal|Callable|StringName|Quaternion|Projection|PackedByteArray|PackedInt32Array|PackedInt64Array|PackedFloat32Array|PackedFloat64Array|PackedStringArray|PackedVector2Array|PackedVector2iArray|PackedVector3Array|PackedVector3iArray|PackedVector4Array|PackedColorArray|JSON|UPNP|OS|IP|JSONRPC|XRVRS|Variant|void)\b/dgv,name:"entity.name.type.class.builtin.gdscript"},builtin_get_node_shorthand:{patterns:[{include:"#builtin_get_node_shorthand_quoted"},{include:"#builtin_get_node_shorthand_bare"},{include:"#builtin_get_node_shorthand_bare_multi"}]},builtin_get_node_shorthand_bare:{captures:{"1":{name:"keyword.control.flow.gdscript"},"2":{name:"constant.character.escape.gdscript"},"3":{name:"constant.character.escape.gdscript"},"4":{name:"constant.character.escape.gdscript"}},match:/(?<!\/\p{space}*)(\$\p{space}*|%|\$%\p{space}*)(\/\p{space}*)?([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)\b(?!\p{space}*\/)/dgv,name:"meta.literal.nodepath.bare.gdscript"},builtin_get_node_shorthand_bare_multi:{begin:/(\$\p{space}*|%|\$%\p{space}*)(\/\p{space}*)?([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)/dgv,beginCaptures:{"1":{name:"keyword.control.flow.gdscript"},"2":{name:"constant.character.escape.gdscript"},"3":{name:"constant.character.escape.gdscript"}},end:/(?!\p{space}*\/\p{space}*%?\p{space}*[A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)/dgv,name:"meta.literal.nodepath.bare.gdscript",patterns:[{captures:{"1":{name:"constant.character.escape.gdscript"},"2":{name:"keyword.control.flow.gdscript"},"3":{name:"constant.character.escape.gdscript"}},match:/(\/)\p{space}*(%)?\p{space}*([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*/dgv}]},builtin_get_node_shorthand_quoted:{begin:/(?:([\$\%])|([\&\@\^]))(["'])/dgv,beginCaptures:{"1":{name:"keyword.control.flow.gdscript"},"2":{name:"variable.other.enummember.gdscript"}},end:/(\3)()()/dgv,name:"string.quoted.gdscript meta.literal.nodepath.gdscript constant.character.escape.gdscript",patterns:[{match:/%/dgv,name:"keyword.control.flow"}]},class_declaration:{captures:{"1":{name:"entity.name.type.class.gdscript"},"2":{name:"class.other.gdscript"}},match:/(?<=^class)\p{space}+([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(?=:)/dgv},class_enum:{captures:{"1":{name:"entity.name.type.class.gdscript"},"2":{name:"variable.other.enummember.gdscript"}},match:/\b([A-Z][0-9A-Z_a-z]*)\.([0-9A-Z_]+)/dgv},class_is:{captures:{"1":{name:"storage.type.is.gdscript"},"2":{name:"entity.name.type.class.gdscript"}},match:/\p{space}+(is)\p{space}+([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)/dgv},class_name:{captures:{"1":{name:"entity.name.type.class.gdscript"},"2":{name:"class.other.gdscript"}},match:/(?<=class_name)\p{space}+([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*(\.([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*))?)/dgv},class_new:{captures:{"1":{name:"entity.name.type.class.gdscript"},"2":{name:"storage.type.new.gdscript"},"3":{name:"punctuation.parenthesis.begin.gdscript"}},match:/\b([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)[^\n](new)\(/dgv},comment:{captures:{"1":{name:"punctuation.definition.comment.number-sign.gdscript"}},match:/(##?)[^\n]*(?=\n?$)\n?/dgv,name:"comment.line.number-sign.gdscript"},compare_operator:{match:/<=|>=|==|[\<\>]|!=?/dgv,name:"keyword.operator.comparison.gdscript"},const_vars:{match:/\b([A-Z_][0-9A-Z_]*)\b/dgv,name:"variable.other.constant.gdscript"},control_flow:{match:/\b(?:if|elif|else|while|break|continue|pass|return|when|yield|await)\b/dgv,name:"keyword.control.gdscript"},curly_braces:{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.dict.begin.gdscript"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.dict.end.gdscript"}},patterns:[{include:"#base_expression"},{include:"#any_variable"}]},expression:{patterns:[{include:"#getter_setter_godot4"},{include:"#base_expression"},{include:"#assignment_operator"},{include:"#annotations"},{include:"#class_name"},{include:"#builtin_classes"},{include:"#class_new"},{include:"#class_is"},{include:"#class_enum"},{include:"#any_method"},{include:"#any_variable"},{include:"#any_property"}]},extends_statement:{captures:{"1":{name:"keyword.language.gdscript"},"2":{name:"entity.other.inherited-class.gdscript"}},match:/(extends)\p{space}+([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*\.[A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)?/dgv},func:{match:/\bfunc\b/dgv,name:"keyword.language.gdscript storage.type.function.gdscript"},function_arguments:{begin:/(\()/dgv,beginCaptures:{"1":{name:"punctuation.definition.arguments.begin.gdscript"}},contentName:"meta.function.parameters.gdscript",end:/(?=\))(?!\)\p{space}*\()/dgv,patterns:[{match:/(,)/dgv,name:"punctuation.separator.arguments.gdscript"},{captures:{"1":{name:"variable.parameter.function-call.gdscript"},"2":{name:"keyword.operator.assignment.gdscript"}},match:/\b([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(=)(?!=)/dgv},{match:/=(?!=)/dgv,name:"keyword.operator.assignment.gdscript"},{include:"#base_expression"},{captures:{"1":{name:"punctuation.definition.arguments.end.gdscript"},"2":{name:"punctuation.definition.arguments.begin.gdscript"}},match:/\p{space}*(\))\p{space}*(\()/dgv},{include:"#letter"},{include:"#any_variable"},{include:"#any_property"},{include:"#keywords"}]},function_call:{begin:/(?=\b[A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*\b\()/dgv,end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.definition.arguments.end.gdscript"}},name:"meta.function-call.gdscript",patterns:[{include:"#function_name"},{include:"#function_arguments"}]},function_declaration:{begin:/\p{space}*(func)\p{space}+([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(?=\()/dgv,beginCaptures:{"1":{name:"keyword.language.gdscript storage.type.function.gdscript"},"2":{name:"entity.name.function.gdscript"}},end:/(:)/dgv,endCaptures:{"1":{name:"punctuation.section.function.begin.gdscript"}},name:"meta.function.gdscript",patterns:[{include:"#parameters"},{include:"#line_continuation"},{include:"#base_expression"}]},function_name:{patterns:[{include:"#builtin_classes"},{match:/\b(preload)\b/dgv,name:"keyword.language.gdscript"},{match:/\b([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)\b/dgv,name:"entity.name.function.gdscript"}]},getter_setter_godot4:{patterns:[{captures:{"1":{name:"entity.name.function.gdscript"},"2":{name:"punctuation.separator.annotation.gdscript"}},match:/(get)\p{space}*(:)/dgv,name:"meta.variable.declaration.getter.gdscript"},{captures:{"1":{name:"entity.name.function.gdscript"},"2":{name:"punctuation.definition.arguments.begin.gdscript"},"3":{name:"variable.other.gdscript"},"4":{name:"punctuation.definition.arguments.end.gdscript"},"5":{name:"punctuation.separator.annotation.gdscript"}},match:/(set)\p{space}*(\()\p{space}*([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(\))\p{space}*(:)/dgv,name:"meta.variable.declaration.setter.gdscript"}]},in_keyword:{patterns:[{begin:/\b(for)\b/dgv,captures:{"1":{name:"keyword.control.gdscript"}},end:/:/dgv,patterns:[{match:/\bin\b/dgv,name:"keyword.control.gdscript"},{include:"#base_expression"},{include:"#any_variable"},{include:"#any_property"}]},{match:/\bin\b/dgv,name:"keyword.operator.wordlike.gdscript"}]},keywords:{match:/\b(?:class|class_name|is|onready|tool|static|export|as|enum|assert|breakpoint|sync|remote|master|puppet|slave|remotesync|mastersync|puppetsync|trait|namespace|super|self)\b/dgv,name:"keyword.language.gdscript"},lambda_declaration:{begin:/(func)\p{space}?(?=\()/dgv,beginCaptures:{"1":{name:"keyword.language.gdscript storage.type.function.gdscript"},"2":{name:"entity.name.function.gdscript"}},end:/(:|(?=[\n"\#']))/dgv,end2:"(\\s*(\\-\\>)\\s*(void\\w*)|([a-zA-Z_]\\w*)\\s*\\:)",endCaptures2:{"1":{name:"punctuation.separator.annotation.result.gdscript"},"2":{name:"entity.name.type.class.builtin.gdscript"},"3":{name:"entity.name.type.class.gdscript markup.italic"}},name:"meta.function.gdscript",patterns:[{include:"#parameters"},{include:"#line_continuation"},{include:"#base_expression"},{include:"#any_variable"},{include:"#any_property"}]},letter:{match:/\b(?:true|false|null)\b/dgv,name:"constant.language.gdscript"},line_continuation:{patterns:[{captures:{"1":{name:"punctuation.separator.continuation.line.gdscript"},"2":{name:"invalid.illegal.line.continuation.gdscript"}},match:/(\\)\p{space}*(\P{space}[^\n]*(?=\n?$)\n?)/dgv},{begin:/(\\)\p{space}*(?=\n?$)\n?/dgv,beginCaptures:{"1":{name:"punctuation.separator.continuation.line.gdscript"}},end:/*@__PURE__*/ new EmulatedRegExp("(?=^\\p{space}*(?=\\n?$))|(?!(\\p{space}*[Rr]?('''|\"\"\"|[\"']))|^()(?=\\n?$))","dgv",{"strategy":"clip_search"}),patterns:[{include:"#base_expression"}]}]},loose_default:{begin:/(=)/dgv,beginCaptures:{"1":{name:"keyword.operator.gdscript"}},end:/(,)|(?=\))/dgv,endCaptures:{"1":{name:"punctuation.separator.parameters.gdscript"}},patterns:[{include:"#expression"}]},match_keyword:{captures:{"1":{name:"keyword.control.gdscript"}},match:/^\n\p{space}*(match)/dgv},nodepath_function:{begin:/(get_node_or_null|has_node|has_node_and_resource|find_node|get_node)\p{space}*(\()/dgv,beginCaptures:{"1":{name:"entity.name.function.gdscript"},"2":{name:"punctuation.definition.parameters.begin.gdscript"}},contentName:"meta.function.parameters.gdscript",end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.definition.parameters.end.gdscript"}},name:"meta.function.gdscript",patterns:[{begin:/(["'])/dgv,end:/\1()/dgv,name:"string.quoted.gdscript meta.literal.nodepath.gdscript constant.character.escape.gdscript",patterns:[{match:/%/dgv,name:"keyword.control.flow.gdscript"}]},{include:"#expression"}]},nodepath_object:{begin:/(NodePath)\p{space}*\(/dgv,beginCaptures:{"1":{name:"support.class.library.gdscript"}},end:/\)/dgv,name:"meta.literal.nodepath.gdscript",patterns:[{begin:/(["'])/dgv,end:/\1()/dgv,name:"string.quoted.gdscript constant.character.escape.gdscript",patterns:[{match:/%/dgv,name:"keyword.control.flow.gdscript"}]}]},numbers:{patterns:[{match:/0b[01_]+/dgv,name:"constant.numeric.integer.binary.gdscript"},{match:/0x[_\p{AHex}]+/dgv,name:"constant.numeric.integer.hexadecimal.gdscript"},{match:/\.[0-9][0-9_]*([Ee][\-\+]?[0-9_]+)?/dgv,name:"constant.numeric.float.gdscript"},{match:/([0-9][0-9_]*)\.[0-9_]*([Ee][\-\+]?[0-9_]+)?/dgv,name:"constant.numeric.float.gdscript"},{match:/([0-9][0-9_]*)?\.[0-9_]*([Ee][\-\+]?[0-9_]+)/dgv,name:"constant.numeric.float.gdscript"},{match:/[0-9][0-9_]*[Ee][\-\+]?[0-9_]+/dgv,name:"constant.numeric.float.gdscript"},{match:/-?[0-9][0-9_]*/dgv,name:"constant.numeric.integer.gdscript"}]},operators:{patterns:[{include:"#wordlike_operator"},{include:"#boolean_operator"},{include:"#arithmetic_operator"},{include:"#bitwise_operator"},{include:"#compare_operator"}]},parameters:{begin:/(\()/dgv,beginCaptures:{"1":{name:"punctuation.definition.parameters.begin.gdscript"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.definition.parameters.end.gdscript"}},name:"meta.function.parameters.gdscript",patterns:[{include:"#annotated_parameter"},{captures:{"1":{name:"variable.parameter.function.language.gdscript"},"2":{name:"punctuation.separator.parameters.gdscript"}},match:/([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(?:(,)|(?=[\n\#\)\=]))/dgv},{include:"#comment"},{include:"#loose_default"}]},pascal_case_class:{match:/\b[A-Z]+(?:[a-z]+[0-9A-Z_a-z]*)+\b/dgv,name:"entity.name.type.class.gdscript"},region:{match:/#(end)?region[^\n]*(?=\n?$)\n?/dgv,name:"keyword.language.region.gdscript"},round_braces:{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.parenthesis.begin.gdscript"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.parenthesis.end.gdscript"}},patterns:[{include:"#base_expression"},{include:"#any_variable"}]},signal_declaration:{begin:/\p{space}*(signal)\p{space}+([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(?=\()/dgv,beginCaptures:{"1":{name:"keyword.language.gdscript storage.type.function.gdscript"},"2":{name:"entity.name.function.gdscript"}},end:/((?=[\n"\#']))/dgv,name:"meta.signal.gdscript",patterns:[{include:"#parameters"},{include:"#line_continuation"}]},signal_declaration_bare:{captures:{"1":{name:"keyword.language.gdscript storage.type.function.gdscript"},"2":{name:"entity.name.function.gdscript"}},match:/\p{space}*(signal)\p{space}+([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)(?=[\n\p{space}])/dgv,name:"meta.signal.gdscript"},square_braces:{begin:/\[/dgv,beginCaptures:{"0":{name:"punctuation.definition.list.begin.gdscript"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.definition.list.end.gdscript"}},patterns:[{include:"#base_expression"},{include:"#any_variable"}]},statement:{patterns:[{include:"#extends_statement"}]},statement_keyword:{patterns:[{match:/\b(?<!\.)(continue|assert|break|elif|else|if|pass|return|while)\b/dgv,name:"keyword.control.flow.gdscript"},{match:/\b(?<!\.)(class)\b/dgv,name:"storage.type.class.gdscript"},{captures:{"1":{name:"keyword.control.flow.gdscript"}},match:/^\p{space}*(case|match)(?=\p{space}*([\-"\#'\(\+\:\[\{\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]|(?=\n?$)))\b/dgv}]},string_bracket_placeholders:{patterns:[{captures:{"1":{name:"constant.character.format.placeholder.other.gdscript"},"3":{name:"storage.type.format.gdscript"},"4":{name:"storage.type.format.gdscript"}},match:/(\{\{|\}\}|\{[\p{L}\p{M}\p{N}\p{Pc}]*(\.[_\p{Alpha}][\p{L}\p{M}\p{N}\p{Pc}]*|\[[^\]"']+\])*(![ars])?(:[\p{L}\p{M}\p{N}\p{Pc}]?[\<\=\>\^]?[\- \+]?#?\p{Nd}*,?(\.\p{Nd}+)?[\%EFGXb-gnosx]?)?\})/dgv,name:"meta.format.brace.gdscript"},{captures:{"1":{name:"constant.character.format.placeholder.other.gdscript"},"3":{name:"storage.type.format.gdscript"},"4":{name:"storage.type.format.gdscript"}},match:/(\{[\p{L}\p{M}\p{N}\p{Pc}]*(\.[_\p{Alpha}][\p{L}\p{M}\p{N}\p{Pc}]*|\[[^\]"']+\])*(![ars])?(:)[^\n"'\{\}]*(?:\{[^\n"'\}]*?\}[^\n"'\{\}]*)*\})/dgv,name:"meta.format.brace.gdscript"}]},string_percent_placeholders:{captures:{"1":{name:"constant.character.format.placeholder.other.gdscript"}},match:/(%(\([\p{L}\p{M}\p{N}\p{Pc}\p{space}]*\))?[\- \#\+0]*(\p{Nd}+|\*)?(\.(\p{Nd}+|\*))?([Lhl])?[\%EFGXa-giorsux])/dgv,name:"meta.format.percent.gdscript"},strings:{begin:/(r)?("""|'''|["'])/dgv,beginCaptures:{"1":{name:"constant.character.escape.gdscript"}},end:/\2()()/dgv,name:"string.quoted.gdscript",patterns:[{match:/\\[^\n]/dgv,name:"constant.character.escape.gdscript"},{include:"#string_percent_placeholders"},{include:"#string_bracket_placeholders"}]},variable_declaration:{begin:/\b(?:(var)|(const))\b/dgv,beginCaptures:{"1":{name:"keyword.language.gdscript storage.type.var.gdscript"},"2":{name:"keyword.language.gdscript storage.type.const.gdscript"}},end:/(?=\n?$)|;/dgv,name:"meta.variable.declaration.gdscript",patterns:[{captures:{"1":{name:"punctuation.separator.annotation.gdscript"},"2":{name:"entity.name.function.gdscript"},"3":{name:"entity.name.function.gdscript"}},match:/(:)?\p{space}*([gs]et)\p{space}+=\p{space}+([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)/dgv},{match:/:=|=(?!=)/dgv,name:"keyword.operator.assignment.gdscript"},{captures:{"1":{name:"punctuation.separator.annotation.gdscript"},"2":{name:"entity.name.type.class.gdscript"}},match:/(:)\p{space}*([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)?/dgv},{captures:{"1":{name:"keyword.language.gdscript"},"2":{name:"entity.name.function.gdscript"},"3":{name:"entity.name.function.gdscript"}},match:/(setget)\p{space}+([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)(?:,\p{space}*([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*))?/dgv},{include:"#expression"},{include:"#letter"},{include:"#any_variable"},{include:"#any_property"},{include:"#keywords"}]},wordlike_operator:{match:/\b(and|or|not)\b/dgv,name:"keyword.operator.wordlike.gdscript"}},scopeName:"source.gdscript",embeddedLangs:undefined,aliases:["gd"]})
|
|
4
4
|
|
|
5
5
|
export default [
|
|
6
6
|
lang
|
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|;|\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})
|
|
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:"#support_functions"},{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/index.mjs
CHANGED
|
@@ -27,6 +27,7 @@ export const languageNames = [
|
|
|
27
27
|
"berry",
|
|
28
28
|
"bibtex",
|
|
29
29
|
"bicep",
|
|
30
|
+
"bird2",
|
|
30
31
|
"blade",
|
|
31
32
|
"bsl",
|
|
32
33
|
"c",
|
|
@@ -120,6 +121,7 @@ export const languageNames = [
|
|
|
120
121
|
"jssm",
|
|
121
122
|
"jsx",
|
|
122
123
|
"julia",
|
|
124
|
+
"just",
|
|
123
125
|
"kdl",
|
|
124
126
|
"kotlin",
|
|
125
127
|
"kusto",
|
|
@@ -147,6 +149,7 @@ export const languageNames = [
|
|
|
147
149
|
"move",
|
|
148
150
|
"narrat",
|
|
149
151
|
"nextflow",
|
|
152
|
+
"nextflow-groovy",
|
|
150
153
|
"nginx",
|
|
151
154
|
"nim",
|
|
152
155
|
"nix",
|
|
@@ -154,6 +157,7 @@ export const languageNames = [
|
|
|
154
157
|
"objective-c",
|
|
155
158
|
"objective-cpp",
|
|
156
159
|
"ocaml",
|
|
160
|
+
"odin",
|
|
157
161
|
"openscad",
|
|
158
162
|
"pascal",
|
|
159
163
|
"perl",
|
|
@@ -183,6 +187,7 @@ export const languageNames = [
|
|
|
183
187
|
"regexp",
|
|
184
188
|
"rel",
|
|
185
189
|
"riscv",
|
|
190
|
+
"ron",
|
|
186
191
|
"rosmsg",
|
|
187
192
|
"rst",
|
|
188
193
|
"ruby",
|
|
@@ -205,6 +210,7 @@ export const languageNames = [
|
|
|
205
210
|
"ssh-config",
|
|
206
211
|
"stata",
|
|
207
212
|
"stylus",
|
|
213
|
+
"surrealql",
|
|
208
214
|
"svelte",
|
|
209
215
|
"swift",
|
|
210
216
|
"system-verilog",
|
|
@@ -257,6 +263,7 @@ export const languageAliasNames = [
|
|
|
257
263
|
"bash",
|
|
258
264
|
"batch",
|
|
259
265
|
"be",
|
|
266
|
+
"bird",
|
|
260
267
|
"cdc",
|
|
261
268
|
"cjs",
|
|
262
269
|
"clj",
|
|
@@ -281,6 +288,7 @@ export const languageAliasNames = [
|
|
|
281
288
|
"fs",
|
|
282
289
|
"fsl",
|
|
283
290
|
"ftl",
|
|
291
|
+
"gd",
|
|
284
292
|
"gjs",
|
|
285
293
|
"gql",
|
|
286
294
|
"gts",
|
|
@@ -326,10 +334,13 @@ export const languageAliasNames = [
|
|
|
326
334
|
"shell",
|
|
327
335
|
"spl",
|
|
328
336
|
"styl",
|
|
337
|
+
"surql",
|
|
329
338
|
"talon",
|
|
330
339
|
"tf",
|
|
331
340
|
"tfvars",
|
|
341
|
+
"tres",
|
|
332
342
|
"ts",
|
|
343
|
+
"tscn",
|
|
333
344
|
"tsp",
|
|
334
345
|
"typ",
|
|
335
346
|
"vim",
|
package/dist/just.d.mts
ADDED
package/dist/just.mjs
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import shellscript from './shellscript.mjs'
|
|
2
|
+
import javascript from './javascript.mjs'
|
|
3
|
+
import typescript from './typescript.mjs'
|
|
4
|
+
import perl from './perl.mjs'
|
|
5
|
+
import python from './python.mjs'
|
|
6
|
+
import ruby from './ruby.mjs'
|
|
7
|
+
|
|
8
|
+
const lang = Object.freeze({displayName:"Just",fileTypes:["just","justfile","Justfile"],firstLineMatch:/#![\t\p{space}]*\/[^\n]*just\b/dgv,name:"just",patterns:[{include:"#comments"},{include:"#import"},{include:"#module"},{include:"#alias"},{include:"#assignment"},{include:"#builtins"},{include:"#keywords"},{include:"#expression-operators"},{include:"#backtick"},{include:"#strings"},{include:"#parenthesis"},{include:"#recipes"},{include:"#recipe-operators"},{include:"#embedded-languages"},{include:"#escaping"}],repository:{alias:{captures:{"1":{name:"keyword.other.reserved.just"},"2":{name:"variable.name.alias.just"},"3":{name:"keyword.operator.assignment.just"},"4":{name:"variable.other.just"}},match:/^(alias)\p{space}+([A-Z_a-z][\-0-9A-Z_a-z]*)\p{space}*(:=)\p{space}*([A-Z_a-z][\-0-9A-Z_a-z]*)/dgv},assignment:{patterns:[{include:"#variable-assignment"},{include:"#setting-assignment"}]},backtick:{patterns:[{begin:/(```)/dgv,beginCaptures:{"1":{name:"string.interpolated.just"}},contentName:"source.shell",end:/(```)/dgv,endCaptures:{"1":{name:"string.interpolated.just"}},patterns:[{include:"source.shell"}]},{captures:{"1":{name:"string.interpolated.just"},"2":{name:"source.shell",patterns:[{include:"source.shell"}]},"3":{name:"string.interpolated.just"}},match:/(`)([^\`]*)(`)/dgv}]},boolean:{patterns:[{match:/\b(true|false)\b/dgv,name:"constant.language.boolean.just"}]},"builtin-functions":{patterns:[{match:/\b(arch|num_cpus|os|os_family|shell|env_var|env_var_or_default|env|is_dependency|invocation_directory|invocation_dir|invocation_directory_native|invocation_dir_native|justfile|justfile_directory|justfile_dir|just_executable|just_pid|source_file|source_directory|source_dir|module_file|module_directory|module_dir|append|prepend|encode_uri_component|quote|replace|replace_regex|trim|trim_end|trim_end_match|trim_end_matches|trim_start|trim_start_match|trim_start_matches|capitalize|kebabcase|lowercamelcase|lowercase|shoutykebabcase|shoutysnakecase|snakecase|titlecase|uppercamelcase|uppercase|absolute_path|blake3|blake3_file|canonicalize|extension|file_name|file_stem|parent_directory|parent_dir|without_extension|clean|join|path_exists|error|assert|sha256|sha256_file|uuid|choose|datetime|datetime_utc|semver_matches|style|cache_directory|cache_dir|config_directory|config_dir|config_local_directory|config_local_dir|data_directory|data_dir|data_local_directory|data_local_dir|executable_directory|executable_dir|home_directory|home_dir|which|require|read)\b/dgv,name:"support.function.builtin.just"}]},builtins:{patterns:[{match:/\b(HEX|HEXLOWER|HEXUPPER|PATH_SEP|PATH_VAR_SEP|CLEAR|NORMAL|BOLD|ITALIC|UNDERLINE|INVERT|HIDE|STRIKETHROUGH|BLACK|RED|GREEN|YELLOW|BLUE|MAGENTA|CYAN|WHITE|BG_BLACK|BG_RED|BG_GREEN|BG_YELLOW|BG_BLUE|BG_MAGENTA|BG_CYAN|BG_WHITE)\b/dgv,name:"constant.language.const.just"},{include:"#builtin-functions"},{include:"#literal"}]},comments:{patterns:[{match:/#(?!!)[^\n]*(?=\n?$)/dgv,name:"comment.line.number-sign.just"}]},"control-keywords":{patterns:[{match:/\b(if|else)\b/dgv,name:"keyword.control.conditional.just"}]},"embedded-languages":{patterns:[{begin:/^\p{space}+(#!\/usr\/bin\/env\p{space}+(?:-S\p{space}+)?node[^\n]*)(?=\n?$)/dgv,beginCaptures:{"1":{name:"comment.line.number-sign.shebang.just"}},contentName:"source.js",end:/(?<=^\P{space}+)/dgv,patterns:[{include:"source.js"}]},{begin:/^\p{space}+(#!\/usr\/bin\/env\p{space}+(?:-S\p{space}+)?deno[^\n]*)(?=\n?$)/dgv,beginCaptures:{"1":{name:"comment.line.number-sign.shebang.just"}},contentName:"source.ts",end:/(?<=^\P{space}+)/dgv,patterns:[{include:"source.ts"}]},{begin:/^\p{space}+(#!\/usr\/bin\/env\p{space}+(?:-S\p{space}+)?perl[^\n]*)(?=\n?$)/dgv,beginCaptures:{"1":{name:"comment.line.number-sign.shebang.just"}},contentName:"source.perl",end:/(?<=^\P{space}+)/dgv,patterns:[{include:"source.perl"}]},{begin:/^\p{space}+(#!\/usr\/bin\/env\p{space}+(?:-S\p{space}+)?python[^\n]*)(?=\n?$)/dgv,beginCaptures:{"1":{name:"comment.line.number-sign.shebang.just"}},contentName:"source.python",end:/(?<=^\P{space}+)/dgv,patterns:[{include:"source.python"}]},{begin:/^\p{space}+(#!\/usr\/bin\/env\p{space}+(?:-S\p{space}+)?ruby[^\n]*)(?=\n?$)/dgv,beginCaptures:{"1":{name:"comment.line.number-sign.shebang.just"}},contentName:"source.ruby",end:/(?<=^\P{space}+)/dgv,patterns:[{include:"source.ruby"}]},{begin:/^\p{space}+(#!\/usr\/bin\/env\p{space}+(?:-S\p{space}+)?(?:|ba|z|fi)sh[^\n]*)(?=\n?$)/dgv,beginCaptures:{"1":{name:"comment.line.number-sign.shebang.just"}},contentName:"source.shell",end:/(?<=^\P{space}+)/dgv,patterns:[{include:"source.shell"}]}]},escaping:{patterns:[{captures:{"1":{name:"string.interpolated.escape.just"},"2":{patterns:[{include:"#expression"}]},"3":{name:"string.interpolated.escape.just"}},match:/(?<!\{)(\{\{)\{?(?!\{)([^\n]*?)(\}\})/dgv,name:"string.interpolated.escaping.just"}]},expression:{patterns:[{include:"#backtick"},{include:"#builtins"},{include:"#control-keywords"},{include:"#expression-operators"},{include:"#parenthesis"},{include:"#strings"}]},"expression-operators":{patterns:[{match:/\//dgv,name:"keyword.operator.path-join.just"},{match:/\+/dgv,name:"keyword.operator.concat.just"},{match:/&&/dgv,name:"keyword.operator.and.just"},{match:/\|\|/dgv,name:"keyword.operator.or.just"},{match:/(==|=~|!=)/dgv,name:"keyword.operator.equality.just"}]},import:{begin:/^(import)(\?)?\p{space}+/dgv,beginCaptures:{"1":{name:"keyword.other.reserved.just"},"2":{name:"punctuation.optional.just"}},end:/(?=\n?$)/dgv,patterns:[{include:"#strings"}]},keywords:{patterns:[{include:"#reserved-keywords"},{include:"#control-keywords"}]},literal:{patterns:[{include:"#boolean"},{include:"#number"}]},module:{begin:/^(mod)(\?)?\p{space}+([A-Z_a-z][\-0-9A-Z_a-z]*)(?=[\$\p{space}])/dgv,beginCaptures:{"1":{name:"keyword.other.reserved.just"},"2":{name:"punctuation.optional.just"},"3":{name:"variable.name.module.just"}},end:/(?=\n?$)/dgv,patterns:[{include:"#strings"}]},number:{patterns:[{match:/(?<![\-A-Z_a-z])(?:\.\p{Nd}+|\p{Nd}+\.\p{Nd}+|\p{Nd}+\.|[1-9]\p{Nd}*)/dgv,name:"constant.numeric.just"},{match:/\b[0-9]+[\-A-Z_a-z]+\b/dgv,name:"invalid.illegal.name.just"}]},parenthesis:{begin:/\(/dgv,end:/\)/dgv,patterns:[{include:"#expression"},{include:"#parenthesis"}]},"recipe-attributes":{patterns:[{captures:{"1":{name:"support.function.system.just"},"2":{name:"support.function.system.just"}},match:/^\[([\-A-z]+)\p{space}*(?:,(\p{space}*[\-A-z]+\p{space}*))*\]\p{space}*(?=\n?$)/dgv},{captures:{"1":{name:"support.function.system.just"},"2":{name:"keyword.operator.attribute.end.just"},"3":{patterns:[{include:"#strings"}]},"4":{patterns:[{include:"#strings"}]}},match:/^\[([\-A-z]+)(?:(:)([^\n]*?)|(\(([^\n]*?)\)))?\]\p{space}*(?=\n?$)/dgv}]},"recipe-dependencies":{captures:{"1":{name:"entity.name.function.just"},"2":{patterns:[{captures:{"1":{name:"entity.name.function.just"},"2":{patterns:[{include:"#expression"}]}},match:/\(([A-Z_a-z][\-0-9A-Z_a-z]*)([^\n]*)\)/dgv}]},"3":{name:"keyword.operator.and.just"}},match:/([A-Z_a-z][\-0-9A-Z_a-z]*)|(\((?:[^\(\)]|\([^\)]*\))*\))|(&&)/dgv},"recipe-operators":{patterns:[{captures:{"1":{name:"keyword.operator.quiet.just"}},match:/^\p{space}+(@)/dgv},{captures:{"1":{name:"keyword.operator.error-suppression.just"}},match:/^\p{space}+(-)/dgv}]},"recipe-params":{captures:{"1":{name:"keyword.other.recipe.variadic.just"},"2":{name:"variable.parameter.recipe.just"},"3":{name:"keyword.operator.default.just"},"4":{patterns:[{include:"#strings"}]},"5":{patterns:[{include:"#backtick"}]},"6":{patterns:[{include:"#parenthesis"}]}},match:/([\$\*\+])?([A-Z_a-z][0-9A-Z_a-z]*)(?:(=)(?:[A-Z_a-z][0-9A-Z_a-z]*|("[^\n]*?"|'[^\n]*?')|(`[^\n]*?`)|(\((?:[^\(\)]|\([^\)]*\))*\))))?/dgv},recipes:{patterns:[{captures:{"1":{name:"keyword.other.recipe.prefix.just"},"2":{name:"entity.name.function.just"},"3":{patterns:[{include:"#recipe-params"}]},"4":{name:"keyword.operator.recipe.end.just"},"5":{patterns:[{include:"#recipe-dependencies"}]}},match:/^(@_|_@|[\@_])?([A-Za-z][\-0-9A-Z_a-z]*)(?:\p{space}+([^\n]*?))?\p{space}*(:)([^\n]*)/dgv},{include:"#recipe-operators"},{include:"#recipe-attributes"},{include:"#embedded-languages"}]},"reserved-keywords":{patterns:[{captures:{"1":{name:"keyword.other.reserved.just"}},match:/^(alias|export|unexport|import|mod|set)\p{space}+/dgv}]},"setting-assignment":{patterns:[{begin:/^(set)\p{space}+([A-Z_a-z][\-0-9A-Z_a-z]*)\p{space}*(:=)?/dgv,beginCaptures:{"1":{name:"keyword.other.reserved.just"},"2":{name:"variable.other.just"},"3":{name:"keyword.operator.assignment.just"}},end:/(?=\n?$)/dgv,patterns:[{include:"#expression"},{include:"#comments"}]}]},strings:{patterns:[{match:/(["']{1,3})\{+(\1)/dgv,name:"string.quoted.double.indented.just"},{begin:/([fx])?(""")/dgv,beginCaptures:{"1":{name:"constant.character.expanded.just"},"2":{name:"string.quoted.double.indented.just"}},end:/"""/dgv,name:"string.quoted.double.indented.just",patterns:[{match:/\\[^\n](?:(?<=u)\{[^\n]+?\})?/dgv,name:"constant.character.escape.just"},{include:"#escaping"}]},{begin:/([fx])?(")/dgv,beginCaptures:{"1":{name:"constant.character.expanded.just"},"2":{name:"string.quoted.double.just"}},end:/"/dgv,name:"string.quoted.double.just",patterns:[{match:/\\[^\n](?:(?<=u)\{[^\n]+?\})?/dgv,name:"constant.character.escape.just"},{include:"#escaping"}]},{begin:/([fx])?(''')/dgv,beginCaptures:{"1":{name:"constant.character.expanded.just"},"2":{name:"string.quoted.single.indented.just"}},end:/'''/dgv,name:"string.quoted.single.indented.just",patterns:[{include:"#escaping"}]},{begin:/([fx])?(')/dgv,beginCaptures:{"1":{name:"constant.character.expanded.just"},"2":{name:"string.quoted.single.just"}},end:/'/dgv,name:"string.quoted.single.just",patterns:[{include:"#escaping"}]}]},"variable-assignment":{patterns:[{captures:{"1":{name:"keyword.other.reserved.just"},"2":{name:"variable.other.just"}},match:/^(unexport)\p{space}+([A-Z_a-z][\-0-9A-Z_a-z]*)/dgv},{begin:/^(?:(export)\p{space}+)?([A-Z_a-z][\-0-9A-Z_a-z]*)\p{space}*(:=)/dgv,beginCaptures:{"1":{name:"keyword.other.reserved.just"},"2":{name:"variable.other.just"},"3":{name:"keyword.operator.assignment.just"}},end:/(?=\n?$)/dgv,patterns:[{include:"#expression"},{include:"#comments"}]}]}},scopeName:"source.just",embeddedLangs:["shellscript","javascript","typescript","perl","python","ruby"],aliases:undefined})
|
|
9
|
+
|
|
10
|
+
export default [
|
|
11
|
+
...shellscript,
|
|
12
|
+
...javascript,
|
|
13
|
+
...typescript,
|
|
14
|
+
...perl,
|
|
15
|
+
...python,
|
|
16
|
+
...ruby,
|
|
17
|
+
lang
|
|
18
|
+
]
|