@shikijs/langs 3.20.0 → 3.22.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.
Files changed (56) hide show
  1. package/dist/actionscript-3.mjs +1 -1
  2. package/dist/apex.mjs +1 -1
  3. package/dist/blade.mjs +1 -1
  4. package/dist/c3.d.mts +3 -0
  5. package/dist/c3.mjs +5 -0
  6. package/dist/csharp.mjs +1 -1
  7. package/dist/fortran-fixed-form.mjs +1 -1
  8. package/dist/fortran-free-form.mjs +1 -1
  9. package/dist/gd.d.mts +3 -0
  10. package/dist/gd.mjs +2 -0
  11. package/dist/gdresource.mjs +1 -1
  12. package/dist/gdscript.mjs +1 -1
  13. package/dist/gn.d.mts +3 -0
  14. package/dist/gn.mjs +5 -0
  15. package/dist/go.mjs +1 -1
  16. package/dist/index.mjs +12 -0
  17. package/dist/kusto.mjs +1 -1
  18. package/dist/latex.mjs +1 -1
  19. package/dist/lean.mjs +1 -1
  20. package/dist/lua.mjs +1 -1
  21. package/dist/luau.mjs +1 -1
  22. package/dist/markdown-nix.mjs +1 -1
  23. package/dist/markdown-vue.mjs +1 -1
  24. package/dist/marko.mjs +1 -1
  25. package/dist/mbt.d.mts +3 -0
  26. package/dist/mbt.mjs +2 -0
  27. package/dist/mbti.d.mts +3 -0
  28. package/dist/mbti.mjs +2 -0
  29. package/dist/mermaid.mjs +1 -1
  30. package/dist/mojo.mjs +1 -1
  31. package/dist/moonbit.d.mts +3 -0
  32. package/dist/moonbit.mjs +5 -0
  33. package/dist/move.mjs +1 -1
  34. package/dist/odin.d.mts +3 -0
  35. package/dist/odin.mjs +5 -0
  36. package/dist/php.mjs +1 -1
  37. package/dist/proto.mjs +1 -1
  38. package/dist/r.mjs +1 -1
  39. package/dist/razor.mjs +1 -1
  40. package/dist/ron.d.mts +3 -0
  41. package/dist/ron.mjs +5 -0
  42. package/dist/surql.d.mts +3 -0
  43. package/dist/surql.mjs +2 -0
  44. package/dist/surrealql.d.mts +3 -0
  45. package/dist/surrealql.mjs +8 -0
  46. package/dist/svelte.mjs +1 -1
  47. package/dist/tres.d.mts +3 -0
  48. package/dist/tres.mjs +2 -0
  49. package/dist/tscn.d.mts +3 -0
  50. package/dist/tscn.mjs +2 -0
  51. package/dist/vue-directives.mjs +1 -1
  52. package/dist/vue-html.mjs +1 -3
  53. package/dist/vue-interpolations.mjs +1 -1
  54. package/dist/vue-vine.mjs +1 -3
  55. package/dist/vue.mjs +3 -3
  56. package/package.json +15 -3
package/dist/gd.d.mts ADDED
@@ -0,0 +1,3 @@
1
+ import type { LanguageRegistration } from '@shikijs/types'
2
+ const langs: LanguageRegistration []
3
+ export default langs
package/dist/gd.mjs ADDED
@@ -0,0 +1,2 @@
1
+ /* Alias gd for gdscript */
2
+ export { default } from './gdscript.mjs'
@@ -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(JSON.parse("{\"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?\",\"name\":\"comment.line.gdresource\"},\"data\":{\"patterns\":[{\"include\":\"#comment\"},{\"begin\":\"(?<!\\\\w)(\\\\{)\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.table.inline.gdresource\"}},\"end\":\"\\\\s*(})(?!\\\\w)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.table.inline.gdresource\"}},\"patterns\":[{\"include\":\"#key_value\"},{\"include\":\"#data\"}]},{\"begin\":\"(?<!\\\\w)(\\\\[)\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.array.gdresource\"}},\"end\":\"\\\\s*(])(?!\\\\w)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.array.gdresource\"}},\"patterns\":[{\"include\":\"#data\"}]},{\"begin\":\"\\\"\\\"\\\"\",\"end\":\"\\\"\\\"\\\"\",\"name\":\"string.quoted.triple.basic.block.gdresource\",\"patterns\":[{\"match\":\"\\\\\\\\([\\\\n \\\"/\\\\\\\\bfnrt]|u\\\\h{4}|U\\\\h{8})\",\"name\":\"constant.character.escape.gdresource\"},{\"match\":\"\\\\\\\\[^\\\\n\\\"/\\\\\\\\bfnrt]\",\"name\":\"invalid.illegal.escape.gdresource\"}]},{\"match\":\"\\\"res://[^\\\"\\\\\\\\]*(?:\\\\\\\\.[^\\\"\\\\\\\\]*)*\\\"\",\"name\":\"support.function.any-method.gdresource\"},{\"match\":\"(?<=type=)\\\"[^\\\"\\\\\\\\]*(?:\\\\\\\\.[^\\\"\\\\\\\\]*)*\\\"\",\"name\":\"support.class.library.gdresource\"},{\"match\":\"(?<=NodePath\\\\(|parent=|name=)\\\"[^\\\"\\\\\\\\]*(?:\\\\\\\\.[^\\\"\\\\\\\\]*)*\\\"\",\"name\":\"constant.character.escape.gdresource\"},{\"begin\":\"\\\"\",\"end\":\"\\\"\",\"name\":\"string.quoted.double.basic.line.gdresource\",\"patterns\":[{\"match\":\"\\\\\\\\([\\\\n \\\"/\\\\\\\\bfnrt]|u\\\\h{4}|U\\\\h{8})\",\"name\":\"constant.character.escape.gdresource\"},{\"match\":\"\\\\\\\\[^\\\\n\\\"/\\\\\\\\bfnrt]\",\"name\":\"invalid.illegal.escape.gdresource\"}]},{\"match\":\"'.*?'\",\"name\":\"string.quoted.single.literal.line.gdresource\"},{\"match\":\"(?<!\\\\w)(true|false)(?!\\\\w)\",\"name\":\"constant.language.gdresource\"},{\"match\":\"(?<!\\\\w)([-+]?(0|([1-9](([0-9]|_[0-9])+)?))(?:(?:\\\\.(0|([1-9](([0-9]|_[0-9])+)?)))?[Ee][-+]?[1-9]_?[0-9]*|\\\\.[0-9_]*))(?!\\\\w)\",\"name\":\"constant.numeric.float.gdresource\"},{\"match\":\"(?<!\\\\w)([-+]?(0|([1-9](([0-9]|_[0-9])+)?)))(?!\\\\w)\",\"name\":\"constant.numeric.integer.gdresource\"},{\"match\":\"(?<!\\\\w)([-+]?inf)(?!\\\\w)\",\"name\":\"constant.numeric.inf.gdresource\"},{\"match\":\"(?<!\\\\w)([-+]?nan)(?!\\\\w)\",\"name\":\"constant.numeric.nan.gdresource\"},{\"match\":\"(?<!\\\\w)(0x((\\\\h((_??\\\\h)+)?)))(?!\\\\w)\",\"name\":\"constant.numeric.hex.gdresource\"},{\"match\":\"(?<!\\\\w)(0o[0-7](_?[0-7])*)(?!\\\\w)\",\"name\":\"constant.numeric.oct.gdresource\"},{\"match\":\"(?<!\\\\w)(0b[01](_?[01])*)(?!\\\\w)\",\"name\":\"constant.numeric.bin.gdresource\"},{\"begin\":\"(?<!\\\\w)(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)(\\\\()\\\\s?\",\"beginCaptures\":{\"1\":{\"name\":\"support.class.library.gdresource\"}},\"end\":\"\\\\s?(\\\\))\",\"patterns\":[{\"include\":\"#key_value\"},{\"include\":\"#data\"}]},{\"begin\":\"(?<!\\\\w)((?:Ext|Sub)Resource)(\\\\()\\\\s?\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.gdresource\"}},\"end\":\"\\\\s?(\\\\))\",\"patterns\":[{\"include\":\"#key_value\"},{\"include\":\"#data\"}]}]},\"embedded_gdscript\":{\"begin\":\"(script/source) = \\\"\",\"beginCaptures\":{\"1\":{\"name\":\"variable.other.property.gdresource\"}},\"end\":\"\\\"\",\"patterns\":[{\"include\":\"source.gdscript\"}]},\"embedded_shader\":{\"begin\":\"(code) = \\\"\",\"beginCaptures\":{\"1\":{\"name\":\"variable.other.property.gdresource\"}},\"end\":\"\\\"\",\"name\":\"meta.embedded.block.gdshader\",\"patterns\":[{\"include\":\"source.gdshader\"}]},\"heading\":{\"begin\":\"\\\\[([_a-z]*)\\\\s?\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.gdresource\"}},\"end\":\"]\",\"patterns\":[{\"include\":\"#heading_properties\"},{\"include\":\"#data\"}]},\"heading_properties\":{\"patterns\":[{\"match\":\"(\\\\s*[-A-Z_a-z][-0-9A-Z_a-z]*\\\\s*=)(?=\\\\s*$)\",\"name\":\"invalid.illegal.noValue.gdresource\"},{\"begin\":\"\\\\s*([-A-Z_a-z]\\\\S*|\\\".+\\\"|'.+'|[0-9]+)\\\\s*(=)\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"variable.other.property.gdresource\"},\"2\":{\"name\":\"punctuation.definition.keyValue.gdresource\"}},\"end\":\"($|(?==)|,?|\\\\s*(?=}))\",\"patterns\":[{\"include\":\"#data\"}]}]},\"key_value\":{\"patterns\":[{\"match\":\"(\\\\s*[-A-Z_a-z][-0-9A-Z_a-z]*\\\\s*=)(?=\\\\s*$)\",\"name\":\"invalid.illegal.noValue.gdresource\"},{\"begin\":\"\\\\s*([-A-Z_a-z]\\\\S*|\\\".+\\\"|'.+'|[0-9]+)\\\\s*(=)\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"variable.other.property.gdresource\"},\"2\":{\"name\":\"punctuation.definition.keyValue.gdresource\"}},\"end\":\"($|(?==)|,|\\\\s*(?=}))\",\"patterns\":[{\"include\":\"#data\"}]}]}},\"scopeName\":\"source.gdresource\",\"embeddedLangs\":[\"gdshader\",\"gdscript\"]}"))
4
+ const lang = Object.freeze(JSON.parse("{\"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?\",\"name\":\"comment.line.gdresource\"},\"data\":{\"patterns\":[{\"include\":\"#comment\"},{\"begin\":\"(?<!\\\\w)(\\\\{)\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.table.inline.gdresource\"}},\"end\":\"\\\\s*(})(?!\\\\w)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.table.inline.gdresource\"}},\"patterns\":[{\"include\":\"#key_value\"},{\"include\":\"#data\"}]},{\"begin\":\"(?<!\\\\w)(\\\\[)\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.array.gdresource\"}},\"end\":\"\\\\s*(])(?!\\\\w)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.array.gdresource\"}},\"patterns\":[{\"include\":\"#data\"}]},{\"begin\":\"\\\"\\\"\\\"\",\"end\":\"\\\"\\\"\\\"\",\"name\":\"string.quoted.triple.basic.block.gdresource\",\"patterns\":[{\"match\":\"\\\\\\\\([\\\\n \\\"/\\\\\\\\bfnrt]|u\\\\h{4}|U\\\\h{8})\",\"name\":\"constant.character.escape.gdresource\"},{\"match\":\"\\\\\\\\[^\\\\n\\\"/\\\\\\\\bfnrt]\",\"name\":\"invalid.illegal.escape.gdresource\"}]},{\"match\":\"\\\"res://[^\\\"\\\\\\\\]*(?:\\\\\\\\.[^\\\"\\\\\\\\]*)*\\\"\",\"name\":\"support.function.any-method.gdresource\"},{\"match\":\"(?<=type=)\\\"[^\\\"\\\\\\\\]*(?:\\\\\\\\.[^\\\"\\\\\\\\]*)*\\\"\",\"name\":\"support.class.library.gdresource\"},{\"match\":\"(?<=NodePath\\\\(|parent=|name=)\\\"[^\\\"\\\\\\\\]*(?:\\\\\\\\.[^\\\"\\\\\\\\]*)*\\\"\",\"name\":\"constant.character.escape.gdresource\"},{\"begin\":\"\\\"\",\"end\":\"\\\"\",\"name\":\"string.quoted.double.basic.line.gdresource\",\"patterns\":[{\"match\":\"\\\\\\\\([\\\\n \\\"/\\\\\\\\bfnrt]|u\\\\h{4}|U\\\\h{8})\",\"name\":\"constant.character.escape.gdresource\"},{\"match\":\"\\\\\\\\[^\\\\n\\\"/\\\\\\\\bfnrt]\",\"name\":\"invalid.illegal.escape.gdresource\"}]},{\"match\":\"'.*?'\",\"name\":\"string.quoted.single.literal.line.gdresource\"},{\"match\":\"(?<!\\\\w)(true|false)(?!\\\\w)\",\"name\":\"constant.language.gdresource\"},{\"match\":\"(?<!\\\\w)([-+]?(0|([1-9](([0-9]|_[0-9])+)?))(?:(?:\\\\.(0|([1-9](([0-9]|_[0-9])+)?)))?[Ee][-+]?[1-9]_?[0-9]*|\\\\.[0-9_]*))(?!\\\\w)\",\"name\":\"constant.numeric.float.gdresource\"},{\"match\":\"(?<!\\\\w)([-+]?(0|([1-9](([0-9]|_[0-9])+)?)))(?!\\\\w)\",\"name\":\"constant.numeric.integer.gdresource\"},{\"match\":\"(?<!\\\\w)([-+]?inf)(?!\\\\w)\",\"name\":\"constant.numeric.inf.gdresource\"},{\"match\":\"(?<!\\\\w)([-+]?nan)(?!\\\\w)\",\"name\":\"constant.numeric.nan.gdresource\"},{\"match\":\"(?<!\\\\w)(0x((\\\\h((_??\\\\h)+)?)))(?!\\\\w)\",\"name\":\"constant.numeric.hex.gdresource\"},{\"match\":\"(?<!\\\\w)(0o[0-7](_?[0-7])*)(?!\\\\w)\",\"name\":\"constant.numeric.oct.gdresource\"},{\"match\":\"(?<!\\\\w)(0b[01](_?[01])*)(?!\\\\w)\",\"name\":\"constant.numeric.bin.gdresource\"},{\"begin\":\"(?<!\\\\w)(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)(\\\\()\\\\s?\",\"beginCaptures\":{\"1\":{\"name\":\"support.class.library.gdresource\"}},\"end\":\"\\\\s?(\\\\))\",\"patterns\":[{\"include\":\"#key_value\"},{\"include\":\"#data\"}]},{\"begin\":\"(?<!\\\\w)((?:Ext|Sub)Resource)(\\\\()\\\\s?\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.gdresource\"}},\"end\":\"\\\\s?(\\\\))\",\"patterns\":[{\"include\":\"#key_value\"},{\"include\":\"#data\"}]}]},\"embedded_gdscript\":{\"begin\":\"(script/source) = \\\"\",\"beginCaptures\":{\"1\":{\"name\":\"variable.other.property.gdresource\"}},\"end\":\"\\\"\",\"patterns\":[{\"include\":\"source.gdscript\"}]},\"embedded_shader\":{\"begin\":\"(code) = \\\"\",\"beginCaptures\":{\"1\":{\"name\":\"variable.other.property.gdresource\"}},\"end\":\"\\\"\",\"name\":\"meta.embedded.block.gdshader\",\"patterns\":[{\"include\":\"source.gdshader\"}]},\"heading\":{\"begin\":\"\\\\[([_a-z]*)\\\\s?\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.gdresource\"}},\"end\":\"]\",\"patterns\":[{\"include\":\"#heading_properties\"},{\"include\":\"#data\"}]},\"heading_properties\":{\"patterns\":[{\"match\":\"(\\\\s*[-A-Z_a-z][-0-9A-Z_a-z]*\\\\s*=)(?=\\\\s*$)\",\"name\":\"invalid.illegal.noValue.gdresource\"},{\"begin\":\"\\\\s*([-A-Z_a-z]\\\\S*|\\\".+\\\"|'.+'|[0-9]+)\\\\s*(=)\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"variable.other.property.gdresource\"},\"2\":{\"name\":\"punctuation.definition.keyValue.gdresource\"}},\"end\":\"($|(?==)|,?|\\\\s*(?=}))\",\"patterns\":[{\"include\":\"#data\"}]}]},\"key_value\":{\"patterns\":[{\"match\":\"(\\\\s*[-A-Z_a-z][-0-9A-Z_a-z]*\\\\s*=)(?=\\\\s*$)\",\"name\":\"invalid.illegal.noValue.gdresource\"},{\"begin\":\"\\\\s*([-A-Z_a-z]\\\\S*|\\\".+\\\"|'.+'|[0-9]+)\\\\s*(=)\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"variable.other.property.gdresource\"},\"2\":{\"name\":\"punctuation.definition.keyValue.gdresource\"}},\"end\":\"($|(?==)|,|\\\\s*(?=}))\",\"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,4 +1,4 @@
1
- const lang = Object.freeze(JSON.parse("{\"displayName\":\"GDScript\",\"fileTypes\":[\"gd\"],\"name\":\"gdscript\",\"patterns\":[{\"include\":\"#statement\"},{\"include\":\"#expression\"}],\"repository\":{\"annotated_parameter\":{\"begin\":\"\\\\s*([A-Z_a-z]\\\\w*)\\\\s*(:)\\\\s*([A-Z_a-z]\\\\w*)?\",\"beginCaptures\":{\"1\":{\"name\":\"variable.parameter.function.language.gdscript\"},\"2\":{\"name\":\"punctuation.separator.annotation.gdscript\"},\"3\":{\"name\":\"entity.name.type.class.gdscript\"}},\"end\":\"(,)|(?=\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.separator.parameters.gdscript\"}},\"patterns\":[{\"include\":\"#expression\"},{\"match\":\"=(?!=)\",\"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\"},\"any_method\":{\"match\":\"\\\\b([A-Z_a-z]\\\\w*)\\\\b(?=\\\\s*\\\\()\",\"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(\\\\.)\\\\s*(?<![#$%@])(?:([A-Z_][0-9A-Z_]*)|([A-Z_a-z]\\\\w*))\\\\b(?!\\\\()\"},\"any_variable\":{\"match\":\"\\\\b(?<![#$%@])([A-Z_a-z]\\\\w*)\\\\b(?!\\\\()\",\"name\":\"variable.other.gdscript\"},\"arithmetic_operator\":{\"match\":\"->|\\\\+=|-=|\\\\*\\\\*=|\\\\*=|\\\\^=|/=|%=|&=|~=|\\\\|=|\\\\*\\\\*|[-%*+/]\",\"name\":\"keyword.operator.arithmetic.gdscript\"},\"assignment_operator\":{\"match\":\"=\",\"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\":\"[\\\\&|]|<<=|>>=|<<|>>|[\\\\^~]\",\"name\":\"keyword.operator.bitwise.gdscript\"},\"boolean_operator\":{\"match\":\"(&&|\\\\|\\\\|)\",\"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\",\"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\":\"(?<!/\\\\s*)(\\\\$\\\\s*|%|\\\\$%\\\\s*)(/\\\\s*)?([A-Z_a-z]\\\\w*)\\\\b(?!\\\\s*/)\",\"name\":\"meta.literal.nodepath.bare.gdscript\"},\"builtin_get_node_shorthand_bare_multi\":{\"begin\":\"(\\\\$\\\\s*|%|\\\\$%\\\\s*)(/\\\\s*)?([A-Z_a-z]\\\\w*)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.flow.gdscript\"},\"2\":{\"name\":\"constant.character.escape.gdscript\"},\"3\":{\"name\":\"constant.character.escape.gdscript\"}},\"end\":\"(?!\\\\s*/\\\\s*%?\\\\s*[A-Z_a-z]\\\\w*)\",\"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\":\"(/)\\\\s*(%)?\\\\s*([A-Z_a-z]\\\\w*)\\\\s*\"}]},\"builtin_get_node_shorthand_quoted\":{\"begin\":\"(?:([$%])|([\\\\&@^]))([\\\"'])\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.flow.gdscript\"},\"2\":{\"name\":\"variable.other.enummember.gdscript\"}},\"end\":\"(\\\\3)\",\"name\":\"string.quoted.gdscript meta.literal.nodepath.gdscript constant.character.escape.gdscript\",\"patterns\":[{\"match\":\"%\",\"name\":\"keyword.control.flow\"}]},\"class_declaration\":{\"captures\":{\"1\":{\"name\":\"entity.name.type.class.gdscript\"},\"2\":{\"name\":\"class.other.gdscript\"}},\"match\":\"(?<=^class)\\\\s+([A-Z_a-z]\\\\w*)\\\\s*(?=:)\"},\"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_]+)\"},\"class_is\":{\"captures\":{\"1\":{\"name\":\"storage.type.is.gdscript\"},\"2\":{\"name\":\"entity.name.type.class.gdscript\"}},\"match\":\"\\\\s+(is)\\\\s+([A-Z_a-z]\\\\w*)\"},\"class_name\":{\"captures\":{\"1\":{\"name\":\"entity.name.type.class.gdscript\"},\"2\":{\"name\":\"class.other.gdscript\"}},\"match\":\"(?<=class_name)\\\\s+([A-Z_a-z]\\\\w*(\\\\.([A-Z_a-z]\\\\w*))?)\"},\"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]\\\\w*).(new)\\\\(\"},\"comment\":{\"captures\":{\"1\":{\"name\":\"punctuation.definition.comment.number-sign.gdscript\"}},\"match\":\"(##?).*$\\\\n?\",\"name\":\"comment.line.number-sign.gdscript\"},\"compare_operator\":{\"match\":\"<=|>=|==|[<>]|!=?\",\"name\":\"keyword.operator.comparison.gdscript\"},\"const_vars\":{\"match\":\"\\\\b([A-Z_][0-9A-Z_]*)\\\\b\",\"name\":\"variable.other.constant.gdscript\"},\"control_flow\":{\"match\":\"\\\\b(?:if|elif|else|while|break|continue|pass|return|when|yield|await)\\\\b\",\"name\":\"keyword.control.gdscript\"},\"curly_braces\":{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.dict.begin.gdscript\"}},\"end\":\"}\",\"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)\\\\s+([A-Z_a-z]\\\\w*\\\\.[A-Z_a-z]\\\\w*)?\"},\"func\":{\"match\":\"\\\\bfunc\\\\b\",\"name\":\"keyword.language.gdscript storage.type.function.gdscript\"},\"function_arguments\":{\"begin\":\"(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.arguments.begin.gdscript\"}},\"contentName\":\"meta.function.parameters.gdscript\",\"end\":\"(?=\\\\))(?!\\\\)\\\\s*\\\\()\",\"patterns\":[{\"match\":\"(,)\",\"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]\\\\w*)\\\\s*(=)(?!=)\"},{\"match\":\"=(?!=)\",\"name\":\"keyword.operator.assignment.gdscript\"},{\"include\":\"#base_expression\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.arguments.end.gdscript\"},\"2\":{\"name\":\"punctuation.definition.arguments.begin.gdscript\"}},\"match\":\"\\\\s*(\\\\))\\\\s*(\\\\()\"},{\"include\":\"#letter\"},{\"include\":\"#any_variable\"},{\"include\":\"#any_property\"},{\"include\":\"#keywords\"}]},\"function_call\":{\"begin\":\"(?=\\\\b[A-Z_a-z]\\\\w*\\\\b\\\\()\",\"end\":\"(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.arguments.end.gdscript\"}},\"name\":\"meta.function-call.gdscript\",\"patterns\":[{\"include\":\"#function_name\"},{\"include\":\"#function_arguments\"}]},\"function_declaration\":{\"begin\":\"\\\\s*(func)\\\\s+([A-Z_a-z]\\\\w*)\\\\s*(?=\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.language.gdscript storage.type.function.gdscript\"},\"2\":{\"name\":\"entity.name.function.gdscript\"}},\"end\":\"(:)\",\"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\",\"name\":\"keyword.language.gdscript\"},{\"match\":\"\\\\b([A-Z_a-z]\\\\w*)\\\\b\",\"name\":\"entity.name.function.gdscript\"}]},\"getter_setter_godot4\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"entity.name.function.gdscript\"},\"2\":{\"name\":\"punctuation.separator.annotation.gdscript\"}},\"match\":\"(get)\\\\s*(:)\",\"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)\\\\s*(\\\\()\\\\s*([A-Z_a-z]\\\\w*)\\\\s*(\\\\))\\\\s*(:)\",\"name\":\"meta.variable.declaration.setter.gdscript\"}]},\"in_keyword\":{\"patterns\":[{\"begin\":\"\\\\b(for)\\\\b\",\"captures\":{\"1\":{\"name\":\"keyword.control.gdscript\"}},\"end\":\":\",\"patterns\":[{\"match\":\"\\\\bin\\\\b\",\"name\":\"keyword.control.gdscript\"},{\"include\":\"#base_expression\"},{\"include\":\"#any_variable\"},{\"include\":\"#any_property\"}]},{\"match\":\"\\\\bin\\\\b\",\"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\",\"name\":\"keyword.language.gdscript\"},\"lambda_declaration\":{\"begin\":\"(func)\\\\s?(?=\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.language.gdscript storage.type.function.gdscript\"},\"2\":{\"name\":\"entity.name.function.gdscript\"}},\"end\":\"(:|(?=[\\\\n\\\"#']))\",\"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\",\"name\":\"constant.language.gdscript\"},\"line_continuation\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.separator.continuation.line.gdscript\"},\"2\":{\"name\":\"invalid.illegal.line.continuation.gdscript\"}},\"match\":\"(\\\\\\\\)\\\\s*(\\\\S.*$\\\\n?)\"},{\"begin\":\"(\\\\\\\\)\\\\s*$\\\\n?\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.separator.continuation.line.gdscript\"}},\"end\":\"(?=^\\\\s*$)|(?!(\\\\s*[Rr]?('''|\\\"\\\"\\\"|[\\\"']))|\\\\G()$)\",\"patterns\":[{\"include\":\"#base_expression\"}]}]},\"loose_default\":{\"begin\":\"(=)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.gdscript\"}},\"end\":\"(,)|(?=\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.separator.parameters.gdscript\"}},\"patterns\":[{\"include\":\"#expression\"}]},\"match_keyword\":{\"captures\":{\"1\":{\"name\":\"keyword.control.gdscript\"}},\"match\":\"^\\\\n\\\\s*(match)\"},\"nodepath_function\":{\"begin\":\"(get_node_or_null|has_node|has_node_and_resource|find_node|get_node)\\\\s*(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.function.gdscript\"},\"2\":{\"name\":\"punctuation.definition.parameters.begin.gdscript\"}},\"contentName\":\"meta.function.parameters.gdscript\",\"end\":\"(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.end.gdscript\"}},\"name\":\"meta.function.gdscript\",\"patterns\":[{\"begin\":\"([\\\"'])\",\"end\":\"\\\\1\",\"name\":\"string.quoted.gdscript meta.literal.nodepath.gdscript constant.character.escape.gdscript\",\"patterns\":[{\"match\":\"%\",\"name\":\"keyword.control.flow.gdscript\"}]},{\"include\":\"#expression\"}]},\"nodepath_object\":{\"begin\":\"(NodePath)\\\\s*\\\\(\",\"beginCaptures\":{\"1\":{\"name\":\"support.class.library.gdscript\"}},\"end\":\"\\\\)\",\"name\":\"meta.literal.nodepath.gdscript\",\"patterns\":[{\"begin\":\"([\\\"'])\",\"end\":\"\\\\1\",\"name\":\"string.quoted.gdscript constant.character.escape.gdscript\",\"patterns\":[{\"match\":\"%\",\"name\":\"keyword.control.flow.gdscript\"}]}]},\"numbers\":{\"patterns\":[{\"match\":\"0b[01_]+\",\"name\":\"constant.numeric.integer.binary.gdscript\"},{\"match\":\"0x[_\\\\h]+\",\"name\":\"constant.numeric.integer.hexadecimal.gdscript\"},{\"match\":\"\\\\.[0-9][0-9_]*([Ee][-+]?[0-9_]+)?\",\"name\":\"constant.numeric.float.gdscript\"},{\"match\":\"([0-9][0-9_]*)\\\\.[0-9_]*([Ee][-+]?[0-9_]+)?\",\"name\":\"constant.numeric.float.gdscript\"},{\"match\":\"([0-9][0-9_]*)?\\\\.[0-9_]*([Ee][-+]?[0-9_]+)\",\"name\":\"constant.numeric.float.gdscript\"},{\"match\":\"[0-9][0-9_]*[Ee][-+]?[0-9_]+\",\"name\":\"constant.numeric.float.gdscript\"},{\"match\":\"-?[0-9][0-9_]*\",\"name\":\"constant.numeric.integer.gdscript\"}]},\"operators\":{\"patterns\":[{\"include\":\"#wordlike_operator\"},{\"include\":\"#boolean_operator\"},{\"include\":\"#arithmetic_operator\"},{\"include\":\"#bitwise_operator\"},{\"include\":\"#compare_operator\"}]},\"parameters\":{\"begin\":\"(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.begin.gdscript\"}},\"end\":\"(\\\\))\",\"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]\\\\w*)\\\\s*(?:(,)|(?=[\\\\n#)=]))\"},{\"include\":\"#comment\"},{\"include\":\"#loose_default\"}]},\"pascal_case_class\":{\"match\":\"\\\\b[A-Z]+(?:[a-z]+[0-9A-Z_a-z]*)+\\\\b\",\"name\":\"entity.name.type.class.gdscript\"},\"region\":{\"match\":\"#(end)?region.*$\\\\n?\",\"name\":\"keyword.language.region.gdscript\"},\"round_braces\":{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.begin.gdscript\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.end.gdscript\"}},\"patterns\":[{\"include\":\"#base_expression\"},{\"include\":\"#any_variable\"}]},\"signal_declaration\":{\"begin\":\"\\\\s*(signal)\\\\s+([A-Z_a-z]\\\\w*)\\\\s*(?=\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.language.gdscript storage.type.function.gdscript\"},\"2\":{\"name\":\"entity.name.function.gdscript\"}},\"end\":\"((?=[\\\\n\\\"#']))\",\"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\":\"\\\\s*(signal)\\\\s+([A-Z_a-z]\\\\w*)(?=[\\\\n\\\\s])\",\"name\":\"meta.signal.gdscript\"},\"square_braces\":{\"begin\":\"\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.list.begin.gdscript\"}},\"end\":\"]\",\"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\",\"name\":\"keyword.control.flow.gdscript\"},{\"match\":\"\\\\b(?<!\\\\.)(class)\\\\b\",\"name\":\"storage.type.class.gdscript\"},{\"captures\":{\"1\":{\"name\":\"keyword.control.flow.gdscript\"}},\"match\":\"^\\\\s*(case|match)(?=\\\\s*([-\\\"#'(+:\\\\[{\\\\w\\\\d]|$))\\\\b\"}]},\"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\":\"(\\\\{\\\\{|}}|\\\\{\\\\w*(\\\\.[_[:alpha:]]\\\\w*|\\\\[[^]\\\"']+])*(![ars])?(:\\\\w?[<=>^]?[- +]?#?\\\\d*,?(\\\\.\\\\d+)?[%EFGXb-gnosx]?)?})\",\"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\":\"(\\\\{\\\\w*(\\\\.[_[:alpha:]]\\\\w*|\\\\[[^]\\\"']+])*(![ars])?(:)[^\\\\n\\\"'{}]*(?:\\\\{[^\\\\n\\\"'}]*?}[^\\\\n\\\"'{}]*)*})\",\"name\":\"meta.format.brace.gdscript\"}]},\"string_percent_placeholders\":{\"captures\":{\"1\":{\"name\":\"constant.character.format.placeholder.other.gdscript\"}},\"match\":\"(%(\\\\([\\\\w\\\\s]*\\\\))?[- #+0]*(\\\\d+|\\\\*)?(\\\\.(\\\\d+|\\\\*))?([Lhl])?[%EFGXa-giorsux])\",\"name\":\"meta.format.percent.gdscript\"},\"strings\":{\"begin\":\"(r)?(\\\"\\\"\\\"|'''|[\\\"'])\",\"beginCaptures\":{\"1\":{\"name\":\"constant.character.escape.gdscript\"}},\"end\":\"\\\\2\",\"name\":\"string.quoted.gdscript\",\"patterns\":[{\"match\":\"\\\\\\\\.\",\"name\":\"constant.character.escape.gdscript\"},{\"include\":\"#string_percent_placeholders\"},{\"include\":\"#string_bracket_placeholders\"}]},\"variable_declaration\":{\"begin\":\"\\\\b(?:(var)|(const))\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.language.gdscript storage.type.var.gdscript\"},\"2\":{\"name\":\"keyword.language.gdscript storage.type.const.gdscript\"}},\"end\":\"$|;\",\"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\":\"(:)?\\\\s*([gs]et)\\\\s+=\\\\s+([A-Z_a-z]\\\\w*)\"},{\"match\":\":=|=(?!=)\",\"name\":\"keyword.operator.assignment.gdscript\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.annotation.gdscript\"},\"2\":{\"name\":\"entity.name.type.class.gdscript\"}},\"match\":\"(:)\\\\s*([A-Z_a-z]\\\\w*)?\"},{\"captures\":{\"1\":{\"name\":\"keyword.language.gdscript\"},\"2\":{\"name\":\"entity.name.function.gdscript\"},\"3\":{\"name\":\"entity.name.function.gdscript\"}},\"match\":\"(setget)\\\\s+([A-Z_a-z]\\\\w*)(?:,\\\\s*([A-Z_a-z]\\\\w*))?\"},{\"include\":\"#expression\"},{\"include\":\"#letter\"},{\"include\":\"#any_variable\"},{\"include\":\"#any_property\"},{\"include\":\"#keywords\"}]},\"wordlike_operator\":{\"match\":\"\\\\b(and|or|not)\\\\b\",\"name\":\"keyword.operator.wordlike.gdscript\"}},\"scopeName\":\"source.gdscript\"}"))
1
+ const lang = Object.freeze(JSON.parse("{\"displayName\":\"GDScript\",\"fileTypes\":[\"gd\"],\"name\":\"gdscript\",\"patterns\":[{\"include\":\"#statement\"},{\"include\":\"#expression\"}],\"repository\":{\"annotated_parameter\":{\"begin\":\"\\\\s*([A-Z_a-z]\\\\w*)\\\\s*(:)\\\\s*([A-Z_a-z]\\\\w*)?\",\"beginCaptures\":{\"1\":{\"name\":\"variable.parameter.function.language.gdscript\"},\"2\":{\"name\":\"punctuation.separator.annotation.gdscript\"},\"3\":{\"name\":\"entity.name.type.class.gdscript\"}},\"end\":\"(,)|(?=\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.separator.parameters.gdscript\"}},\"patterns\":[{\"include\":\"#expression\"},{\"match\":\"=(?!=)\",\"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\"},\"any_method\":{\"match\":\"\\\\b([A-Z_a-z]\\\\w*)\\\\b(?=\\\\s*\\\\()\",\"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(\\\\.)\\\\s*(?<![#$%@])(?:([A-Z_][0-9A-Z_]*)|([A-Z_a-z]\\\\w*))\\\\b(?!\\\\()\"},\"any_variable\":{\"match\":\"\\\\b(?<![#$%@])([A-Z_a-z]\\\\w*)\\\\b(?!\\\\()\",\"name\":\"variable.other.gdscript\"},\"arithmetic_operator\":{\"match\":\"->|\\\\+=|-=|\\\\*\\\\*=|\\\\*=|\\\\^=|/=|%=|&=|~=|\\\\|=|\\\\*\\\\*|[-%*+/]\",\"name\":\"keyword.operator.arithmetic.gdscript\"},\"assignment_operator\":{\"match\":\"=\",\"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\":\"[\\\\&|]|<<=|>>=|<<|>>|[\\\\^~]\",\"name\":\"keyword.operator.bitwise.gdscript\"},\"boolean_operator\":{\"match\":\"(&&|\\\\|\\\\|)\",\"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\",\"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\":\"(?<!/\\\\s*)(\\\\$\\\\s*|%|\\\\$%\\\\s*)(/\\\\s*)?([A-Z_a-z]\\\\w*)\\\\b(?!\\\\s*/)\",\"name\":\"meta.literal.nodepath.bare.gdscript\"},\"builtin_get_node_shorthand_bare_multi\":{\"begin\":\"(\\\\$\\\\s*|%|\\\\$%\\\\s*)(/\\\\s*)?([A-Z_a-z]\\\\w*)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.flow.gdscript\"},\"2\":{\"name\":\"constant.character.escape.gdscript\"},\"3\":{\"name\":\"constant.character.escape.gdscript\"}},\"end\":\"(?!\\\\s*/\\\\s*%?\\\\s*[A-Z_a-z]\\\\w*)\",\"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\":\"(/)\\\\s*(%)?\\\\s*([A-Z_a-z]\\\\w*)\\\\s*\"}]},\"builtin_get_node_shorthand_quoted\":{\"begin\":\"(?:([$%])|([\\\\&@^]))([\\\"'])\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.flow.gdscript\"},\"2\":{\"name\":\"variable.other.enummember.gdscript\"}},\"end\":\"(\\\\3)\",\"name\":\"string.quoted.gdscript meta.literal.nodepath.gdscript constant.character.escape.gdscript\",\"patterns\":[{\"match\":\"%\",\"name\":\"keyword.control.flow\"}]},\"class_declaration\":{\"captures\":{\"1\":{\"name\":\"entity.name.type.class.gdscript\"},\"2\":{\"name\":\"class.other.gdscript\"}},\"match\":\"(?<=^class)\\\\s+([A-Z_a-z]\\\\w*)\\\\s*(?=:)\"},\"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_]+)\"},\"class_is\":{\"captures\":{\"1\":{\"name\":\"storage.type.is.gdscript\"},\"2\":{\"name\":\"entity.name.type.class.gdscript\"}},\"match\":\"\\\\s+(is)\\\\s+([A-Z_a-z]\\\\w*)\"},\"class_name\":{\"captures\":{\"1\":{\"name\":\"entity.name.type.class.gdscript\"},\"2\":{\"name\":\"class.other.gdscript\"}},\"match\":\"(?<=class_name)\\\\s+([A-Z_a-z]\\\\w*(\\\\.([A-Z_a-z]\\\\w*))?)\"},\"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]\\\\w*).(new)\\\\(\"},\"comment\":{\"captures\":{\"1\":{\"name\":\"punctuation.definition.comment.number-sign.gdscript\"}},\"match\":\"(##?).*$\\\\n?\",\"name\":\"comment.line.number-sign.gdscript\"},\"compare_operator\":{\"match\":\"<=|>=|==|[<>]|!=?\",\"name\":\"keyword.operator.comparison.gdscript\"},\"const_vars\":{\"match\":\"\\\\b([A-Z_][0-9A-Z_]*)\\\\b\",\"name\":\"variable.other.constant.gdscript\"},\"control_flow\":{\"match\":\"\\\\b(?:if|elif|else|while|break|continue|pass|return|when|yield|await)\\\\b\",\"name\":\"keyword.control.gdscript\"},\"curly_braces\":{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.dict.begin.gdscript\"}},\"end\":\"}\",\"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)\\\\s+([A-Z_a-z]\\\\w*\\\\.[A-Z_a-z]\\\\w*)?\"},\"func\":{\"match\":\"\\\\bfunc\\\\b\",\"name\":\"keyword.language.gdscript storage.type.function.gdscript\"},\"function_arguments\":{\"begin\":\"(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.arguments.begin.gdscript\"}},\"contentName\":\"meta.function.parameters.gdscript\",\"end\":\"(?=\\\\))(?!\\\\)\\\\s*\\\\()\",\"patterns\":[{\"match\":\"(,)\",\"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]\\\\w*)\\\\s*(=)(?!=)\"},{\"match\":\"=(?!=)\",\"name\":\"keyword.operator.assignment.gdscript\"},{\"include\":\"#base_expression\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.arguments.end.gdscript\"},\"2\":{\"name\":\"punctuation.definition.arguments.begin.gdscript\"}},\"match\":\"\\\\s*(\\\\))\\\\s*(\\\\()\"},{\"include\":\"#letter\"},{\"include\":\"#any_variable\"},{\"include\":\"#any_property\"},{\"include\":\"#keywords\"}]},\"function_call\":{\"begin\":\"(?=\\\\b[A-Z_a-z]\\\\w*\\\\b\\\\()\",\"end\":\"(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.arguments.end.gdscript\"}},\"name\":\"meta.function-call.gdscript\",\"patterns\":[{\"include\":\"#function_name\"},{\"include\":\"#function_arguments\"}]},\"function_declaration\":{\"begin\":\"\\\\s*(func)\\\\s+([A-Z_a-z]\\\\w*)\\\\s*(?=\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.language.gdscript storage.type.function.gdscript\"},\"2\":{\"name\":\"entity.name.function.gdscript\"}},\"end\":\"(:)\",\"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\",\"name\":\"keyword.language.gdscript\"},{\"match\":\"\\\\b([A-Z_a-z]\\\\w*)\\\\b\",\"name\":\"entity.name.function.gdscript\"}]},\"getter_setter_godot4\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"entity.name.function.gdscript\"},\"2\":{\"name\":\"punctuation.separator.annotation.gdscript\"}},\"match\":\"(get)\\\\s*(:)\",\"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)\\\\s*(\\\\()\\\\s*([A-Z_a-z]\\\\w*)\\\\s*(\\\\))\\\\s*(:)\",\"name\":\"meta.variable.declaration.setter.gdscript\"}]},\"in_keyword\":{\"patterns\":[{\"begin\":\"\\\\b(for)\\\\b\",\"captures\":{\"1\":{\"name\":\"keyword.control.gdscript\"}},\"end\":\":\",\"patterns\":[{\"match\":\"\\\\bin\\\\b\",\"name\":\"keyword.control.gdscript\"},{\"include\":\"#base_expression\"},{\"include\":\"#any_variable\"},{\"include\":\"#any_property\"}]},{\"match\":\"\\\\bin\\\\b\",\"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\",\"name\":\"keyword.language.gdscript\"},\"lambda_declaration\":{\"begin\":\"(func)\\\\s?(?=\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.language.gdscript storage.type.function.gdscript\"},\"2\":{\"name\":\"entity.name.function.gdscript\"}},\"end\":\"(:|(?=[\\\\n\\\"#']))\",\"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\",\"name\":\"constant.language.gdscript\"},\"line_continuation\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.separator.continuation.line.gdscript\"},\"2\":{\"name\":\"invalid.illegal.line.continuation.gdscript\"}},\"match\":\"(\\\\\\\\)\\\\s*(\\\\S.*$\\\\n?)\"},{\"begin\":\"(\\\\\\\\)\\\\s*$\\\\n?\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.separator.continuation.line.gdscript\"}},\"end\":\"(?=^\\\\s*$)|(?!(\\\\s*[Rr]?('''|\\\"\\\"\\\"|[\\\"']))|\\\\G()$)\",\"patterns\":[{\"include\":\"#base_expression\"}]}]},\"loose_default\":{\"begin\":\"(=)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.gdscript\"}},\"end\":\"(,)|(?=\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.separator.parameters.gdscript\"}},\"patterns\":[{\"include\":\"#expression\"}]},\"match_keyword\":{\"captures\":{\"1\":{\"name\":\"keyword.control.gdscript\"}},\"match\":\"^\\\\n\\\\s*(match)\"},\"nodepath_function\":{\"begin\":\"(get_node_or_null|has_node|has_node_and_resource|find_node|get_node)\\\\s*(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.function.gdscript\"},\"2\":{\"name\":\"punctuation.definition.parameters.begin.gdscript\"}},\"contentName\":\"meta.function.parameters.gdscript\",\"end\":\"(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.end.gdscript\"}},\"name\":\"meta.function.gdscript\",\"patterns\":[{\"begin\":\"([\\\"'])\",\"end\":\"\\\\1\",\"name\":\"string.quoted.gdscript meta.literal.nodepath.gdscript constant.character.escape.gdscript\",\"patterns\":[{\"match\":\"%\",\"name\":\"keyword.control.flow.gdscript\"}]},{\"include\":\"#expression\"}]},\"nodepath_object\":{\"begin\":\"(NodePath)\\\\s*\\\\(\",\"beginCaptures\":{\"1\":{\"name\":\"support.class.library.gdscript\"}},\"end\":\"\\\\)\",\"name\":\"meta.literal.nodepath.gdscript\",\"patterns\":[{\"begin\":\"([\\\"'])\",\"end\":\"\\\\1\",\"name\":\"string.quoted.gdscript constant.character.escape.gdscript\",\"patterns\":[{\"match\":\"%\",\"name\":\"keyword.control.flow.gdscript\"}]}]},\"numbers\":{\"patterns\":[{\"match\":\"0b[01_]+\",\"name\":\"constant.numeric.integer.binary.gdscript\"},{\"match\":\"0x[_\\\\h]+\",\"name\":\"constant.numeric.integer.hexadecimal.gdscript\"},{\"match\":\"\\\\.[0-9][0-9_]*([Ee][-+]?[0-9_]+)?\",\"name\":\"constant.numeric.float.gdscript\"},{\"match\":\"([0-9][0-9_]*)\\\\.[0-9_]*([Ee][-+]?[0-9_]+)?\",\"name\":\"constant.numeric.float.gdscript\"},{\"match\":\"([0-9][0-9_]*)?\\\\.[0-9_]*([Ee][-+]?[0-9_]+)\",\"name\":\"constant.numeric.float.gdscript\"},{\"match\":\"[0-9][0-9_]*[Ee][-+]?[0-9_]+\",\"name\":\"constant.numeric.float.gdscript\"},{\"match\":\"-?[0-9][0-9_]*\",\"name\":\"constant.numeric.integer.gdscript\"}]},\"operators\":{\"patterns\":[{\"include\":\"#wordlike_operator\"},{\"include\":\"#boolean_operator\"},{\"include\":\"#arithmetic_operator\"},{\"include\":\"#bitwise_operator\"},{\"include\":\"#compare_operator\"}]},\"parameters\":{\"begin\":\"(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.begin.gdscript\"}},\"end\":\"(\\\\))\",\"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]\\\\w*)\\\\s*(?:(,)|(?=[\\\\n#)=]))\"},{\"include\":\"#comment\"},{\"include\":\"#loose_default\"}]},\"pascal_case_class\":{\"match\":\"\\\\b[A-Z]+(?:[a-z]+[0-9A-Z_a-z]*)+\\\\b\",\"name\":\"entity.name.type.class.gdscript\"},\"region\":{\"match\":\"#(end)?region.*$\\\\n?\",\"name\":\"keyword.language.region.gdscript\"},\"round_braces\":{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.begin.gdscript\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.end.gdscript\"}},\"patterns\":[{\"include\":\"#base_expression\"},{\"include\":\"#any_variable\"}]},\"signal_declaration\":{\"begin\":\"\\\\s*(signal)\\\\s+([A-Z_a-z]\\\\w*)\\\\s*(?=\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.language.gdscript storage.type.function.gdscript\"},\"2\":{\"name\":\"entity.name.function.gdscript\"}},\"end\":\"((?=[\\\\n\\\"#']))\",\"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\":\"\\\\s*(signal)\\\\s+([A-Z_a-z]\\\\w*)(?=[\\\\n\\\\s])\",\"name\":\"meta.signal.gdscript\"},\"square_braces\":{\"begin\":\"\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.list.begin.gdscript\"}},\"end\":\"]\",\"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\",\"name\":\"keyword.control.flow.gdscript\"},{\"match\":\"\\\\b(?<!\\\\.)(class)\\\\b\",\"name\":\"storage.type.class.gdscript\"},{\"captures\":{\"1\":{\"name\":\"keyword.control.flow.gdscript\"}},\"match\":\"^\\\\s*(case|match)(?=\\\\s*([-\\\"#'(+:\\\\[{\\\\w\\\\d]|$))\\\\b\"}]},\"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\":\"(\\\\{\\\\{|}}|\\\\{\\\\w*(\\\\.[_[:alpha:]]\\\\w*|\\\\[[^]\\\"']+])*(![ars])?(:\\\\w?[<=>^]?[- +]?#?\\\\d*,?(\\\\.\\\\d+)?[%EFGXb-gnosx]?)?})\",\"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\":\"(\\\\{\\\\w*(\\\\.[_[:alpha:]]\\\\w*|\\\\[[^]\\\"']+])*(![ars])?(:)[^\\\\n\\\"'{}]*(?:\\\\{[^\\\\n\\\"'}]*?}[^\\\\n\\\"'{}]*)*})\",\"name\":\"meta.format.brace.gdscript\"}]},\"string_percent_placeholders\":{\"captures\":{\"1\":{\"name\":\"constant.character.format.placeholder.other.gdscript\"}},\"match\":\"(%(\\\\([\\\\w\\\\s]*\\\\))?[- #+0]*(\\\\d+|\\\\*)?(\\\\.(\\\\d+|\\\\*))?([Lhl])?[%EFGXa-giorsux])\",\"name\":\"meta.format.percent.gdscript\"},\"strings\":{\"begin\":\"(r)?(\\\"\\\"\\\"|'''|[\\\"'])\",\"beginCaptures\":{\"1\":{\"name\":\"constant.character.escape.gdscript\"}},\"end\":\"\\\\2\",\"name\":\"string.quoted.gdscript\",\"patterns\":[{\"match\":\"\\\\\\\\.\",\"name\":\"constant.character.escape.gdscript\"},{\"include\":\"#string_percent_placeholders\"},{\"include\":\"#string_bracket_placeholders\"}]},\"variable_declaration\":{\"begin\":\"\\\\b(?:(var)|(const))\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.language.gdscript storage.type.var.gdscript\"},\"2\":{\"name\":\"keyword.language.gdscript storage.type.const.gdscript\"}},\"end\":\"$|;\",\"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\":\"(:)?\\\\s*([gs]et)\\\\s+=\\\\s+([A-Z_a-z]\\\\w*)\"},{\"match\":\":=|=(?!=)\",\"name\":\"keyword.operator.assignment.gdscript\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.annotation.gdscript\"},\"2\":{\"name\":\"entity.name.type.class.gdscript\"}},\"match\":\"(:)\\\\s*([A-Z_a-z]\\\\w*)?\"},{\"captures\":{\"1\":{\"name\":\"keyword.language.gdscript\"},\"2\":{\"name\":\"entity.name.function.gdscript\"},\"3\":{\"name\":\"entity.name.function.gdscript\"}},\"match\":\"(setget)\\\\s+([A-Z_a-z]\\\\w*)(?:,\\\\s*([A-Z_a-z]\\\\w*))?\"},{\"include\":\"#expression\"},{\"include\":\"#letter\"},{\"include\":\"#any_variable\"},{\"include\":\"#any_property\"},{\"include\":\"#keywords\"}]},\"wordlike_operator\":{\"match\":\"\\\\b(and|or|not)\\\\b\",\"name\":\"keyword.operator.wordlike.gdscript\"}},\"scopeName\":\"source.gdscript\",\"aliases\":[\"gd\"]}"))
2
2
 
3
3
  export default [
4
4
  lang
package/dist/gn.d.mts ADDED
@@ -0,0 +1,3 @@
1
+ import type { LanguageRegistration } from '@shikijs/types'
2
+ const langs: LanguageRegistration []
3
+ export default langs
package/dist/gn.mjs ADDED
@@ -0,0 +1,5 @@
1
+ const lang = Object.freeze(JSON.parse("{\"displayName\":\"GN\",\"name\":\"gn\",\"patterns\":[{\"include\":\"#expression\"}],\"repository\":{\"boolean\":{\"match\":\"\\\\b(true|false)\\\\b\",\"name\":\"constant.language.boolean.gn\"},\"builtins\":{\"patterns\":[{\"match\":\"\\\\b(action|action_foreach|bundle_data|copy|create_bundle|executable|generated_file|group|loadable_module|rust_library|rust_proc_macro|shared_library|source_set|static_library|target)\\\\b\",\"name\":\"support.function.gn\"},{\"match\":\"\\\\b(assert|config|declare_args|defined|exec_script|filter_exclude|filter_include|filter_labels_exclude|filter_labels_include|foreach|forward_variables_from|get_label_info|get_path_info|get_target_outputs|getenv|import|label_matches|not_needed|pool|print|print_stack_trace|process_file_template|read_file|rebase_path|set_default_toolchain|set_defaults|split_list|string_join|string_replace|string_split|template|tool|toolchain|write_file)\\\\b\",\"name\":\"support.function.gn\"},{\"match\":\"\\\\b(current_cpu|current_os|current_toolchain|default_toolchain|gn_version|host_cpu|host_os|invoker|python_path|root_build_dir|root_gen_dir|root_out_dir|target_cpu|target_gen_dir|target_name|target_os|target_out_dir)\\\\b\",\"name\":\"variable.language.gn\"},{\"match\":\"\\\\b(aliased_deps|all_dependent_configs|allow_circular_includes_from|arflags|args|asmflags|assert_no_deps|bridge_header|bundle_contents_dir|bundle_deps_filter|bundle_executable_dir|bundle_resources_dir|bundle_root_dir|cflags|cflags_cc??|cflags_objcc??|check_includes|code_signing_args|code_signing_outputs|code_signing_script|code_signing_sources|complete_static_lib|configs|contents|crate_name|crate_root|crate_type|data|data_deps|data_keys|defines|depfile|deps|externs|framework_dirs|frameworks|friend|gen_deps|include_dirs|inputs|ldflags|lib_dirs|libs|metadata|mnemonic|module_name|output_conversion|output_dir|output_extension|output_name|output_prefix_override|outputs|partial_info_plist|pool|post_processing_args|post_processing_outputs|post_processing_script|post_processing_sources|precompiled_header|precompiled_header_type|precompiled_source|product_type|public|public_configs|public_deps|rebase|response_file_contents|rustflags|script|sources|swiftflags|testonly|transparent|visibility|walk_keys|weak_frameworks|write_runtime_deps|xcasset_compiler_flags|xcode_extra_attributes|xcode_test_application_name)\\\\b\",\"name\":\"variable.language.gn\"}]},\"call\":{\"begin\":\"\\\\b([A-Z_a-z][0-9A-Z_a-z]*)\\\\s*\\\\(\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.function.gn\"}},\"end\":\"\\\\)\",\"patterns\":[{\"include\":\"#expression\"}]},\"comment\":{\"begin\":\"#\",\"end\":\"$\",\"name\":\"comment.line.number-sign.gn\"},\"expression\":{\"patterns\":[{\"include\":\"#keywords\"},{\"include\":\"#builtins\"},{\"include\":\"#call\"},{\"include\":\"#literals\"},{\"include\":\"#identifier\"},{\"include\":\"#operators\"},{\"include\":\"#comment\"}]},\"identifier\":{\"match\":\"\\\\b[A-Z_a-z][0-9A-Z_a-z]*\\\\b\",\"name\":\"variable.general.gn\"},\"keywords\":{\"match\":\"\\\\b(if|else)\\\\b\",\"name\":\"keyword.control.if.gn\"},\"literals\":{\"patterns\":[{\"include\":\"#string\"},{\"include\":\"#number\"},{\"include\":\"#boolean\"}]},\"number\":{\"match\":\"\\\\b-?\\\\d+\\\\b\",\"name\":\"constant.numeric.gn\"},\"operators\":{\"match\":\"\\\\b(\\\\+=??|==|!=|-=??|<=??|[!=>]|>=|&&|\\\\|\\\\|\\\\.)\\\\b\",\"name\":\"keyword.operator.gn\"},\"string\":{\"begin\":\"\\\"\",\"end\":\"\\\"\",\"name\":\"string.quoted.double.gn\",\"patterns\":[{\"match\":\"\\\\\\\\[\\\"$\\\\\\\\]\",\"name\":\"constant.character.escape.gn\"},{\"match\":\"\\\\$0x\\\\h\\\\h\",\"name\":\"constant.character.hex.gn\"},{\"begin\":\"\\\\$\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.template-expression.begin.gn\"}},\"contentName\":\"meta.embedded.substitution.gn\",\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.template-expression.end.gn\"}},\"patterns\":[{\"include\":\"#expression\"}]},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.template-expression.begin.gn\"},\"2\":{\"name\":\"meta.embedded.substitution.gn variable.general.gn\"}},\"match\":\"(\\\\$)([A-Z_a-z][0-9A-Z_a-z]*)\"}]}},\"scopeName\":\"source.gn\"}"))
2
+
3
+ export default [
4
+ lang
5
+ ]
package/dist/go.mjs CHANGED
@@ -1,4 +1,4 @@
1
- const lang = Object.freeze(JSON.parse("{\"displayName\":\"Go\",\"name\":\"go\",\"patterns\":[{\"include\":\"#statements\"}],\"repository\":{\"after_control_variables\":{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"match\":\"\\\\[\",\"name\":\"punctuation.definition.begin.bracket.square.go\"},{\"match\":\"]\",\"name\":\"punctuation.definition.end.bracket.square.go\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.go\"}]}},\"match\":\"(?<=\\\\brange\\\\b|;|\\\\bif\\\\b|\\\\bfor\\\\b|[<>]|<=|>=|==|!=|\\\\w[-%*+/]|\\\\w[-%*+/]=|\\\\|\\\\||&&)\\\\s*((?![]\\\\[]+)[-\\\\]!%*+./:<=>\\\\[_[:alnum:]]+)\\\\s*(?=\\\\{)\"},\"brackets\":{\"patterns\":[{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.begin.bracket.curly.go\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.curly.go\"}},\"patterns\":[{\"include\":\"$self\"}]},{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.begin.bracket.round.go\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.round.go\"}},\"patterns\":[{\"include\":\"$self\"}]},{\"begin\":\"\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.begin.bracket.square.go\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.square.go\"}},\"patterns\":[{\"include\":\"$self\"}]}]},\"built_in_functions\":{\"patterns\":[{\"match\":\"\\\\b(append|cap|close|complex|copy|delete|imag|len|panic|print|println|real|recover|min|max|clear)\\\\b(?=\\\\()\",\"name\":\"entity.name.function.support.builtin.go\"},{\"begin\":\"\\\\b(new)\\\\b(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.function.support.builtin.go\"},\"2\":{\"name\":\"punctuation.definition.begin.bracket.round.go\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.round.go\"}},\"patterns\":[{\"include\":\"#functions\"},{\"include\":\"#struct_variables_types\"},{\"include\":\"#type-declarations\"},{\"include\":\"#generic_types\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"},{\"include\":\"$self\"}]},{\"begin\":\"\\\\b(make)\\\\b(\\\\()((?:(?:[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+(?:\\\\([^)]+\\\\))?)?[]*\\\\[]+{0,1}(?:(?!\\\\bmap\\\\b)[.\\\\w]+)?(\\\\[(?:\\\\S+(?:,\\\\s*\\\\S+)*)?])?,?)?\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.function.support.builtin.go\"},\"2\":{\"name\":\"punctuation.definition.begin.bracket.round.go\"},\"3\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"include\":\"#parameter-variable-types\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.round.go\"}},\"patterns\":[{\"include\":\"$self\"}]}]},\"comments\":{\"patterns\":[{\"begin\":\"(/\\\\*)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.comment.go\"}},\"end\":\"(\\\\*/)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.comment.go\"}},\"name\":\"comment.block.go\"},{\"begin\":\"(//)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.comment.go\"}},\"end\":\"\\\\n|$\",\"name\":\"comment.line.double-slash.go\"}]},\"const_assignment\":{\"patterns\":[{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#delimiters\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.constant.go\"}]},\"2\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"include\":\"#generic_types\"},{\"match\":\"\\\\(\",\"name\":\"punctuation.definition.begin.bracket.round.go\"},{\"match\":\"\\\\)\",\"name\":\"punctuation.definition.end.bracket.round.go\"},{\"match\":\"\\\\[\",\"name\":\"punctuation.definition.begin.bracket.square.go\"},{\"match\":\"]\",\"name\":\"punctuation.definition.end.bracket.square.go\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"(?<=\\\\bconst\\\\b)\\\\s*\\\\b([.\\\\w]+(?:,\\\\s*[.\\\\w]+)*)\\\\s*((?:(?:[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+(?:\\\\([^)]+\\\\))?)?(?![]*\\\\[]+{0,1}\\\\b(?:struct|func|map)\\\\b)(?:[]*.\\\\[\\\\w]+(?:,\\\\s*[]*.\\\\[\\\\w]+)*)?\\\\s*=?)?\"},{\"begin\":\"(?<=\\\\bconst\\\\b)\\\\s*(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.begin.bracket.round.go\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.round.go\"}},\"patterns\":[{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#delimiters\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.constant.go\"}]},\"2\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"include\":\"#generic_types\"},{\"match\":\"\\\\(\",\"name\":\"punctuation.definition.begin.bracket.round.go\"},{\"match\":\"\\\\)\",\"name\":\"punctuation.definition.end.bracket.round.go\"},{\"match\":\"\\\\[\",\"name\":\"punctuation.definition.begin.bracket.square.go\"},{\"match\":\"]\",\"name\":\"punctuation.definition.end.bracket.square.go\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"^\\\\s*\\\\b([.\\\\w]+(?:,\\\\s*[.\\\\w]+)*)\\\\s*((?:(?:[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+(?:\\\\([^)]+\\\\))?)?(?![]*\\\\[]+{0,1}\\\\b(?:struct|func|map)\\\\b)(?:[]*.\\\\[\\\\w]+(?:,\\\\s*[]*.\\\\[\\\\w]+)*)?\\\\s*=?)?\"},{\"include\":\"$self\"}]}]},\"delimiters\":{\"patterns\":[{\"match\":\",\",\"name\":\"punctuation.other.comma.go\"},{\"match\":\"\\\\.(?!\\\\.\\\\.)\",\"name\":\"punctuation.other.period.go\"},{\"match\":\":(?!=)\",\"name\":\"punctuation.other.colon.go\"}]},\"double_parentheses_types\":{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"match\":\"\\\\(\",\"name\":\"punctuation.definition.begin.bracket.round.go\"},{\"match\":\"\\\\)\",\"name\":\"punctuation.definition.end.bracket.round.go\"},{\"match\":\"\\\\[\",\"name\":\"punctuation.definition.begin.bracket.square.go\"},{\"match\":\"]\",\"name\":\"punctuation.definition.end.bracket.square.go\"},{\"match\":\"\\\\{\",\"name\":\"punctuation.definition.begin.bracket.curly.go\"},{\"match\":\"}\",\"name\":\"punctuation.definition.end.bracket.curly.go\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"(?<!\\\\w)(\\\\([]*\\\\[]+{0,1}[.\\\\w]+(?:\\\\[(?:[]*.\\\\[{}\\\\w]+(?:,\\\\s*[]*.\\\\[{}\\\\w]+)*)?])?\\\\))(?=\\\\()\"},\"function_declaration\":{\"begin\":\"^\\\\b(func)\\\\b\\\\s*(\\\\([^)]+\\\\)\\\\s*)?(?:(\\\\w+)(?=[(\\\\[]))?\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.function.go\"},\"2\":{\"patterns\":[{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.begin.bracket.round.go\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.round.go\"}},\"patterns\":[{\"captures\":{\"1\":{\"name\":\"variable.parameter.go\"},\"2\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"include\":\"#parameter-variable-types\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"(\\\\w+\\\\s+)?([*.\\\\w]+(?:\\\\[(?:[*.\\\\w]+(?:,\\\\s+)?)+{0,1}])?)\"},{\"include\":\"$self\"}]}]},\"3\":{\"patterns\":[{\"match\":\"\\\\d\\\\w*\",\"name\":\"invalid.illegal.identifier.go\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.function.go\"}]}},\"end\":\"(?<=\\\\))\\\\s*((?:[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}(?![]*\\\\[]+{0,1}\\\\b(?:struct|interface)\\\\b)[-\\\\]*.\\\\[\\\\w]+)?\\\\s*(?=\\\\{)\",\"endCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"include\":\"#parameter-variable-types\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"patterns\":[{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.begin.bracket.round.go\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.round.go\"}},\"patterns\":[{\"include\":\"#function_param_types\"}]},{\"begin\":\"([*.\\\\w]+)?(\\\\[)\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]},\"2\":{\"name\":\"punctuation.definition.begin.bracket.square.go\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.square.go\"}},\"patterns\":[{\"include\":\"#generic_param_types\"}]},{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"include\":\"#parameter-variable-types\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"(?<=\\\\))\\\\s*((?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}[-\\\\]*.<>\\\\[\\\\w]+\\\\s*(?:/[*/].*)?)$\"},{\"include\":\"$self\"}]},\"function_param_types\":{\"patterns\":[{\"include\":\"#struct_variables_types\"},{\"include\":\"#interface_variables_types\"},{\"include\":\"#type-declarations-without-brackets\"},{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"variable.parameter.go\"}]}},\"match\":\"((?:\\\\b\\\\w+,\\\\s*)+{0,1}\\\\b\\\\w+)\\\\s+(?=(?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}[]*\\\\[]+{0,1}\\\\b(?:struct|interface)\\\\b\\\\s*\\\\{)\"},{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"variable.parameter.go\"}]}},\"match\":\"(?:(?<=\\\\()|^\\\\s*)((?:\\\\b\\\\w+,\\\\s*)+(?:/[*/].*)?)$\"},{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#delimiters\"},{\"match\":\"\\\\w+\",\"name\":\"variable.parameter.go\"}]},\"2\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"include\":\"#parameter-variable-types\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"((?:\\\\b\\\\w+,\\\\s*)+{0,1}\\\\b\\\\w+)\\\\s+((?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}(?:[]*.\\\\[\\\\w]+{0,1}(?:\\\\bfunc\\\\b\\\\([^)]+{0,1}\\\\)(?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}\\\\s*)+(?:[]*.\\\\[\\\\w]+|\\\\([^)]+{0,1}\\\\))?|(?:[]*\\\\[]+{0,1}[*.\\\\w]+(?:\\\\[[^]]+])?[*.\\\\w]+{0,1})+))\"},{\"begin\":\"([*.\\\\w]+)?(\\\\[)\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]},\"2\":{\"name\":\"punctuation.definition.begin.bracket.square.go\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.square.go\"}},\"patterns\":[{\"include\":\"#generic_param_types\"}]},{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.begin.bracket.round.go\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.round.go\"}},\"patterns\":[{\"include\":\"#function_param_types\"}]},{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"([.\\\\w]+)\"},{\"include\":\"$self\"}]},\"functions\":{\"begin\":\"\\\\b(func)\\\\b(?=\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.function.go\"}},\"end\":\"(?<=\\\\))(\\\\s*(?:[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+)?(\\\\s*(?:[]*\\\\[]+{0,1}[*.\\\\w]+)?(?:\\\\[(?:[*.\\\\w]+{0,1}(?:\\\\[[^]]+{0,1}])?(?:,\\\\s+)?)+]|\\\\([^)]+{0,1}\\\\))?[*.\\\\w]+{0,1}\\\\s*(?=\\\\{)|\\\\s*(?:[]*\\\\[]+{0,1}(?!\\\\bfunc\\\\b)[*.\\\\w]+(?:\\\\[(?:[*.\\\\w]+{0,1}(?:\\\\[[^]]+{0,1}])?(?:,\\\\s+)?)+])?[*.\\\\w]+{0,1}|\\\\([^)]+{0,1}\\\\)))?\",\"endCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"}]},\"2\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"include\":\"#parameter-variable-types\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"patterns\":[{\"include\":\"#parameter-variable-types\"}]},\"functions_inline\":{\"captures\":{\"1\":{\"name\":\"keyword.function.go\"},\"2\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.begin.bracket.round.go\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.round.go\"}},\"patterns\":[{\"include\":\"#function_param_types\"},{\"include\":\"$self\"}]},{\"match\":\"\\\\[\",\"name\":\"punctuation.definition.begin.bracket.square.go\"},{\"match\":\"]\",\"name\":\"punctuation.definition.end.bracket.square.go\"},{\"match\":\"\\\\{\",\"name\":\"punctuation.definition.begin.bracket.curly.go\"},{\"match\":\"}\",\"name\":\"punctuation.definition.end.bracket.curly.go\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"\\\\b(func)\\\\b(\\\\([^/]*?\\\\)\\\\s+\\\\([^/]*?\\\\))\\\\s+(?=\\\\{)\"},\"generic_param_types\":{\"patterns\":[{\"include\":\"#struct_variables_types\"},{\"include\":\"#interface_variables_types\"},{\"include\":\"#type-declarations-without-brackets\"},{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"variable.parameter.go\"}]}},\"match\":\"((?:\\\\b\\\\w+,\\\\s*)+{0,1}\\\\b\\\\w+)\\\\s+(?=(?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}[]*\\\\[]+{0,1}\\\\b(?:struct|interface)\\\\b\\\\s*\\\\{)\"},{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"variable.parameter.go\"}]}},\"match\":\"(?:(?<=\\\\()|^\\\\s*)((?:\\\\b\\\\w+,\\\\s*)+(?:/[*/].*)?)$\"},{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#delimiters\"},{\"match\":\"\\\\w+\",\"name\":\"variable.parameter.go\"}]},\"2\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"include\":\"#parameter-variable-types\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]},\"3\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"((?:\\\\b\\\\w+,\\\\s*)+{0,1}\\\\b\\\\w+)\\\\s+((?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}(?:[]*.\\\\[\\\\w]+{0,1}(?:\\\\bfunc\\\\b\\\\([^)]+{0,1}\\\\)(?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}\\\\s*)+(?:[*.\\\\w]+|\\\\([^)]+{0,1}\\\\))?|(?:(?:[*.~\\\\w]+|\\\\[(?:[*.\\\\w]+{0,1}(?:\\\\[[^]]+{0,1}])?(?:,\\\\s+)?)+])[*.\\\\w]+{0,1})+))\"},{\"begin\":\"([*.\\\\w]+)?(\\\\[)\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]},\"2\":{\"name\":\"punctuation.definition.begin.bracket.square.go\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.square.go\"}},\"patterns\":[{\"include\":\"#generic_param_types\"}]},{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.begin.bracket.round.go\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.round.go\"}},\"patterns\":[{\"include\":\"#function_param_types\"}]},{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"\\\\b([.\\\\w]+)\"},{\"include\":\"$self\"}]},\"generic_types\":{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]},\"2\":{\"patterns\":[{\"include\":\"#parameter-variable-types\"}]}},\"match\":\"([*.\\\\w]+)(\\\\[[^]]+{0,1}])\"},\"group-functions\":{\"patterns\":[{\"include\":\"#function_declaration\"},{\"include\":\"#functions_inline\"},{\"include\":\"#functions\"},{\"include\":\"#built_in_functions\"},{\"include\":\"#support_functions\"}]},\"group-types\":{\"patterns\":[{\"include\":\"#other_struct_interface_expressions\"},{\"include\":\"#type_assertion_inline\"},{\"include\":\"#struct_variables_types\"},{\"include\":\"#interface_variables_types\"},{\"include\":\"#single_type\"},{\"include\":\"#multi_types\"},{\"include\":\"#struct_interface_declaration\"},{\"include\":\"#double_parentheses_types\"},{\"include\":\"#switch_types\"},{\"include\":\"#type-declarations\"}]},\"group-variables\":{\"patterns\":[{\"include\":\"#const_assignment\"},{\"include\":\"#var_assignment\"},{\"include\":\"#variable_assignment\"},{\"include\":\"#label_loop_variables\"},{\"include\":\"#slice_index_variables\"},{\"include\":\"#property_variables\"},{\"include\":\"#switch_variables\"},{\"include\":\"#other_variables\"}]},\"hover\":{\"patterns\":[{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.property.go\"}]},\"2\":{\"patterns\":[{\"match\":\"\\\\binvalid\\\\b\\\\s+\\\\btype\\\\b\",\"name\":\"invalid.field.go\"},{\"include\":\"#type-declarations-without-brackets\"},{\"include\":\"#parameter-variable-types\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"(?<=^\\\\bfield\\\\b)\\\\s+([*.\\\\w]+)\\\\s+([\\\\s\\\\S]+)\"},{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"include\":\"#parameter-variable-types\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"(?<=^\\\\breturns\\\\b)\\\\s+([\\\\s\\\\S]+)\"}]},\"import\":{\"patterns\":[{\"begin\":\"\\\\b(import)\\\\s+\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.import.go\"}},\"end\":\"(?!\\\\G)\",\"patterns\":[{\"include\":\"#imports\"}]}]},\"imports\":{\"patterns\":[{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#delimiters\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.import.go\"}]},\"2\":{\"name\":\"string.quoted.double.go\"},\"3\":{\"name\":\"punctuation.definition.string.begin.go\"},\"4\":{\"name\":\"entity.name.import.go\"},\"5\":{\"name\":\"punctuation.definition.string.end.go\"}},\"match\":\"(\\\\s*[.\\\\w]+)?\\\\s*((\\\")([^\\\"]*)(\\\"))\"},{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.imports.begin.bracket.round.go\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.imports.end.bracket.round.go\"}},\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#imports\"}]},{\"include\":\"$self\"}]},\"interface_variables_types\":{\"begin\":\"\\\\b(interface)\\\\b\\\\s*(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.interface.go\"},\"2\":{\"name\":\"punctuation.definition.begin.bracket.curly.go\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.curly.go\"}},\"patterns\":[{\"include\":\"#interface_variables_types_field\"},{\"include\":\"$self\"}]},\"interface_variables_types_field\":{\"patterns\":[{\"include\":\"#support_functions\"},{\"include\":\"#type-declarations-without-brackets\"},{\"begin\":\"([*.\\\\w]+)?(\\\\[)\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]},\"2\":{\"name\":\"punctuation.definition.begin.bracket.square.go\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.square.go\"}},\"patterns\":[{\"include\":\"#generic_param_types\"}]},{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.begin.bracket.round.go\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.round.go\"}},\"patterns\":[{\"include\":\"#function_param_types\"}]},{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"([.\\\\w]+)\"}]},\"keywords\":{\"patterns\":[{\"match\":\"\\\\b(break|case|continue|default|defer|else|fallthrough|for|go|goto|if|range|return|select|switch)\\\\b\",\"name\":\"keyword.control.go\"},{\"match\":\"\\\\bchan\\\\b\",\"name\":\"keyword.channel.go\"},{\"match\":\"\\\\bconst\\\\b\",\"name\":\"keyword.const.go\"},{\"match\":\"\\\\bvar\\\\b\",\"name\":\"keyword.var.go\"},{\"match\":\"\\\\bfunc\\\\b\",\"name\":\"keyword.function.go\"},{\"match\":\"\\\\binterface\\\\b\",\"name\":\"keyword.interface.go\"},{\"match\":\"\\\\bmap\\\\b\",\"name\":\"keyword.map.go\"},{\"match\":\"\\\\bstruct\\\\b\",\"name\":\"keyword.struct.go\"},{\"match\":\"\\\\bimport\\\\b\",\"name\":\"keyword.control.import.go\"},{\"match\":\"\\\\btype\\\\b\",\"name\":\"keyword.type.go\"}]},\"label_loop_variables\":{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.label.go\"}]}},\"match\":\"^(\\\\s*\\\\w+:\\\\s*|\\\\s*\\\\b(?:break|goto|continue)\\\\b\\\\s+\\\\w+(?:\\\\s*/[*/]\\\\s*.*)?)$\"},\"language_constants\":{\"captures\":{\"1\":{\"name\":\"constant.language.boolean.go\"},\"2\":{\"name\":\"constant.language.null.go\"},\"3\":{\"name\":\"constant.language.iota.go\"}},\"match\":\"\\\\b(?:(true|false)|(nil)|(iota))\\\\b\"},\"map_types\":{\"begin\":\"\\\\b(map)\\\\b(\\\\[)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.map.go\"},\"2\":{\"name\":\"punctuation.definition.begin.bracket.square.go\"}},\"end\":\"(])((?:[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}(?![]*\\\\[]+{0,1}\\\\b(?:func|struct|map)\\\\b)[]*\\\\[]+{0,1}[.\\\\w]+(?:\\\\[(?:[]*.\\\\[{}\\\\w]+(?:,\\\\s*[]*.\\\\[{}\\\\w]+)*)?])?)?\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.end.bracket.square.go\"},\"2\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"match\":\"\\\\[\",\"name\":\"punctuation.definition.begin.bracket.square.go\"},{\"match\":\"]\",\"name\":\"punctuation.definition.end.bracket.square.go\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"include\":\"#parameter-variable-types\"},{\"include\":\"#functions\"},{\"match\":\"\\\\[\",\"name\":\"punctuation.definition.begin.bracket.square.go\"},{\"match\":\"]\",\"name\":\"punctuation.definition.end.bracket.square.go\"},{\"match\":\"\\\\{\",\"name\":\"punctuation.definition.begin.bracket.curly.go\"},{\"match\":\"}\",\"name\":\"punctuation.definition.end.bracket.curly.go\"},{\"match\":\"\\\\(\",\"name\":\"punctuation.definition.begin.bracket.round.go\"},{\"match\":\"\\\\)\",\"name\":\"punctuation.definition.end.bracket.round.go\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]},\"multi_types\":{\"begin\":\"\\\\b(type)\\\\b\\\\s*(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.type.go\"},\"2\":{\"name\":\"punctuation.definition.begin.bracket.round.go\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.round.go\"}},\"patterns\":[{\"include\":\"#struct_variables_types\"},{\"include\":\"#interface_variables_types\"},{\"include\":\"#type-declarations-without-brackets\"},{\"include\":\"#parameter-variable-types\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]},\"numeric_literals\":{\"captures\":{\"0\":{\"patterns\":[{\"begin\":\"(?=.)\",\"end\":\"\\\\n|$\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"constant.numeric.decimal.go\",\"patterns\":[{\"match\":\"(?<=\\\\h)_(?=\\\\h)\",\"name\":\"punctuation.separator.constant.numeric.go\"}]},\"2\":{\"name\":\"punctuation.separator.constant.numeric.go\"},\"3\":{\"name\":\"constant.numeric.decimal.point.go\"},\"4\":{\"name\":\"constant.numeric.decimal.go\",\"patterns\":[{\"match\":\"(?<=\\\\h)_(?=\\\\h)\",\"name\":\"punctuation.separator.constant.numeric.go\"}]},\"5\":{\"name\":\"punctuation.separator.constant.numeric.go\"},\"6\":{\"name\":\"keyword.other.unit.exponent.decimal.go\"},\"7\":{\"name\":\"keyword.operator.plus.exponent.decimal.go\"},\"8\":{\"name\":\"keyword.operator.minus.exponent.decimal.go\"},\"9\":{\"name\":\"constant.numeric.exponent.decimal.go\",\"patterns\":[{\"match\":\"(?<=\\\\h)_(?=\\\\h)\",\"name\":\"punctuation.separator.constant.numeric.go\"}]},\"10\":{\"name\":\"keyword.other.unit.imaginary.go\"},\"11\":{\"name\":\"constant.numeric.decimal.go\",\"patterns\":[{\"match\":\"(?<=\\\\h)_(?=\\\\h)\",\"name\":\"punctuation.separator.constant.numeric.go\"}]},\"12\":{\"name\":\"punctuation.separator.constant.numeric.go\"},\"13\":{\"name\":\"keyword.other.unit.exponent.decimal.go\"},\"14\":{\"name\":\"keyword.operator.plus.exponent.decimal.go\"},\"15\":{\"name\":\"keyword.operator.minus.exponent.decimal.go\"},\"16\":{\"name\":\"constant.numeric.exponent.decimal.go\",\"patterns\":[{\"match\":\"(?<=\\\\h)_(?=\\\\h)\",\"name\":\"punctuation.separator.constant.numeric.go\"}]},\"17\":{\"name\":\"keyword.other.unit.imaginary.go\"},\"18\":{\"name\":\"constant.numeric.decimal.point.go\"},\"19\":{\"name\":\"constant.numeric.decimal.go\",\"patterns\":[{\"match\":\"(?<=\\\\h)_(?=\\\\h)\",\"name\":\"punctuation.separator.constant.numeric.go\"}]},\"20\":{\"name\":\"punctuation.separator.constant.numeric.go\"},\"21\":{\"name\":\"keyword.other.unit.exponent.decimal.go\"},\"22\":{\"name\":\"keyword.operator.plus.exponent.decimal.go\"},\"23\":{\"name\":\"keyword.operator.minus.exponent.decimal.go\"},\"24\":{\"name\":\"constant.numeric.exponent.decimal.go\",\"patterns\":[{\"match\":\"(?<=\\\\h)_(?=\\\\h)\",\"name\":\"punctuation.separator.constant.numeric.go\"}]},\"25\":{\"name\":\"keyword.other.unit.imaginary.go\"},\"26\":{\"name\":\"keyword.other.unit.hexadecimal.go\"},\"27\":{\"name\":\"constant.numeric.hexadecimal.go\",\"patterns\":[{\"match\":\"(?<=\\\\h)_(?=\\\\h)\",\"name\":\"punctuation.separator.constant.numeric.go\"}]},\"28\":{\"name\":\"punctuation.separator.constant.numeric.go\"},\"29\":{\"name\":\"constant.numeric.hexadecimal.go\"},\"30\":{\"name\":\"constant.numeric.hexadecimal.go\",\"patterns\":[{\"match\":\"(?<=\\\\h)_(?=\\\\h)\",\"name\":\"punctuation.separator.constant.numeric.go\"}]},\"31\":{\"name\":\"punctuation.separator.constant.numeric.go\"},\"32\":{\"name\":\"keyword.other.unit.exponent.hexadecimal.go\"},\"33\":{\"name\":\"keyword.operator.plus.exponent.hexadecimal.go\"},\"34\":{\"name\":\"keyword.operator.minus.exponent.hexadecimal.go\"},\"35\":{\"name\":\"constant.numeric.exponent.hexadecimal.go\",\"patterns\":[{\"match\":\"(?<=\\\\h)_(?=\\\\h)\",\"name\":\"punctuation.separator.constant.numeric.go\"}]},\"36\":{\"name\":\"keyword.other.unit.imaginary.go\"},\"37\":{\"name\":\"keyword.other.unit.hexadecimal.go\"},\"38\":{\"name\":\"constant.numeric.hexadecimal.go\",\"patterns\":[{\"match\":\"(?<=\\\\h)_(?=\\\\h)\",\"name\":\"punctuation.separator.constant.numeric.go\"}]},\"39\":{\"name\":\"punctuation.separator.constant.numeric.go\"},\"40\":{\"name\":\"keyword.other.unit.exponent.hexadecimal.go\"},\"41\":{\"name\":\"keyword.operator.plus.exponent.hexadecimal.go\"},\"42\":{\"name\":\"keyword.operator.minus.exponent.hexadecimal.go\"},\"43\":{\"name\":\"constant.numeric.exponent.hexadecimal.go\",\"patterns\":[{\"match\":\"(?<=\\\\h)_(?=\\\\h)\",\"name\":\"punctuation.separator.constant.numeric.go\"}]},\"44\":{\"name\":\"keyword.other.unit.imaginary.go\"},\"45\":{\"name\":\"keyword.other.unit.hexadecimal.go\"},\"46\":{\"name\":\"constant.numeric.hexadecimal.go\"},\"47\":{\"name\":\"constant.numeric.hexadecimal.go\",\"patterns\":[{\"match\":\"(?<=\\\\h)_(?=\\\\h)\",\"name\":\"punctuation.separator.constant.numeric.go\"}]},\"48\":{\"name\":\"punctuation.separator.constant.numeric.go\"},\"49\":{\"name\":\"keyword.other.unit.exponent.hexadecimal.go\"},\"50\":{\"name\":\"keyword.operator.plus.exponent.hexadecimal.go\"},\"51\":{\"name\":\"keyword.operator.minus.exponent.hexadecimal.go\"},\"52\":{\"name\":\"constant.numeric.exponent.hexadecimal.go\",\"patterns\":[{\"match\":\"(?<=\\\\h)_(?=\\\\h)\",\"name\":\"punctuation.separator.constant.numeric.go\"}]},\"53\":{\"name\":\"keyword.other.unit.imaginary.go\"}},\"match\":\"\\\\G(?:(?:(?:(?:(?:(?=[.0-9])(?!0[BOXbox])([0-9](?:[0-9]|((?<=\\\\h)_(?=\\\\h)))*)((?<=[0-9])\\\\.|\\\\.(?=[0-9]))([0-9](?:[0-9]|((?<=\\\\h)_(?=\\\\h)))*)?(?:(?<!_)([Ee])(\\\\+?)(-?)([0-9](?:[0-9]|(?<=\\\\h)_(?=\\\\h))*))?(i(?!\\\\w))?(?:\\\\n|$)|(?=[.0-9])(?!0[BOXbox])([0-9](?:[0-9]|((?<=\\\\h)_(?=\\\\h)))*)(?<!_)([Ee])(\\\\+?)(-?)([0-9](?:[0-9]|(?<=\\\\h)_(?=\\\\h))*)(i(?!\\\\w))?(?:\\\\n|$))|((?<=[0-9])\\\\.|\\\\.(?=[0-9]))([0-9](?:[0-9]|((?<=\\\\h)_(?=\\\\h)))*)(?:(?<!_)([Ee])(\\\\+?)(-?)([0-9](?:[0-9]|(?<=\\\\h)_(?=\\\\h))*))?(i(?!\\\\w))?(?:\\\\n|$))|(0[Xx])_?(\\\\h(?:\\\\h|((?<=\\\\h)_(?=\\\\h)))*)((?<=\\\\h)\\\\.|\\\\.(?=\\\\h))(\\\\h(?:\\\\h|((?<=\\\\h)_(?=\\\\h)))*)?(?<!_)([Pp])(\\\\+?)(-?)([0-9](?:[0-9]|(?<=\\\\h)_(?=\\\\h))*)(i(?!\\\\w))?(?:\\\\n|$))|(0[Xx])_?(\\\\h(?:\\\\h|((?<=\\\\h)_(?=\\\\h)))*)(?<!_)([Pp])(\\\\+?)(-?)([0-9](?:[0-9]|(?<=\\\\h)_(?=\\\\h))*)(i(?!\\\\w))?(?:\\\\n|$))|(0[Xx])((?<=\\\\h)\\\\.|\\\\.(?=\\\\h))(\\\\h(?:\\\\h|((?<=\\\\h)_(?=\\\\h)))*)(?<!_)([Pp])(\\\\+?)(-?)([0-9](?:[0-9]|(?<=\\\\h)_(?=\\\\h))*)(i(?!\\\\w))?(?:\\\\n|$))\"},{\"captures\":{\"1\":{\"name\":\"constant.numeric.decimal.go\",\"patterns\":[{\"match\":\"(?<=\\\\h)_(?=\\\\h)\",\"name\":\"punctuation.separator.constant.numeric.go\"}]},\"2\":{\"name\":\"punctuation.separator.constant.numeric.go\"},\"3\":{\"name\":\"keyword.other.unit.imaginary.go\"},\"4\":{\"name\":\"keyword.other.unit.binary.go\"},\"5\":{\"name\":\"constant.numeric.binary.go\",\"patterns\":[{\"match\":\"(?<=\\\\h)_(?=\\\\h)\",\"name\":\"punctuation.separator.constant.numeric.go\"}]},\"6\":{\"name\":\"punctuation.separator.constant.numeric.go\"},\"7\":{\"name\":\"keyword.other.unit.imaginary.go\"},\"8\":{\"name\":\"keyword.other.unit.octal.go\"},\"9\":{\"name\":\"constant.numeric.octal.go\",\"patterns\":[{\"match\":\"(?<=\\\\h)_(?=\\\\h)\",\"name\":\"punctuation.separator.constant.numeric.go\"}]},\"10\":{\"name\":\"punctuation.separator.constant.numeric.go\"},\"11\":{\"name\":\"keyword.other.unit.imaginary.go\"},\"12\":{\"name\":\"keyword.other.unit.hexadecimal.go\"},\"13\":{\"name\":\"constant.numeric.hexadecimal.go\",\"patterns\":[{\"match\":\"(?<=\\\\h)_(?=\\\\h)\",\"name\":\"punctuation.separator.constant.numeric.go\"}]},\"14\":{\"name\":\"punctuation.separator.constant.numeric.go\"},\"15\":{\"name\":\"keyword.other.unit.imaginary.go\"}},\"match\":\"\\\\G(?:(?:(?:(?=[.0-9])(?!0[BOXbox])([0-9](?:[0-9]|((?<=\\\\h)_(?=\\\\h)))*)(i(?!\\\\w))?(?:\\\\n|$)|(0[Bb])_?([01](?:[01]|((?<=\\\\h)_(?=\\\\h)))*)(i(?!\\\\w))?(?:\\\\n|$))|(0[Oo]?)_?((?:[0-7]|((?<=\\\\h)_(?=\\\\h)))+)(i(?!\\\\w))?(?:\\\\n|$))|(0[Xx])_?(\\\\h(?:\\\\h|((?<=\\\\h)_(?=\\\\h)))*)(i(?!\\\\w))?(?:\\\\n|$))\"},{\"match\":\"(?:[.0-9A-Z_a-z]|(?<=[EPep])[-+])+\",\"name\":\"invalid.illegal.constant.numeric.go\"}]}]}},\"match\":\"(?<!\\\\w)\\\\.?\\\\d(?:[.0-9A-Z_a-z]|(?<=[EPep])[-+])*\"},\"operators\":{\"patterns\":[{\"match\":\"(?<!\\\\w)[\\\\&*]+(?!\\\\d)(?=[]\\\\[\\\\w]|<-)\",\"name\":\"keyword.operator.address.go\"},{\"match\":\"<-\",\"name\":\"keyword.operator.channel.go\"},{\"match\":\"--\",\"name\":\"keyword.operator.decrement.go\"},{\"match\":\"\\\\+\\\\+\",\"name\":\"keyword.operator.increment.go\"},{\"match\":\"(==|!=|<=|>=|<(?!<)|>(?!>))\",\"name\":\"keyword.operator.comparison.go\"},{\"match\":\"(&&|\\\\|\\\\||!)\",\"name\":\"keyword.operator.logical.go\"},{\"match\":\"((?:|[-%*+/:^|]|<<|>>|&\\\\^?)=)\",\"name\":\"keyword.operator.assignment.go\"},{\"match\":\"([-%*+/])\",\"name\":\"keyword.operator.arithmetic.go\"},{\"match\":\"(&(?!\\\\^)|[\\\\^|]|&\\\\^|<<|>>|~)\",\"name\":\"keyword.operator.arithmetic.bitwise.go\"},{\"match\":\"\\\\.\\\\.\\\\.\",\"name\":\"keyword.operator.ellipsis.go\"}]},\"other_struct_interface_expressions\":{\"patterns\":[{\"include\":\"#after_control_variables\"},{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]},\"2\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"match\":\"\\\\[\",\"name\":\"punctuation.definition.begin.bracket.square.go\"},{\"match\":\"]\",\"name\":\"punctuation.definition.end.bracket.square.go\"},{\"match\":\"\\\\{\",\"name\":\"punctuation.definition.begin.bracket.curly.go\"},{\"match\":\"}\",\"name\":\"punctuation.definition.end.bracket.curly.go\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"\\\\b(?!(?:struct|interface)\\\\b)([.\\\\w]+)(?<brackets>\\\\[(?:[^]\\\\[]|\\\\g<brackets>)*])?(?=\\\\{)\"}]},\"other_variables\":{\"match\":\"\\\\w+\",\"name\":\"variable.other.go\"},\"package_name\":{\"patterns\":[{\"begin\":\"\\\\b(package)\\\\s+\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.package.go\"}},\"end\":\"(?!\\\\G)\",\"patterns\":[{\"match\":\"\\\\d\\\\w*\",\"name\":\"invalid.illegal.identifier.go\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.package.go\"}]}]},\"parameter-variable-types\":{\"patterns\":[{\"match\":\"\\\\{\",\"name\":\"punctuation.definition.begin.bracket.curly.go\"},{\"match\":\"}\",\"name\":\"punctuation.definition.end.bracket.curly.go\"},{\"begin\":\"([*.\\\\w]+)?(\\\\[)\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]},\"2\":{\"name\":\"punctuation.definition.begin.bracket.square.go\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.square.go\"}},\"patterns\":[{\"include\":\"#generic_param_types\"}]},{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.begin.bracket.round.go\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.round.go\"}},\"patterns\":[{\"include\":\"#function_param_types\"}]}]},\"property_variables\":{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.property.go\"}]}},\"match\":\"\\\\b([.\\\\w]+:(?!=))\"},\"raw_string_literals\":{\"begin\":\"`\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.go\"}},\"end\":\"`\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.go\"}},\"name\":\"string.quoted.raw.go\",\"patterns\":[{\"include\":\"#string_placeholder\"}]},\"runes\":{\"patterns\":[{\"begin\":\"'\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.go\"}},\"end\":\"'\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.go\"}},\"name\":\"string.quoted.rune.go\",\"patterns\":[{\"match\":\"\\\\G(\\\\\\\\([0-7]{3}|[\\\"'\\\\\\\\abfnrtv]|x\\\\h{2}|u\\\\h{4}|U\\\\h{8})|.)(?=')\",\"name\":\"constant.other.rune.go\"},{\"match\":\"[^']+\",\"name\":\"invalid.illegal.unknown-rune.go\"}]}]},\"single_type\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"keyword.type.go\"},\"2\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]},\"3\":{\"patterns\":[{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.begin.bracket.round.go\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.round.go\"}},\"patterns\":[{\"include\":\"#function_param_types\"},{\"include\":\"$self\"}]},{\"include\":\"#type-declarations\"},{\"include\":\"#generic_types\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"^\\\\s*\\\\b(type)\\\\b\\\\s*([*.\\\\w]+)\\\\s+(?!(?:=\\\\s*)?[]*\\\\[]+{0,1}\\\\b(?:struct|interface)\\\\b)([\\\\s\\\\S]+)\"},{\"begin\":\"(?:^|\\\\s+)\\\\b(type)\\\\b\\\\s*([*.\\\\w]+)(?=\\\\[)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.type.go\"},\"2\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"end\":\"(?<=])(\\\\s+(?:=\\\\s*)?(?:[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}(?![]*\\\\[]+{0,1}\\\\b(?:struct|interface|func)\\\\b)[-\\\\]*.\\\\[\\\\w]+(?:,\\\\s*[]*.\\\\[\\\\w]+)*)?\",\"endCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"match\":\"\\\\[\",\"name\":\"punctuation.definition.begin.bracket.square.go\"},{\"match\":\"]\",\"name\":\"punctuation.definition.end.bracket.square.go\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"patterns\":[{\"include\":\"#struct_variables_types\"},{\"include\":\"#type-declarations-without-brackets\"},{\"include\":\"#parameter-variable-types\"},{\"match\":\"\\\\[\",\"name\":\"punctuation.definition.begin.bracket.square.go\"},{\"match\":\"]\",\"name\":\"punctuation.definition.end.bracket.square.go\"},{\"match\":\"\\\\{\",\"name\":\"punctuation.definition.begin.bracket.curly.go\"},{\"match\":\"}\",\"name\":\"punctuation.definition.end.bracket.curly.go\"},{\"match\":\"\\\\(\",\"name\":\"punctuation.definition.begin.bracket.round.go\"},{\"match\":\"\\\\)\",\"name\":\"punctuation.definition.end.bracket.round.go\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}]},\"slice_index_variables\":{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.go\"}]}},\"match\":\"(?<=\\\\w\\\\[)((?:\\\\b[-%\\\\&*+./<>|\\\\w]+:|:\\\\b[-%\\\\&*+./<>|\\\\w]+)(?:\\\\b[-%\\\\&*+./<>|\\\\w]+)?(?::\\\\b[-%\\\\&*+./<>|\\\\w]+)?)(?=])\"},\"statements\":{\"patterns\":[{\"include\":\"#package_name\"},{\"include\":\"#import\"},{\"include\":\"#syntax_errors\"},{\"include\":\"#group-functions\"},{\"include\":\"#group-types\"},{\"include\":\"#group-variables\"},{\"include\":\"#hover\"}]},\"storage_types\":{\"patterns\":[{\"match\":\"\\\\bbool\\\\b\",\"name\":\"storage.type.boolean.go\"},{\"match\":\"\\\\bbyte\\\\b\",\"name\":\"storage.type.byte.go\"},{\"match\":\"\\\\berror\\\\b\",\"name\":\"storage.type.error.go\"},{\"match\":\"\\\\b(complex(64|128)|float(32|64)|u?int(8|16|32|64)?)\\\\b\",\"name\":\"storage.type.numeric.go\"},{\"match\":\"\\\\brune\\\\b\",\"name\":\"storage.type.rune.go\"},{\"match\":\"\\\\bstring\\\\b\",\"name\":\"storage.type.string.go\"},{\"match\":\"\\\\buintptr\\\\b\",\"name\":\"storage.type.uintptr.go\"},{\"match\":\"\\\\bany\\\\b\",\"name\":\"entity.name.type.any.go\"},{\"match\":\"\\\\bcomparable\\\\b\",\"name\":\"entity.name.type.comparable.go\"}]},\"string_escaped_char\":{\"patterns\":[{\"match\":\"\\\\\\\\([0-7]{3}|[\\\"'\\\\\\\\abfnrtv]|x\\\\h{2}|u\\\\h{4}|U\\\\h{8})\",\"name\":\"constant.character.escape.go\"},{\"match\":\"\\\\\\\\[^\\\"'0-7Uabfnrtuvx]\",\"name\":\"invalid.illegal.unknown-escape.go\"}]},\"string_literals\":{\"patterns\":[{\"begin\":\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.go\"}},\"end\":\"\\\"\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.go\"}},\"name\":\"string.quoted.double.go\",\"patterns\":[{\"include\":\"#string_escaped_char\"},{\"include\":\"#string_placeholder\"}]}]},\"string_placeholder\":{\"patterns\":[{\"match\":\"%(\\\\[\\\\d+])?([- #+0]{0,2}((\\\\d+|\\\\*)?(\\\\.?(\\\\d+|\\\\*|(\\\\[\\\\d+])\\\\*?)?(\\\\[\\\\d+])?)?))?[%EFGTUXb-gopqstvwx]\",\"name\":\"constant.other.placeholder.go\"}]},\"struct_interface_declaration\":{\"captures\":{\"1\":{\"name\":\"keyword.type.go\"},\"2\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"^\\\\s*\\\\b(type)\\\\b\\\\s*([.\\\\w]+)\"},\"struct_variable_types_fields_multi\":{\"patterns\":[{\"begin\":\"\\\\b(\\\\w+(?:,\\\\s*\\\\b\\\\w+)*(?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}\\\\s*[]*\\\\[]+{0,1})\\\\b(struct)\\\\b\\\\s*(\\\\{)\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.property.go\"}]},\"2\":{\"name\":\"keyword.struct.go\"},\"3\":{\"name\":\"punctuation.definition.begin.bracket.curly.go\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.curly.go\"}},\"patterns\":[{\"include\":\"#struct_variables_types_fields\"},{\"include\":\"$self\"}]},{\"begin\":\"\\\\b(\\\\w+(?:,\\\\s*\\\\b\\\\w+)*(?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}\\\\s*[]*\\\\[]+{0,1})\\\\b(interface)\\\\b\\\\s*(\\\\{)\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.property.go\"}]},\"2\":{\"name\":\"keyword.interface.go\"},\"3\":{\"name\":\"punctuation.definition.begin.bracket.curly.go\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.curly.go\"}},\"patterns\":[{\"include\":\"#interface_variables_types_field\"},{\"include\":\"$self\"}]},{\"begin\":\"\\\\b(\\\\w+(?:,\\\\s*\\\\b\\\\w+)*(?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}\\\\s*[]*\\\\[]+{0,1})\\\\b(func)\\\\b\\\\s*(\\\\()\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.property.go\"}]},\"2\":{\"name\":\"keyword.function.go\"},\"3\":{\"name\":\"punctuation.definition.begin.bracket.round.go\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.round.go\"}},\"patterns\":[{\"include\":\"#function_param_types\"},{\"include\":\"$self\"}]},{\"include\":\"#parameter-variable-types\"}]},\"struct_variables_types\":{\"begin\":\"\\\\b(struct)\\\\b\\\\s*(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.struct.go\"},\"2\":{\"name\":\"punctuation.definition.begin.bracket.curly.go\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.curly.go\"}},\"patterns\":[{\"include\":\"#struct_variables_types_fields\"},{\"include\":\"$self\"}]},\"struct_variables_types_fields\":{\"patterns\":[{\"include\":\"#struct_variable_types_fields_multi\"},{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"(?<=\\\\{)\\\\s*((?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}[]*.\\\\[\\\\w]+)\\\\s*(?=})\"},{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.property.go\"}]},\"2\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"(?<=\\\\{)\\\\s*((?:\\\\w+,\\\\s*)+{0,1}\\\\w+\\\\s+)((?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}[]*.\\\\[\\\\w]+)\\\\s*(?=})\"},{\"captures\":{\"1\":{\"patterns\":[{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.property.go\"}]},\"2\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"((?:\\\\w+,\\\\s*)+{0,1}\\\\w+\\\\s+)?((?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}[^/\\\\s]+;?)\"}]}},\"match\":\"(?<=\\\\{)((?:\\\\s*(?:(?:\\\\w+,\\\\s*)+{0,1}\\\\w+\\\\s+)?(?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}[^/\\\\s]+;?)+)\\\\s*(?=})\"},{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"((?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}[*.\\\\w]+\\\\s*)(?:(?=[\\\"/`])|$)\"},{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.property.go\"}]},\"2\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"include\":\"#parameter-variable-types\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"\\\\b(\\\\w+(?:\\\\s*,\\\\s*\\\\b\\\\w+)*)\\\\s*([^\\\"/`]+)\"}]},\"support_functions\":{\"captures\":{\"1\":{\"name\":\"entity.name.function.support.go\"},\"2\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\d\\\\w*\",\"name\":\"invalid.illegal.identifier.go\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.function.support.go\"}]},\"3\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"match\":\"\\\\[\",\"name\":\"punctuation.definition.begin.bracket.square.go\"},{\"match\":\"]\",\"name\":\"punctuation.definition.end.bracket.square.go\"},{\"match\":\"\\\\{\",\"name\":\"punctuation.definition.begin.bracket.curly.go\"},{\"match\":\"}\",\"name\":\"punctuation.definition.end.bracket.curly.go\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"(?:((?<=\\\\.)\\\\b\\\\w+)|\\\\b(\\\\w+))(?<brackets>\\\\[(?:[^]\\\\[]|\\\\g<brackets>)*])?(?=\\\\()\"},\"switch_types\":{\"begin\":\"(?<=\\\\bswitch\\\\b)\\\\s*(\\\\w+\\\\s*:=)?\\\\s*([-\\\\]%\\\\&(-+./<>\\\\[|\\\\w]+)(\\\\.\\\\(\\\\btype\\\\b\\\\)\\\\s*)(\\\\{)\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#operators\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.assignment.go\"}]},\"2\":{\"patterns\":[{\"include\":\"#support_functions\"},{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.go\"}]},\"3\":{\"patterns\":[{\"include\":\"#delimiters\"},{\"include\":\"#brackets\"},{\"match\":\"\\\\btype\\\\b\",\"name\":\"keyword.type.go\"}]},\"4\":{\"name\":\"punctuation.definition.begin.bracket.curly.go\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.curly.go\"}},\"patterns\":[{\"captures\":{\"1\":{\"name\":\"keyword.control.go\"},\"2\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]},\"3\":{\"name\":\"punctuation.other.colon.go\"},\"4\":{\"patterns\":[{\"include\":\"#comments\"}]}},\"match\":\"^\\\\s*\\\\b(case)\\\\b\\\\s+([!*,.<=>\\\\w\\\\s]+)(:)(\\\\s*/[*/]\\\\s*.*)?$\"},{\"begin\":\"\\\\bcase\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.go\"}},\"end\":\":\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.other.colon.go\"}},\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]},{\"include\":\"$self\"}]},\"switch_variables\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"keyword.control.go\"},\"2\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"include\":\"#support_functions\"},{\"include\":\"#variable_assignment\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.go\"}]}},\"match\":\"^\\\\s*\\\\b(case)\\\\b\\\\s+([\\\\s\\\\S]+:\\\\s*(?:/[*/].*)?)$\"},{\"begin\":\"(?<=\\\\bswitch\\\\b)\\\\s*((?:[.\\\\w]+(?:\\\\s*[-!%\\\\&+,/:<=>|]+\\\\s*[.\\\\w]+)*\\\\s*[-!%\\\\&+,/:<=>|]+)?\\\\s*[-\\\\]%\\\\&(-+./<>\\\\[|\\\\w]+{0,1}\\\\s*(?:;\\\\s*[-\\\\]%\\\\&(-+./<>\\\\[|\\\\w]+\\\\s*)?)(\\\\{)\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#support_functions\"},{\"include\":\"#type-declarations\"},{\"include\":\"#variable_assignment\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.go\"}]},\"2\":{\"name\":\"punctuation.definition.begin.bracket.curly.go\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.curly.go\"}},\"patterns\":[{\"begin\":\"\\\\bcase\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.go\"}},\"end\":\":\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.other.colon.go\"}},\"patterns\":[{\"include\":\"#support_functions\"},{\"include\":\"#type-declarations\"},{\"include\":\"#variable_assignment\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.go\"}]},{\"include\":\"$self\"}]}]},\"syntax_errors\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"invalid.illegal.slice.go\"}},\"match\":\"\\\\[](\\\\s+)\"},{\"match\":\"\\\\b0[0-7]*[89]\\\\d*\\\\b\",\"name\":\"invalid.illegal.numeric.go\"}]},\"terminators\":{\"match\":\";\",\"name\":\"punctuation.terminator.go\"},\"type-declarations\":{\"patterns\":[{\"include\":\"#language_constants\"},{\"include\":\"#comments\"},{\"include\":\"#map_types\"},{\"include\":\"#brackets\"},{\"include\":\"#delimiters\"},{\"include\":\"#keywords\"},{\"include\":\"#operators\"},{\"include\":\"#runes\"},{\"include\":\"#storage_types\"},{\"include\":\"#raw_string_literals\"},{\"include\":\"#string_literals\"},{\"include\":\"#numeric_literals\"},{\"include\":\"#terminators\"}]},\"type-declarations-without-brackets\":{\"patterns\":[{\"include\":\"#language_constants\"},{\"include\":\"#comments\"},{\"include\":\"#map_types\"},{\"include\":\"#delimiters\"},{\"include\":\"#keywords\"},{\"include\":\"#operators\"},{\"include\":\"#runes\"},{\"include\":\"#storage_types\"},{\"include\":\"#raw_string_literals\"},{\"include\":\"#string_literals\"},{\"include\":\"#numeric_literals\"},{\"include\":\"#terminators\"}]},\"type_assertion_inline\":{\"captures\":{\"1\":{\"name\":\"keyword.type.go\"},\"2\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"match\":\"\\\\(\",\"name\":\"punctuation.definition.begin.bracket.round.go\"},{\"match\":\"\\\\)\",\"name\":\"punctuation.definition.end.bracket.round.go\"},{\"match\":\"\\\\[\",\"name\":\"punctuation.definition.begin.bracket.square.go\"},{\"match\":\"]\",\"name\":\"punctuation.definition.end.bracket.square.go\"},{\"match\":\"\\\\{\",\"name\":\"punctuation.definition.begin.bracket.curly.go\"},{\"match\":\"}\",\"name\":\"punctuation.definition.end.bracket.curly.go\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"(?<=\\\\.\\\\()(?:\\\\b(type)\\\\b|((?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}[]*\\\\[]+{0,1}[.\\\\w]+(?:\\\\[(?:[]*.\\\\[{}\\\\w]+(?:,\\\\s*[]*.\\\\[{}\\\\w]+)*)?])?))(?=\\\\))\"},\"var_assignment\":{\"patterns\":[{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#delimiters\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.assignment.go\"}]},\"2\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"include\":\"#generic_types\"},{\"match\":\"\\\\(\",\"name\":\"punctuation.definition.begin.bracket.round.go\"},{\"match\":\"\\\\)\",\"name\":\"punctuation.definition.end.bracket.round.go\"},{\"match\":\"\\\\[\",\"name\":\"punctuation.definition.begin.bracket.square.go\"},{\"match\":\"]\",\"name\":\"punctuation.definition.end.bracket.square.go\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"(?<=\\\\bvar\\\\b)\\\\s*\\\\b([.\\\\w]+(?:,\\\\s*[.\\\\w]+)*)\\\\s*((?:(?:[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+(?:\\\\([^)]+\\\\))?)?(?![]*\\\\[]+{0,1}\\\\b(?:struct|func|map)\\\\b)(?:[]*.\\\\[\\\\w]+(?:,\\\\s*[]*.\\\\[\\\\w]+)*)?\\\\s*=?)?\"},{\"begin\":\"(?<=\\\\bvar\\\\b)\\\\s*(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.begin.bracket.round.go\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.round.go\"}},\"patterns\":[{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#delimiters\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.assignment.go\"}]},\"2\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"include\":\"#generic_types\"},{\"match\":\"\\\\(\",\"name\":\"punctuation.definition.begin.bracket.round.go\"},{\"match\":\"\\\\)\",\"name\":\"punctuation.definition.end.bracket.round.go\"},{\"match\":\"\\\\[\",\"name\":\"punctuation.definition.begin.bracket.square.go\"},{\"match\":\"]\",\"name\":\"punctuation.definition.end.bracket.square.go\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"^\\\\s*\\\\b([.\\\\w]+(?:,\\\\s*[.\\\\w]+)*)\\\\s*((?:(?:[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+(?:\\\\([^)]+\\\\))?)?(?![]*\\\\[]+{0,1}\\\\b(?:struct|func|map)\\\\b)(?:[]*.\\\\[\\\\w]+(?:,\\\\s*[]*.\\\\[\\\\w]+)*)?\\\\s*=?)?\"},{\"include\":\"$self\"}]}]},\"variable_assignment\":{\"patterns\":[{\"captures\":{\"0\":{\"patterns\":[{\"include\":\"#delimiters\"},{\"match\":\"\\\\d\\\\w*\",\"name\":\"invalid.illegal.identifier.go\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.assignment.go\"}]}},\"match\":\"\\\\b\\\\w+(?:,\\\\s*\\\\w+)*(?=\\\\s*:=)\"},{\"captures\":{\"0\":{\"patterns\":[{\"include\":\"#delimiters\"},{\"include\":\"#operators\"},{\"match\":\"\\\\d\\\\w*\",\"name\":\"invalid.illegal.identifier.go\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.assignment.go\"}]}},\"match\":\"\\\\b[*.\\\\w]+(?:,\\\\s*[*.\\\\w]+)*(?=\\\\s*=(?!=))\"}]}},\"scopeName\":\"source.go\"}"))
1
+ const lang = Object.freeze(JSON.parse("{\"displayName\":\"Go\",\"name\":\"go\",\"patterns\":[{\"include\":\"#statements\"}],\"repository\":{\"after_control_variables\":{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"match\":\"\\\\[\",\"name\":\"punctuation.definition.begin.bracket.square.go\"},{\"match\":\"]\",\"name\":\"punctuation.definition.end.bracket.square.go\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.go\"}]}},\"match\":\"(?<=\\\\brange\\\\b|;|\\\\bif\\\\b|\\\\bfor\\\\b|[<>]|<=|>=|==|!=|\\\\w[-%*+/]|\\\\w[-%*+/]=|\\\\|\\\\||&&)\\\\s*((?![]\\\\[]+)[-\\\\]!%*+./:<=>\\\\[_[:alnum:]]+)\\\\s*(?=\\\\{)\"},\"brackets\":{\"patterns\":[{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.begin.bracket.curly.go\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.curly.go\"}},\"patterns\":[{\"include\":\"$self\"}]},{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.begin.bracket.round.go\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.round.go\"}},\"patterns\":[{\"include\":\"$self\"}]},{\"begin\":\"\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.begin.bracket.square.go\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.square.go\"}},\"patterns\":[{\"include\":\"$self\"}]}]},\"built_in_functions\":{\"patterns\":[{\"match\":\"\\\\b(append|cap|close|complex|copy|delete|imag|len|panic|print|println|real|recover|min|max|clear)\\\\b(?=\\\\()\",\"name\":\"entity.name.function.support.builtin.go\"},{\"begin\":\"\\\\b(new)\\\\b(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.function.support.builtin.go\"},\"2\":{\"name\":\"punctuation.definition.begin.bracket.round.go\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.round.go\"}},\"patterns\":[{\"include\":\"#functions\"},{\"include\":\"#struct_variables_types\"},{\"include\":\"#support_functions\"},{\"include\":\"#type-declarations\"},{\"include\":\"#generic_types\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"},{\"include\":\"$self\"}]},{\"begin\":\"\\\\b(make)\\\\b(\\\\()((?:(?:[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+(?:\\\\([^)]+\\\\))?)?[]*\\\\[]+{0,1}(?:(?!\\\\bmap\\\\b)[.\\\\w]+)?(\\\\[(?:\\\\S+(?:,\\\\s*\\\\S+)*)?])?,?)?\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.function.support.builtin.go\"},\"2\":{\"name\":\"punctuation.definition.begin.bracket.round.go\"},\"3\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"include\":\"#parameter-variable-types\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.round.go\"}},\"patterns\":[{\"include\":\"$self\"}]}]},\"comments\":{\"patterns\":[{\"begin\":\"(/\\\\*)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.comment.go\"}},\"end\":\"(\\\\*/)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.comment.go\"}},\"name\":\"comment.block.go\"},{\"begin\":\"(//)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.comment.go\"}},\"end\":\"\\\\n|$\",\"name\":\"comment.line.double-slash.go\"}]},\"const_assignment\":{\"patterns\":[{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#delimiters\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.constant.go\"}]},\"2\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"include\":\"#generic_types\"},{\"match\":\"\\\\(\",\"name\":\"punctuation.definition.begin.bracket.round.go\"},{\"match\":\"\\\\)\",\"name\":\"punctuation.definition.end.bracket.round.go\"},{\"match\":\"\\\\[\",\"name\":\"punctuation.definition.begin.bracket.square.go\"},{\"match\":\"]\",\"name\":\"punctuation.definition.end.bracket.square.go\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"(?<=\\\\bconst\\\\b)\\\\s*\\\\b([.\\\\w]+(?:,\\\\s*[.\\\\w]+)*)\\\\s*((?:(?:[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+(?:\\\\([^)]+\\\\))?)?(?![]*\\\\[]+{0,1}\\\\b(?:struct|func|map)\\\\b)(?:[]*.\\\\[\\\\w]+(?:,\\\\s*[]*.\\\\[\\\\w]+)*)?\\\\s*=?)?\"},{\"begin\":\"(?<=\\\\bconst\\\\b)\\\\s*(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.begin.bracket.round.go\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.round.go\"}},\"patterns\":[{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#delimiters\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.constant.go\"}]},\"2\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"include\":\"#generic_types\"},{\"match\":\"\\\\(\",\"name\":\"punctuation.definition.begin.bracket.round.go\"},{\"match\":\"\\\\)\",\"name\":\"punctuation.definition.end.bracket.round.go\"},{\"match\":\"\\\\[\",\"name\":\"punctuation.definition.begin.bracket.square.go\"},{\"match\":\"]\",\"name\":\"punctuation.definition.end.bracket.square.go\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"^\\\\s*\\\\b([.\\\\w]+(?:,\\\\s*[.\\\\w]+)*)\\\\s*((?:(?:[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+(?:\\\\([^)]+\\\\))?)?(?![]*\\\\[]+{0,1}\\\\b(?:struct|func|map)\\\\b)(?:[]*.\\\\[\\\\w]+(?:,\\\\s*[]*.\\\\[\\\\w]+)*)?\\\\s*=?)?\"},{\"include\":\"$self\"}]}]},\"delimiters\":{\"patterns\":[{\"match\":\",\",\"name\":\"punctuation.other.comma.go\"},{\"match\":\"\\\\.(?!\\\\.\\\\.)\",\"name\":\"punctuation.other.period.go\"},{\"match\":\":(?!=)\",\"name\":\"punctuation.other.colon.go\"}]},\"double_parentheses_types\":{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"match\":\"\\\\(\",\"name\":\"punctuation.definition.begin.bracket.round.go\"},{\"match\":\"\\\\)\",\"name\":\"punctuation.definition.end.bracket.round.go\"},{\"match\":\"\\\\[\",\"name\":\"punctuation.definition.begin.bracket.square.go\"},{\"match\":\"]\",\"name\":\"punctuation.definition.end.bracket.square.go\"},{\"match\":\"\\\\{\",\"name\":\"punctuation.definition.begin.bracket.curly.go\"},{\"match\":\"}\",\"name\":\"punctuation.definition.end.bracket.curly.go\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"(?<!\\\\w)(\\\\([]*\\\\[]+{0,1}[.\\\\w]+(?:\\\\[(?:[]*.\\\\[{}\\\\w]+(?:,\\\\s*[]*.\\\\[{}\\\\w]+)*)?])?\\\\))(?=\\\\()\"},\"function_declaration\":{\"begin\":\"^\\\\b(func)\\\\b\\\\s*(\\\\([^)]+\\\\)\\\\s*)?(?:(\\\\w+)(?=[(\\\\[]))?\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.function.go\"},\"2\":{\"patterns\":[{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.begin.bracket.round.go\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.round.go\"}},\"patterns\":[{\"captures\":{\"1\":{\"name\":\"variable.parameter.go\"},\"2\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"include\":\"#parameter-variable-types\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"(\\\\w+\\\\s+)?([*.\\\\w]+(?:\\\\[(?:[*.\\\\w]+(?:,\\\\s+)?)+{0,1}])?)\"},{\"include\":\"$self\"}]}]},\"3\":{\"patterns\":[{\"match\":\"\\\\d\\\\w*\",\"name\":\"invalid.illegal.identifier.go\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.function.go\"}]}},\"end\":\"(?<=\\\\))\\\\s*((?:[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}(?![]*\\\\[]+{0,1}\\\\b(?:struct|interface)\\\\b)[-\\\\]*.\\\\[\\\\w]+)?\\\\s*(?=\\\\{)\",\"endCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"include\":\"#parameter-variable-types\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"patterns\":[{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.begin.bracket.round.go\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.round.go\"}},\"patterns\":[{\"include\":\"#function_param_types\"}]},{\"begin\":\"([*.\\\\w]+)?(\\\\[)\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]},\"2\":{\"name\":\"punctuation.definition.begin.bracket.square.go\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.square.go\"}},\"patterns\":[{\"include\":\"#generic_param_types\"}]},{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"include\":\"#parameter-variable-types\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"(?<=\\\\))\\\\s*((?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}[-\\\\]*.<>\\\\[\\\\w]+\\\\s*(?:/[*/].*)?)$\"},{\"include\":\"$self\"}]},\"function_param_types\":{\"patterns\":[{\"include\":\"#struct_variables_types\"},{\"include\":\"#interface_variables_types\"},{\"include\":\"#type-declarations-without-brackets\"},{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"variable.parameter.go\"}]}},\"match\":\"((?:\\\\b\\\\w+,\\\\s*)+{0,1}\\\\b\\\\w+)\\\\s+(?=(?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}[]*\\\\[]+{0,1}\\\\b(?:struct|interface)\\\\b\\\\s*\\\\{)\"},{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"variable.parameter.go\"}]}},\"match\":\"(?:(?<=\\\\()|^\\\\s*)((?:\\\\b\\\\w+,\\\\s*)+(?:/[*/].*)?)$\"},{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#delimiters\"},{\"match\":\"\\\\w+\",\"name\":\"variable.parameter.go\"}]},\"2\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"include\":\"#parameter-variable-types\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"((?:\\\\b\\\\w+,\\\\s*)+{0,1}\\\\b\\\\w+)\\\\s+((?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}(?:[]*.\\\\[\\\\w]+{0,1}(?:\\\\bfunc\\\\b\\\\([^)]+{0,1}\\\\)(?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}\\\\s*)+(?:[]*.\\\\[\\\\w]+|\\\\([^)]+{0,1}\\\\))?|(?:[]*\\\\[]+{0,1}[*.\\\\w]+(?:\\\\[[^]]+])?[*.\\\\w]+{0,1})+))\"},{\"begin\":\"([*.\\\\w]+)?(\\\\[)\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]},\"2\":{\"name\":\"punctuation.definition.begin.bracket.square.go\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.square.go\"}},\"patterns\":[{\"include\":\"#generic_param_types\"}]},{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.begin.bracket.round.go\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.round.go\"}},\"patterns\":[{\"include\":\"#function_param_types\"}]},{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"([.\\\\w]+)\"},{\"include\":\"$self\"}]},\"functions\":{\"begin\":\"\\\\b(func)\\\\b(?=\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.function.go\"}},\"end\":\"(?<=\\\\))(\\\\s*(?:[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+)?(\\\\s*(?:[]*\\\\[]+{0,1}[*.\\\\w]+)?(?:\\\\[(?:[*.\\\\w]+{0,1}(?:\\\\[[^]]+{0,1}])?(?:,\\\\s+)?)+]|\\\\([^)]+{0,1}\\\\))?[*.\\\\w]+{0,1}\\\\s*(?=\\\\{)|\\\\s*(?:[]*\\\\[]+{0,1}(?!\\\\bfunc\\\\b)[*.\\\\w]+(?:\\\\[(?:[*.\\\\w]+{0,1}(?:\\\\[[^]]+{0,1}])?(?:,\\\\s+)?)+])?[*.\\\\w]+{0,1}|\\\\([^)]+{0,1}\\\\)))?\",\"endCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"}]},\"2\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"include\":\"#parameter-variable-types\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"patterns\":[{\"include\":\"#parameter-variable-types\"}]},\"functions_inline\":{\"captures\":{\"1\":{\"name\":\"keyword.function.go\"},\"2\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.begin.bracket.round.go\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.round.go\"}},\"patterns\":[{\"include\":\"#function_param_types\"},{\"include\":\"$self\"}]},{\"match\":\"\\\\[\",\"name\":\"punctuation.definition.begin.bracket.square.go\"},{\"match\":\"]\",\"name\":\"punctuation.definition.end.bracket.square.go\"},{\"match\":\"\\\\{\",\"name\":\"punctuation.definition.begin.bracket.curly.go\"},{\"match\":\"}\",\"name\":\"punctuation.definition.end.bracket.curly.go\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"\\\\b(func)\\\\b(\\\\([^/]*?\\\\)\\\\s+\\\\([^/]*?\\\\))\\\\s+(?=\\\\{)\"},\"generic_param_types\":{\"patterns\":[{\"include\":\"#struct_variables_types\"},{\"include\":\"#interface_variables_types\"},{\"include\":\"#type-declarations-without-brackets\"},{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"variable.parameter.go\"}]}},\"match\":\"((?:\\\\b\\\\w+,\\\\s*)+{0,1}\\\\b\\\\w+)\\\\s+(?=(?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}[]*\\\\[]+{0,1}\\\\b(?:struct|interface)\\\\b\\\\s*\\\\{)\"},{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"variable.parameter.go\"}]}},\"match\":\"(?:(?<=\\\\()|^\\\\s*)((?:\\\\b\\\\w+,\\\\s*)+(?:/[*/].*)?)$\"},{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#delimiters\"},{\"match\":\"\\\\w+\",\"name\":\"variable.parameter.go\"}]},\"2\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"include\":\"#parameter-variable-types\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]},\"3\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"((?:\\\\b\\\\w+,\\\\s*)+{0,1}\\\\b\\\\w+)\\\\s+((?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}(?:[]*.\\\\[\\\\w]+{0,1}(?:\\\\bfunc\\\\b\\\\([^)]+{0,1}\\\\)(?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}\\\\s*)+(?:[*.\\\\w]+|\\\\([^)]+{0,1}\\\\))?|(?:(?:[*.~\\\\w]+|\\\\[(?:[*.\\\\w]+{0,1}(?:\\\\[[^]]+{0,1}])?(?:,\\\\s+)?)+])[*.\\\\w]+{0,1})+))\"},{\"begin\":\"([*.\\\\w]+)?(\\\\[)\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]},\"2\":{\"name\":\"punctuation.definition.begin.bracket.square.go\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.square.go\"}},\"patterns\":[{\"include\":\"#generic_param_types\"}]},{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.begin.bracket.round.go\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.round.go\"}},\"patterns\":[{\"include\":\"#function_param_types\"}]},{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"\\\\b([.\\\\w]+)\"},{\"include\":\"$self\"}]},\"generic_types\":{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]},\"2\":{\"patterns\":[{\"include\":\"#parameter-variable-types\"}]}},\"match\":\"([*.\\\\w]+)(\\\\[[^]]+{0,1}])\"},\"group-functions\":{\"patterns\":[{\"include\":\"#function_declaration\"},{\"include\":\"#functions_inline\"},{\"include\":\"#functions\"},{\"include\":\"#built_in_functions\"},{\"include\":\"#support_functions\"}]},\"group-types\":{\"patterns\":[{\"include\":\"#other_struct_interface_expressions\"},{\"include\":\"#type_assertion_inline\"},{\"include\":\"#struct_variables_types\"},{\"include\":\"#interface_variables_types\"},{\"include\":\"#single_type\"},{\"include\":\"#multi_types\"},{\"include\":\"#struct_interface_declaration\"},{\"include\":\"#double_parentheses_types\"},{\"include\":\"#switch_types\"},{\"include\":\"#type-declarations\"}]},\"group-variables\":{\"patterns\":[{\"include\":\"#const_assignment\"},{\"include\":\"#var_assignment\"},{\"include\":\"#variable_assignment\"},{\"include\":\"#label_loop_variables\"},{\"include\":\"#slice_index_variables\"},{\"include\":\"#property_variables\"},{\"include\":\"#switch_variables\"},{\"include\":\"#other_variables\"}]},\"hover\":{\"patterns\":[{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.property.go\"}]},\"2\":{\"patterns\":[{\"match\":\"\\\\binvalid\\\\b\\\\s+\\\\btype\\\\b\",\"name\":\"invalid.field.go\"},{\"include\":\"#type-declarations-without-brackets\"},{\"include\":\"#parameter-variable-types\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"(?<=^\\\\bfield\\\\b)\\\\s+([*.\\\\w]+)\\\\s+([\\\\s\\\\S]+)\"},{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"include\":\"#parameter-variable-types\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"(?<=^\\\\breturns\\\\b)\\\\s+([\\\\s\\\\S]+)\"}]},\"import\":{\"patterns\":[{\"begin\":\"\\\\b(import)\\\\s+\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.import.go\"}},\"end\":\"(?!\\\\G)\",\"patterns\":[{\"include\":\"#imports\"}]}]},\"imports\":{\"patterns\":[{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#delimiters\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.import.go\"}]},\"2\":{\"name\":\"string.quoted.double.go\"},\"3\":{\"name\":\"punctuation.definition.string.begin.go\"},\"4\":{\"name\":\"entity.name.import.go\"},\"5\":{\"name\":\"punctuation.definition.string.end.go\"}},\"match\":\"(\\\\s*[.\\\\w]+)?\\\\s*((\\\")([^\\\"]*)(\\\"))\"},{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.imports.begin.bracket.round.go\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.imports.end.bracket.round.go\"}},\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#imports\"}]},{\"include\":\"$self\"}]},\"interface_variables_types\":{\"begin\":\"\\\\b(interface)\\\\b\\\\s*(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.interface.go\"},\"2\":{\"name\":\"punctuation.definition.begin.bracket.curly.go\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.curly.go\"}},\"patterns\":[{\"include\":\"#interface_variables_types_field\"},{\"include\":\"$self\"}]},\"interface_variables_types_field\":{\"patterns\":[{\"include\":\"#support_functions\"},{\"include\":\"#type-declarations-without-brackets\"},{\"begin\":\"([*.\\\\w]+)?(\\\\[)\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]},\"2\":{\"name\":\"punctuation.definition.begin.bracket.square.go\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.square.go\"}},\"patterns\":[{\"include\":\"#generic_param_types\"}]},{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.begin.bracket.round.go\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.round.go\"}},\"patterns\":[{\"include\":\"#function_param_types\"}]},{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"([.\\\\w]+)\"}]},\"keywords\":{\"patterns\":[{\"match\":\"\\\\b(break|case|continue|default|defer|else|fallthrough|for|go|goto|if|range|return|select|switch)\\\\b\",\"name\":\"keyword.control.go\"},{\"match\":\"\\\\bchan\\\\b\",\"name\":\"keyword.channel.go\"},{\"match\":\"\\\\bconst\\\\b\",\"name\":\"keyword.const.go\"},{\"match\":\"\\\\bvar\\\\b\",\"name\":\"keyword.var.go\"},{\"match\":\"\\\\bfunc\\\\b\",\"name\":\"keyword.function.go\"},{\"match\":\"\\\\binterface\\\\b\",\"name\":\"keyword.interface.go\"},{\"match\":\"\\\\bmap\\\\b\",\"name\":\"keyword.map.go\"},{\"match\":\"\\\\bstruct\\\\b\",\"name\":\"keyword.struct.go\"},{\"match\":\"\\\\bimport\\\\b\",\"name\":\"keyword.control.import.go\"},{\"match\":\"\\\\btype\\\\b\",\"name\":\"keyword.type.go\"}]},\"label_loop_variables\":{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.label.go\"}]}},\"match\":\"^(\\\\s*\\\\w+:\\\\s*|\\\\s*\\\\b(?:break|goto|continue)\\\\b\\\\s+\\\\w+(?:\\\\s*/[*/]\\\\s*.*)?)$\"},\"language_constants\":{\"captures\":{\"1\":{\"name\":\"constant.language.boolean.go\"},\"2\":{\"name\":\"constant.language.null.go\"},\"3\":{\"name\":\"constant.language.iota.go\"}},\"match\":\"\\\\b(?:(true|false)|(nil)|(iota))\\\\b\"},\"map_types\":{\"begin\":\"\\\\b(map)\\\\b(\\\\[)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.map.go\"},\"2\":{\"name\":\"punctuation.definition.begin.bracket.square.go\"}},\"end\":\"(])((?:[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}(?![]*\\\\[]+{0,1}\\\\b(?:func|struct|map)\\\\b)[]*\\\\[]+{0,1}[.\\\\w]+(?:\\\\[(?:[]*.\\\\[{}\\\\w]+(?:,\\\\s*[]*.\\\\[{}\\\\w]+)*)?])?)?\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.end.bracket.square.go\"},\"2\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"match\":\"\\\\[\",\"name\":\"punctuation.definition.begin.bracket.square.go\"},{\"match\":\"]\",\"name\":\"punctuation.definition.end.bracket.square.go\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"include\":\"#parameter-variable-types\"},{\"include\":\"#functions\"},{\"match\":\"\\\\[\",\"name\":\"punctuation.definition.begin.bracket.square.go\"},{\"match\":\"]\",\"name\":\"punctuation.definition.end.bracket.square.go\"},{\"match\":\"\\\\{\",\"name\":\"punctuation.definition.begin.bracket.curly.go\"},{\"match\":\"}\",\"name\":\"punctuation.definition.end.bracket.curly.go\"},{\"match\":\"\\\\(\",\"name\":\"punctuation.definition.begin.bracket.round.go\"},{\"match\":\"\\\\)\",\"name\":\"punctuation.definition.end.bracket.round.go\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]},\"multi_types\":{\"begin\":\"\\\\b(type)\\\\b\\\\s*(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.type.go\"},\"2\":{\"name\":\"punctuation.definition.begin.bracket.round.go\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.round.go\"}},\"patterns\":[{\"include\":\"#struct_variables_types\"},{\"include\":\"#interface_variables_types\"},{\"include\":\"#type-declarations-without-brackets\"},{\"include\":\"#parameter-variable-types\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]},\"numeric_literals\":{\"captures\":{\"0\":{\"patterns\":[{\"begin\":\"(?=.)\",\"end\":\"\\\\n|$\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"constant.numeric.decimal.go\",\"patterns\":[{\"match\":\"(?<=\\\\h)_(?=\\\\h)\",\"name\":\"punctuation.separator.constant.numeric.go\"}]},\"2\":{\"name\":\"punctuation.separator.constant.numeric.go\"},\"3\":{\"name\":\"constant.numeric.decimal.point.go\"},\"4\":{\"name\":\"constant.numeric.decimal.go\",\"patterns\":[{\"match\":\"(?<=\\\\h)_(?=\\\\h)\",\"name\":\"punctuation.separator.constant.numeric.go\"}]},\"5\":{\"name\":\"punctuation.separator.constant.numeric.go\"},\"6\":{\"name\":\"keyword.other.unit.exponent.decimal.go\"},\"7\":{\"name\":\"keyword.operator.plus.exponent.decimal.go\"},\"8\":{\"name\":\"keyword.operator.minus.exponent.decimal.go\"},\"9\":{\"name\":\"constant.numeric.exponent.decimal.go\",\"patterns\":[{\"match\":\"(?<=\\\\h)_(?=\\\\h)\",\"name\":\"punctuation.separator.constant.numeric.go\"}]},\"10\":{\"name\":\"keyword.other.unit.imaginary.go\"},\"11\":{\"name\":\"constant.numeric.decimal.go\",\"patterns\":[{\"match\":\"(?<=\\\\h)_(?=\\\\h)\",\"name\":\"punctuation.separator.constant.numeric.go\"}]},\"12\":{\"name\":\"punctuation.separator.constant.numeric.go\"},\"13\":{\"name\":\"keyword.other.unit.exponent.decimal.go\"},\"14\":{\"name\":\"keyword.operator.plus.exponent.decimal.go\"},\"15\":{\"name\":\"keyword.operator.minus.exponent.decimal.go\"},\"16\":{\"name\":\"constant.numeric.exponent.decimal.go\",\"patterns\":[{\"match\":\"(?<=\\\\h)_(?=\\\\h)\",\"name\":\"punctuation.separator.constant.numeric.go\"}]},\"17\":{\"name\":\"keyword.other.unit.imaginary.go\"},\"18\":{\"name\":\"constant.numeric.decimal.point.go\"},\"19\":{\"name\":\"constant.numeric.decimal.go\",\"patterns\":[{\"match\":\"(?<=\\\\h)_(?=\\\\h)\",\"name\":\"punctuation.separator.constant.numeric.go\"}]},\"20\":{\"name\":\"punctuation.separator.constant.numeric.go\"},\"21\":{\"name\":\"keyword.other.unit.exponent.decimal.go\"},\"22\":{\"name\":\"keyword.operator.plus.exponent.decimal.go\"},\"23\":{\"name\":\"keyword.operator.minus.exponent.decimal.go\"},\"24\":{\"name\":\"constant.numeric.exponent.decimal.go\",\"patterns\":[{\"match\":\"(?<=\\\\h)_(?=\\\\h)\",\"name\":\"punctuation.separator.constant.numeric.go\"}]},\"25\":{\"name\":\"keyword.other.unit.imaginary.go\"},\"26\":{\"name\":\"keyword.other.unit.hexadecimal.go\"},\"27\":{\"name\":\"constant.numeric.hexadecimal.go\",\"patterns\":[{\"match\":\"(?<=\\\\h)_(?=\\\\h)\",\"name\":\"punctuation.separator.constant.numeric.go\"}]},\"28\":{\"name\":\"punctuation.separator.constant.numeric.go\"},\"29\":{\"name\":\"constant.numeric.hexadecimal.go\"},\"30\":{\"name\":\"constant.numeric.hexadecimal.go\",\"patterns\":[{\"match\":\"(?<=\\\\h)_(?=\\\\h)\",\"name\":\"punctuation.separator.constant.numeric.go\"}]},\"31\":{\"name\":\"punctuation.separator.constant.numeric.go\"},\"32\":{\"name\":\"keyword.other.unit.exponent.hexadecimal.go\"},\"33\":{\"name\":\"keyword.operator.plus.exponent.hexadecimal.go\"},\"34\":{\"name\":\"keyword.operator.minus.exponent.hexadecimal.go\"},\"35\":{\"name\":\"constant.numeric.exponent.hexadecimal.go\",\"patterns\":[{\"match\":\"(?<=\\\\h)_(?=\\\\h)\",\"name\":\"punctuation.separator.constant.numeric.go\"}]},\"36\":{\"name\":\"keyword.other.unit.imaginary.go\"},\"37\":{\"name\":\"keyword.other.unit.hexadecimal.go\"},\"38\":{\"name\":\"constant.numeric.hexadecimal.go\",\"patterns\":[{\"match\":\"(?<=\\\\h)_(?=\\\\h)\",\"name\":\"punctuation.separator.constant.numeric.go\"}]},\"39\":{\"name\":\"punctuation.separator.constant.numeric.go\"},\"40\":{\"name\":\"keyword.other.unit.exponent.hexadecimal.go\"},\"41\":{\"name\":\"keyword.operator.plus.exponent.hexadecimal.go\"},\"42\":{\"name\":\"keyword.operator.minus.exponent.hexadecimal.go\"},\"43\":{\"name\":\"constant.numeric.exponent.hexadecimal.go\",\"patterns\":[{\"match\":\"(?<=\\\\h)_(?=\\\\h)\",\"name\":\"punctuation.separator.constant.numeric.go\"}]},\"44\":{\"name\":\"keyword.other.unit.imaginary.go\"},\"45\":{\"name\":\"keyword.other.unit.hexadecimal.go\"},\"46\":{\"name\":\"constant.numeric.hexadecimal.go\"},\"47\":{\"name\":\"constant.numeric.hexadecimal.go\",\"patterns\":[{\"match\":\"(?<=\\\\h)_(?=\\\\h)\",\"name\":\"punctuation.separator.constant.numeric.go\"}]},\"48\":{\"name\":\"punctuation.separator.constant.numeric.go\"},\"49\":{\"name\":\"keyword.other.unit.exponent.hexadecimal.go\"},\"50\":{\"name\":\"keyword.operator.plus.exponent.hexadecimal.go\"},\"51\":{\"name\":\"keyword.operator.minus.exponent.hexadecimal.go\"},\"52\":{\"name\":\"constant.numeric.exponent.hexadecimal.go\",\"patterns\":[{\"match\":\"(?<=\\\\h)_(?=\\\\h)\",\"name\":\"punctuation.separator.constant.numeric.go\"}]},\"53\":{\"name\":\"keyword.other.unit.imaginary.go\"}},\"match\":\"\\\\G(?:(?:(?:(?:(?:(?=[.0-9])(?!0[BOXbox])([0-9](?:[0-9]|((?<=\\\\h)_(?=\\\\h)))*)((?<=[0-9])\\\\.|\\\\.(?=[0-9]))([0-9](?:[0-9]|((?<=\\\\h)_(?=\\\\h)))*)?(?:(?<!_)([Ee])(\\\\+?)(-?)([0-9](?:[0-9]|(?<=\\\\h)_(?=\\\\h))*))?(i(?!\\\\w))?(?:\\\\n|$)|(?=[.0-9])(?!0[BOXbox])([0-9](?:[0-9]|((?<=\\\\h)_(?=\\\\h)))*)(?<!_)([Ee])(\\\\+?)(-?)([0-9](?:[0-9]|(?<=\\\\h)_(?=\\\\h))*)(i(?!\\\\w))?(?:\\\\n|$))|((?<=[0-9])\\\\.|\\\\.(?=[0-9]))([0-9](?:[0-9]|((?<=\\\\h)_(?=\\\\h)))*)(?:(?<!_)([Ee])(\\\\+?)(-?)([0-9](?:[0-9]|(?<=\\\\h)_(?=\\\\h))*))?(i(?!\\\\w))?(?:\\\\n|$))|(0[Xx])_?(\\\\h(?:\\\\h|((?<=\\\\h)_(?=\\\\h)))*)((?<=\\\\h)\\\\.|\\\\.(?=\\\\h))(\\\\h(?:\\\\h|((?<=\\\\h)_(?=\\\\h)))*)?(?<!_)([Pp])(\\\\+?)(-?)([0-9](?:[0-9]|(?<=\\\\h)_(?=\\\\h))*)(i(?!\\\\w))?(?:\\\\n|$))|(0[Xx])_?(\\\\h(?:\\\\h|((?<=\\\\h)_(?=\\\\h)))*)(?<!_)([Pp])(\\\\+?)(-?)([0-9](?:[0-9]|(?<=\\\\h)_(?=\\\\h))*)(i(?!\\\\w))?(?:\\\\n|$))|(0[Xx])((?<=\\\\h)\\\\.|\\\\.(?=\\\\h))(\\\\h(?:\\\\h|((?<=\\\\h)_(?=\\\\h)))*)(?<!_)([Pp])(\\\\+?)(-?)([0-9](?:[0-9]|(?<=\\\\h)_(?=\\\\h))*)(i(?!\\\\w))?(?:\\\\n|$))\"},{\"captures\":{\"1\":{\"name\":\"constant.numeric.decimal.go\",\"patterns\":[{\"match\":\"(?<=\\\\h)_(?=\\\\h)\",\"name\":\"punctuation.separator.constant.numeric.go\"}]},\"2\":{\"name\":\"punctuation.separator.constant.numeric.go\"},\"3\":{\"name\":\"keyword.other.unit.imaginary.go\"},\"4\":{\"name\":\"keyword.other.unit.binary.go\"},\"5\":{\"name\":\"constant.numeric.binary.go\",\"patterns\":[{\"match\":\"(?<=\\\\h)_(?=\\\\h)\",\"name\":\"punctuation.separator.constant.numeric.go\"}]},\"6\":{\"name\":\"punctuation.separator.constant.numeric.go\"},\"7\":{\"name\":\"keyword.other.unit.imaginary.go\"},\"8\":{\"name\":\"keyword.other.unit.octal.go\"},\"9\":{\"name\":\"constant.numeric.octal.go\",\"patterns\":[{\"match\":\"(?<=\\\\h)_(?=\\\\h)\",\"name\":\"punctuation.separator.constant.numeric.go\"}]},\"10\":{\"name\":\"punctuation.separator.constant.numeric.go\"},\"11\":{\"name\":\"keyword.other.unit.imaginary.go\"},\"12\":{\"name\":\"keyword.other.unit.hexadecimal.go\"},\"13\":{\"name\":\"constant.numeric.hexadecimal.go\",\"patterns\":[{\"match\":\"(?<=\\\\h)_(?=\\\\h)\",\"name\":\"punctuation.separator.constant.numeric.go\"}]},\"14\":{\"name\":\"punctuation.separator.constant.numeric.go\"},\"15\":{\"name\":\"keyword.other.unit.imaginary.go\"}},\"match\":\"\\\\G(?:(?:(?:(?=[.0-9])(?!0[BOXbox])([0-9](?:[0-9]|((?<=\\\\h)_(?=\\\\h)))*)(i(?!\\\\w))?(?:\\\\n|$)|(0[Bb])_?([01](?:[01]|((?<=\\\\h)_(?=\\\\h)))*)(i(?!\\\\w))?(?:\\\\n|$))|(0[Oo]?)_?((?:[0-7]|((?<=\\\\h)_(?=\\\\h)))+)(i(?!\\\\w))?(?:\\\\n|$))|(0[Xx])_?(\\\\h(?:\\\\h|((?<=\\\\h)_(?=\\\\h)))*)(i(?!\\\\w))?(?:\\\\n|$))\"},{\"match\":\"(?:[.0-9A-Z_a-z]|(?<=[EPep])[-+])+\",\"name\":\"invalid.illegal.constant.numeric.go\"}]}]}},\"match\":\"(?<!\\\\w)\\\\.?\\\\d(?:[.0-9A-Z_a-z]|(?<=[EPep])[-+])*\"},\"operators\":{\"patterns\":[{\"match\":\"(?<!\\\\w)[\\\\&*]+(?!\\\\d)(?=[]\\\\[\\\\w]|<-)\",\"name\":\"keyword.operator.address.go\"},{\"match\":\"<-\",\"name\":\"keyword.operator.channel.go\"},{\"match\":\"--\",\"name\":\"keyword.operator.decrement.go\"},{\"match\":\"\\\\+\\\\+\",\"name\":\"keyword.operator.increment.go\"},{\"match\":\"(==|!=|<=|>=|<(?!<)|>(?!>))\",\"name\":\"keyword.operator.comparison.go\"},{\"match\":\"(&&|\\\\|\\\\||!)\",\"name\":\"keyword.operator.logical.go\"},{\"match\":\"((?:|[-%*+/:^|]|<<|>>|&\\\\^?)=)\",\"name\":\"keyword.operator.assignment.go\"},{\"match\":\"([-%*+/])\",\"name\":\"keyword.operator.arithmetic.go\"},{\"match\":\"(&(?!\\\\^)|[\\\\^|]|&\\\\^|<<|>>|~)\",\"name\":\"keyword.operator.arithmetic.bitwise.go\"},{\"match\":\"\\\\.\\\\.\\\\.\",\"name\":\"keyword.operator.ellipsis.go\"}]},\"other_struct_interface_expressions\":{\"patterns\":[{\"include\":\"#after_control_variables\"},{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]},\"2\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"match\":\"\\\\[\",\"name\":\"punctuation.definition.begin.bracket.square.go\"},{\"match\":\"]\",\"name\":\"punctuation.definition.end.bracket.square.go\"},{\"match\":\"\\\\{\",\"name\":\"punctuation.definition.begin.bracket.curly.go\"},{\"match\":\"}\",\"name\":\"punctuation.definition.end.bracket.curly.go\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"\\\\b(?!(?:struct|interface)\\\\b)([.\\\\w]+)(?<brackets>\\\\[(?:[^]\\\\[]|\\\\g<brackets>)*])?(?=\\\\{)\"}]},\"other_variables\":{\"match\":\"\\\\w+\",\"name\":\"variable.other.go\"},\"package_name\":{\"patterns\":[{\"begin\":\"\\\\b(package)\\\\s+\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.package.go\"}},\"end\":\"(?!\\\\G)\",\"patterns\":[{\"match\":\"\\\\d\\\\w*\",\"name\":\"invalid.illegal.identifier.go\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.package.go\"}]}]},\"parameter-variable-types\":{\"patterns\":[{\"match\":\"\\\\{\",\"name\":\"punctuation.definition.begin.bracket.curly.go\"},{\"match\":\"}\",\"name\":\"punctuation.definition.end.bracket.curly.go\"},{\"begin\":\"([*.\\\\w]+)?(\\\\[)\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]},\"2\":{\"name\":\"punctuation.definition.begin.bracket.square.go\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.square.go\"}},\"patterns\":[{\"include\":\"#generic_param_types\"}]},{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.begin.bracket.round.go\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.round.go\"}},\"patterns\":[{\"include\":\"#function_param_types\"}]}]},\"property_variables\":{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.property.go\"}]}},\"match\":\"\\\\b([.\\\\w]+:(?!=))\"},\"raw_string_literals\":{\"begin\":\"`\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.go\"}},\"end\":\"`\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.go\"}},\"name\":\"string.quoted.raw.go\",\"patterns\":[{\"include\":\"#string_placeholder\"}]},\"runes\":{\"patterns\":[{\"begin\":\"'\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.go\"}},\"end\":\"'\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.go\"}},\"name\":\"string.quoted.rune.go\",\"patterns\":[{\"match\":\"\\\\G(\\\\\\\\([0-7]{3}|[\\\"'\\\\\\\\abfnrtv]|x\\\\h{2}|u\\\\h{4}|U\\\\h{8})|.)(?=')\",\"name\":\"constant.other.rune.go\"},{\"match\":\"[^']+\",\"name\":\"invalid.illegal.unknown-rune.go\"}]}]},\"single_type\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"keyword.type.go\"},\"2\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]},\"3\":{\"patterns\":[{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.begin.bracket.round.go\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.round.go\"}},\"patterns\":[{\"include\":\"#function_param_types\"},{\"include\":\"$self\"}]},{\"include\":\"#type-declarations\"},{\"include\":\"#generic_types\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"^\\\\s*\\\\b(type)\\\\b\\\\s*([*.\\\\w]+)\\\\s+(?!(?:=\\\\s*)?[]*\\\\[]+{0,1}\\\\b(?:struct|interface)\\\\b)([\\\\s\\\\S]+)\"},{\"begin\":\"(?:^|\\\\s+)\\\\b(type)\\\\b\\\\s*([*.\\\\w]+)(?=\\\\[)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.type.go\"},\"2\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"end\":\"(?<=])(\\\\s+(?:=\\\\s*)?(?:[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}(?![]*\\\\[]+{0,1}\\\\b(?:struct|interface|func)\\\\b)[-\\\\]*.\\\\[\\\\w]+(?:,\\\\s*[]*.\\\\[\\\\w]+)*)?\",\"endCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"match\":\"\\\\[\",\"name\":\"punctuation.definition.begin.bracket.square.go\"},{\"match\":\"]\",\"name\":\"punctuation.definition.end.bracket.square.go\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"patterns\":[{\"include\":\"#struct_variables_types\"},{\"include\":\"#type-declarations-without-brackets\"},{\"include\":\"#parameter-variable-types\"},{\"match\":\"\\\\[\",\"name\":\"punctuation.definition.begin.bracket.square.go\"},{\"match\":\"]\",\"name\":\"punctuation.definition.end.bracket.square.go\"},{\"match\":\"\\\\{\",\"name\":\"punctuation.definition.begin.bracket.curly.go\"},{\"match\":\"}\",\"name\":\"punctuation.definition.end.bracket.curly.go\"},{\"match\":\"\\\\(\",\"name\":\"punctuation.definition.begin.bracket.round.go\"},{\"match\":\"\\\\)\",\"name\":\"punctuation.definition.end.bracket.round.go\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}]},\"slice_index_variables\":{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.go\"}]}},\"match\":\"(?<=\\\\w\\\\[)((?:\\\\b[-%\\\\&*+./<>|\\\\w]+:|:\\\\b[-%\\\\&*+./<>|\\\\w]+)(?:\\\\b[-%\\\\&*+./<>|\\\\w]+)?(?::\\\\b[-%\\\\&*+./<>|\\\\w]+)?)(?=])\"},\"statements\":{\"patterns\":[{\"include\":\"#package_name\"},{\"include\":\"#import\"},{\"include\":\"#syntax_errors\"},{\"include\":\"#group-functions\"},{\"include\":\"#group-types\"},{\"include\":\"#group-variables\"},{\"include\":\"#hover\"}]},\"storage_types\":{\"patterns\":[{\"match\":\"\\\\bbool\\\\b\",\"name\":\"storage.type.boolean.go\"},{\"match\":\"\\\\bbyte\\\\b\",\"name\":\"storage.type.byte.go\"},{\"match\":\"\\\\berror\\\\b\",\"name\":\"storage.type.error.go\"},{\"match\":\"\\\\b(complex(64|128)|float(32|64)|u?int(8|16|32|64)?)\\\\b\",\"name\":\"storage.type.numeric.go\"},{\"match\":\"\\\\brune\\\\b\",\"name\":\"storage.type.rune.go\"},{\"match\":\"\\\\bstring\\\\b\",\"name\":\"storage.type.string.go\"},{\"match\":\"\\\\buintptr\\\\b\",\"name\":\"storage.type.uintptr.go\"},{\"match\":\"\\\\bany\\\\b\",\"name\":\"entity.name.type.any.go\"},{\"match\":\"\\\\bcomparable\\\\b\",\"name\":\"entity.name.type.comparable.go\"}]},\"string_escaped_char\":{\"patterns\":[{\"match\":\"\\\\\\\\([0-7]{3}|[\\\"'\\\\\\\\abfnrtv]|x\\\\h{2}|u\\\\h{4}|U\\\\h{8})\",\"name\":\"constant.character.escape.go\"},{\"match\":\"\\\\\\\\[^\\\"'0-7Uabfnrtuvx]\",\"name\":\"invalid.illegal.unknown-escape.go\"}]},\"string_literals\":{\"patterns\":[{\"begin\":\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.go\"}},\"end\":\"\\\"\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.go\"}},\"name\":\"string.quoted.double.go\",\"patterns\":[{\"include\":\"#string_escaped_char\"},{\"include\":\"#string_placeholder\"}]}]},\"string_placeholder\":{\"patterns\":[{\"match\":\"%(\\\\[\\\\d+])?([- #+0]{0,2}((\\\\d+|\\\\*)?(\\\\.?(\\\\d+|\\\\*|(\\\\[\\\\d+])\\\\*?)?(\\\\[\\\\d+])?)?))?[%EFGTUXb-gopqstvwx]\",\"name\":\"constant.other.placeholder.go\"}]},\"struct_interface_declaration\":{\"captures\":{\"1\":{\"name\":\"keyword.type.go\"},\"2\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"^\\\\s*\\\\b(type)\\\\b\\\\s*([.\\\\w]+)\"},\"struct_variable_types_fields_multi\":{\"patterns\":[{\"begin\":\"\\\\b(\\\\w+(?:,\\\\s*\\\\b\\\\w+)*(?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}\\\\s*[]*\\\\[]+{0,1})\\\\b(struct)\\\\b\\\\s*(\\\\{)\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.property.go\"}]},\"2\":{\"name\":\"keyword.struct.go\"},\"3\":{\"name\":\"punctuation.definition.begin.bracket.curly.go\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.curly.go\"}},\"patterns\":[{\"include\":\"#struct_variables_types_fields\"},{\"include\":\"$self\"}]},{\"begin\":\"\\\\b(\\\\w+(?:,\\\\s*\\\\b\\\\w+)*(?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}\\\\s*[]*\\\\[]+{0,1})\\\\b(interface)\\\\b\\\\s*(\\\\{)\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.property.go\"}]},\"2\":{\"name\":\"keyword.interface.go\"},\"3\":{\"name\":\"punctuation.definition.begin.bracket.curly.go\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.curly.go\"}},\"patterns\":[{\"include\":\"#interface_variables_types_field\"},{\"include\":\"$self\"}]},{\"begin\":\"\\\\b(\\\\w+(?:,\\\\s*\\\\b\\\\w+)*(?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}\\\\s*[]*\\\\[]+{0,1})\\\\b(func)\\\\b\\\\s*(\\\\()\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.property.go\"}]},\"2\":{\"name\":\"keyword.function.go\"},\"3\":{\"name\":\"punctuation.definition.begin.bracket.round.go\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.round.go\"}},\"patterns\":[{\"include\":\"#function_param_types\"},{\"include\":\"$self\"}]},{\"include\":\"#parameter-variable-types\"}]},\"struct_variables_types\":{\"begin\":\"\\\\b(struct)\\\\b\\\\s*(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.struct.go\"},\"2\":{\"name\":\"punctuation.definition.begin.bracket.curly.go\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.curly.go\"}},\"patterns\":[{\"include\":\"#struct_variables_types_fields\"},{\"include\":\"$self\"}]},\"struct_variables_types_fields\":{\"patterns\":[{\"include\":\"#struct_variable_types_fields_multi\"},{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"(?<=\\\\{)\\\\s*((?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}[]*.\\\\[\\\\w]+)\\\\s*(?=})\"},{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.property.go\"}]},\"2\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"(?<=\\\\{)\\\\s*((?:\\\\w+,\\\\s*)+{0,1}\\\\w+\\\\s+)((?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}[]*.\\\\[\\\\w]+)\\\\s*(?=})\"},{\"captures\":{\"1\":{\"patterns\":[{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.property.go\"}]},\"2\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"((?:\\\\w+,\\\\s*)+{0,1}\\\\w+\\\\s+)?((?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}[^/\\\\s]+;?)\"}]}},\"match\":\"(?<=\\\\{)((?:\\\\s*(?:(?:\\\\w+,\\\\s*)+{0,1}\\\\w+\\\\s+)?(?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}[^/\\\\s]+;?)+)\\\\s*(?=})\"},{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"((?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}[*.\\\\w]+\\\\s*)(?:(?=[\\\"/`])|$)\"},{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.property.go\"}]},\"2\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"include\":\"#parameter-variable-types\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"\\\\b(\\\\w+(?:\\\\s*,\\\\s*\\\\b\\\\w+)*)\\\\s*([^\\\"/`]+)\"}]},\"support_functions\":{\"captures\":{\"1\":{\"name\":\"entity.name.function.support.go\"},\"2\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\d\\\\w*\",\"name\":\"invalid.illegal.identifier.go\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.function.support.go\"}]},\"3\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"match\":\"\\\\[\",\"name\":\"punctuation.definition.begin.bracket.square.go\"},{\"match\":\"]\",\"name\":\"punctuation.definition.end.bracket.square.go\"},{\"match\":\"\\\\{\",\"name\":\"punctuation.definition.begin.bracket.curly.go\"},{\"match\":\"}\",\"name\":\"punctuation.definition.end.bracket.curly.go\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"(?:((?<=\\\\.)\\\\b\\\\w+)|\\\\b(\\\\w+))(?<brackets>\\\\[(?:[^]\\\\[]|\\\\g<brackets>)*])?(?=\\\\()\"},\"switch_types\":{\"begin\":\"(?<=\\\\bswitch\\\\b)\\\\s*(\\\\w+\\\\s*:=)?\\\\s*([-\\\\]%\\\\&(-+./<>\\\\[|\\\\w]+)(\\\\.\\\\(\\\\btype\\\\b\\\\)\\\\s*)(\\\\{)\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#operators\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.assignment.go\"}]},\"2\":{\"patterns\":[{\"include\":\"#support_functions\"},{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.go\"}]},\"3\":{\"patterns\":[{\"include\":\"#delimiters\"},{\"include\":\"#brackets\"},{\"match\":\"\\\\btype\\\\b\",\"name\":\"keyword.type.go\"}]},\"4\":{\"name\":\"punctuation.definition.begin.bracket.curly.go\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.curly.go\"}},\"patterns\":[{\"captures\":{\"1\":{\"name\":\"keyword.control.go\"},\"2\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]},\"3\":{\"name\":\"punctuation.other.colon.go\"},\"4\":{\"patterns\":[{\"include\":\"#comments\"}]}},\"match\":\"^\\\\s*\\\\b(case)\\\\b\\\\s+([!*,.<=>\\\\w\\\\s]+)(:)(\\\\s*/[*/]\\\\s*.*)?$\"},{\"begin\":\"\\\\bcase\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.go\"}},\"end\":\":\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.other.colon.go\"}},\"patterns\":[{\"include\":\"#type-declarations\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]},{\"include\":\"$self\"}]},\"switch_variables\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"keyword.control.go\"},\"2\":{\"patterns\":[{\"include\":\"#type-declarations\"},{\"include\":\"#support_functions\"},{\"include\":\"#variable_assignment\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.go\"}]}},\"match\":\"^\\\\s*\\\\b(case)\\\\b\\\\s+([\\\\s\\\\S]+:\\\\s*(?:/[*/].*)?)$\"},{\"begin\":\"(?<=\\\\bswitch\\\\b)\\\\s*((?:[.\\\\w]+(?:\\\\s*[-!%\\\\&+,/:<=>|]+\\\\s*[.\\\\w]+)*\\\\s*[-!%\\\\&+,/:<=>|]+)?\\\\s*[-\\\\]%\\\\&(-+./<>\\\\[|\\\\w]+{0,1}\\\\s*(?:;\\\\s*[-\\\\]%\\\\&(-+./<>\\\\[|\\\\w]+\\\\s*)?)(\\\\{)\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#support_functions\"},{\"include\":\"#type-declarations\"},{\"include\":\"#variable_assignment\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.go\"}]},\"2\":{\"name\":\"punctuation.definition.begin.bracket.curly.go\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.curly.go\"}},\"patterns\":[{\"begin\":\"\\\\bcase\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.go\"}},\"end\":\":\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.other.colon.go\"}},\"patterns\":[{\"include\":\"#support_functions\"},{\"include\":\"#type-declarations\"},{\"include\":\"#variable_assignment\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.go\"}]},{\"include\":\"$self\"}]}]},\"syntax_errors\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"invalid.illegal.slice.go\"}},\"match\":\"\\\\[](\\\\s+)\"},{\"match\":\"\\\\b0[0-7]*[89]\\\\d*\\\\b\",\"name\":\"invalid.illegal.numeric.go\"}]},\"terminators\":{\"match\":\";\",\"name\":\"punctuation.terminator.go\"},\"type-declarations\":{\"patterns\":[{\"include\":\"#language_constants\"},{\"include\":\"#comments\"},{\"include\":\"#map_types\"},{\"include\":\"#brackets\"},{\"include\":\"#delimiters\"},{\"include\":\"#keywords\"},{\"include\":\"#operators\"},{\"include\":\"#runes\"},{\"include\":\"#storage_types\"},{\"include\":\"#raw_string_literals\"},{\"include\":\"#string_literals\"},{\"include\":\"#numeric_literals\"},{\"include\":\"#terminators\"}]},\"type-declarations-without-brackets\":{\"patterns\":[{\"include\":\"#language_constants\"},{\"include\":\"#comments\"},{\"include\":\"#map_types\"},{\"include\":\"#delimiters\"},{\"include\":\"#keywords\"},{\"include\":\"#operators\"},{\"include\":\"#runes\"},{\"include\":\"#storage_types\"},{\"include\":\"#raw_string_literals\"},{\"include\":\"#string_literals\"},{\"include\":\"#numeric_literals\"},{\"include\":\"#terminators\"}]},\"type_assertion_inline\":{\"captures\":{\"1\":{\"name\":\"keyword.type.go\"},\"2\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"match\":\"\\\\(\",\"name\":\"punctuation.definition.begin.bracket.round.go\"},{\"match\":\"\\\\)\",\"name\":\"punctuation.definition.end.bracket.round.go\"},{\"match\":\"\\\\[\",\"name\":\"punctuation.definition.begin.bracket.square.go\"},{\"match\":\"]\",\"name\":\"punctuation.definition.end.bracket.square.go\"},{\"match\":\"\\\\{\",\"name\":\"punctuation.definition.begin.bracket.curly.go\"},{\"match\":\"}\",\"name\":\"punctuation.definition.end.bracket.curly.go\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"(?<=\\\\.\\\\()(?:\\\\b(type)\\\\b|((?:\\\\s*[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+{0,1}[]*\\\\[]+{0,1}[.\\\\w]+(?:\\\\[(?:[]*.\\\\[{}\\\\w]+(?:,\\\\s*[]*.\\\\[{}\\\\w]+)*)?])?))(?=\\\\))\"},\"var_assignment\":{\"patterns\":[{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#delimiters\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.assignment.go\"}]},\"2\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"include\":\"#generic_types\"},{\"match\":\"\\\\(\",\"name\":\"punctuation.definition.begin.bracket.round.go\"},{\"match\":\"\\\\)\",\"name\":\"punctuation.definition.end.bracket.round.go\"},{\"match\":\"\\\\[\",\"name\":\"punctuation.definition.begin.bracket.square.go\"},{\"match\":\"]\",\"name\":\"punctuation.definition.end.bracket.square.go\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"(?<=\\\\bvar\\\\b)\\\\s*\\\\b([.\\\\w]+(?:,\\\\s*[.\\\\w]+)*)\\\\s*((?:(?:[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+(?:\\\\([^)]+\\\\))?)?(?![]*\\\\[]+{0,1}\\\\b(?:struct|func|map)\\\\b)(?:[]*.\\\\[\\\\w]+(?:,\\\\s*[]*.\\\\[\\\\w]+)*)?\\\\s*=?)?\"},{\"begin\":\"(?<=\\\\bvar\\\\b)\\\\s*(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.begin.bracket.round.go\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.round.go\"}},\"patterns\":[{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#delimiters\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.assignment.go\"}]},\"2\":{\"patterns\":[{\"include\":\"#type-declarations-without-brackets\"},{\"include\":\"#generic_types\"},{\"match\":\"\\\\(\",\"name\":\"punctuation.definition.begin.bracket.round.go\"},{\"match\":\"\\\\)\",\"name\":\"punctuation.definition.end.bracket.round.go\"},{\"match\":\"\\\\[\",\"name\":\"punctuation.definition.begin.bracket.square.go\"},{\"match\":\"]\",\"name\":\"punctuation.definition.end.bracket.square.go\"},{\"match\":\"\\\\w+\",\"name\":\"entity.name.type.go\"}]}},\"match\":\"^\\\\s*\\\\b([.\\\\w]+(?:,\\\\s*[.\\\\w]+)*)\\\\s*((?:(?:[]*\\\\[]+{0,1}(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+(?:\\\\([^)]+\\\\))?)?(?![]*\\\\[]+{0,1}\\\\b(?:struct|func|map)\\\\b)(?:[]*.\\\\[\\\\w]+(?:,\\\\s*[]*.\\\\[\\\\w]+)*)?\\\\s*=?)?\"},{\"include\":\"$self\"}]}]},\"variable_assignment\":{\"patterns\":[{\"captures\":{\"0\":{\"patterns\":[{\"include\":\"#delimiters\"},{\"match\":\"\\\\d\\\\w*\",\"name\":\"invalid.illegal.identifier.go\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.assignment.go\"}]}},\"match\":\"\\\\b\\\\w+(?:,\\\\s*\\\\w+)*(?=\\\\s*:=)\"},{\"captures\":{\"0\":{\"patterns\":[{\"include\":\"#delimiters\"},{\"include\":\"#operators\"},{\"match\":\"\\\\d\\\\w*\",\"name\":\"invalid.illegal.identifier.go\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.assignment.go\"}]}},\"match\":\"\\\\b[*.\\\\w]+(?:,\\\\s*[*.\\\\w]+)*(?=\\\\s*=(?!=))\"}]}},\"scopeName\":\"source.go\"}"))
2
2
 
3
3
  export default [
4
4
  lang