@aquera/nile-elements 0.0.121 → 0.0.122

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 (510) hide show
  1. package/README.md +5 -0
  2. package/dist/abap-511af2a5.cjs.js +2 -0
  3. package/dist/abap-511af2a5.cjs.js.map +1 -0
  4. package/dist/abap-f2ab40d0.esm.js +1 -0
  5. package/dist/{angular-ts-32bbcd01.cjs.js → angular-ts-a70761c6.cjs.js} +2 -2
  6. package/dist/{angular-ts-32bbcd01.cjs.js.map → angular-ts-a70761c6.cjs.js.map} +1 -1
  7. package/dist/cairo-014ad724.cjs.js +2 -0
  8. package/dist/cairo-014ad724.cjs.js.map +1 -0
  9. package/dist/cairo-9be40999.esm.js +1 -0
  10. package/dist/catppuccin-frappe-52a52bb1.cjs.js +2 -0
  11. package/dist/catppuccin-frappe-52a52bb1.cjs.js.map +1 -0
  12. package/dist/catppuccin-frappe-dbc3161e.esm.js +1 -0
  13. package/dist/catppuccin-latte-d8a0f6a8.cjs.js +2 -0
  14. package/dist/catppuccin-latte-d8a0f6a8.cjs.js.map +1 -0
  15. package/dist/catppuccin-latte-e7591143.esm.js +1 -0
  16. package/dist/catppuccin-macchiato-19a7795e.cjs.js +2 -0
  17. package/dist/catppuccin-macchiato-19a7795e.cjs.js.map +1 -0
  18. package/dist/catppuccin-macchiato-283b424a.esm.js +1 -0
  19. package/dist/catppuccin-mocha-165e830c.esm.js +1 -0
  20. package/dist/catppuccin-mocha-9f9ec5f6.cjs.js +2 -0
  21. package/dist/catppuccin-mocha-9f9ec5f6.cjs.js.map +1 -0
  22. package/dist/cobol-8517cfc1.esm.js +1 -0
  23. package/dist/cobol-922d57ed.cjs.js +2 -0
  24. package/dist/cobol-922d57ed.cjs.js.map +1 -0
  25. package/dist/{cpp-c2442fe2.cjs.js → cpp-8812199e.cjs.js} +2 -2
  26. package/dist/{cpp-c2442fe2.cjs.js.map → cpp-8812199e.cjs.js.map} +1 -1
  27. package/dist/{crystal-1913e34d.cjs.js → crystal-5458e62a.cjs.js} +2 -2
  28. package/dist/{crystal-1913e34d.cjs.js.map → crystal-5458e62a.cjs.js.map} +1 -1
  29. package/dist/{edge-ef9e682b.cjs.js → edge-cb04b11b.cjs.js} +2 -2
  30. package/dist/{edge-ef9e682b.cjs.js.map → edge-cb04b11b.cjs.js.map} +1 -1
  31. package/dist/{elm-7fd07d47.cjs.js → elm-53a0b5b4.cjs.js} +2 -2
  32. package/dist/{elm-7fd07d47.cjs.js.map → elm-53a0b5b4.cjs.js.map} +1 -1
  33. package/dist/{erb-c813c1f2.cjs.js → erb-1bc4721c.cjs.js} +2 -2
  34. package/dist/{erb-c813c1f2.cjs.js.map → erb-1bc4721c.cjs.js.map} +1 -1
  35. package/dist/{fortran-fixed-form-c39bf051.cjs.js → fortran-fixed-form-00a9d08f.cjs.js} +2 -2
  36. package/dist/{fortran-fixed-form-c39bf051.cjs.js.map → fortran-fixed-form-00a9d08f.cjs.js.map} +1 -1
  37. package/dist/{fsharp-ba007c9c.cjs.js → fsharp-661f4f18.cjs.js} +2 -2
  38. package/dist/{fsharp-ba007c9c.cjs.js.map → fsharp-661f4f18.cjs.js.map} +1 -1
  39. package/dist/{gdresource-f3068367.cjs.js → gdresource-8fb6a6ad.cjs.js} +2 -2
  40. package/dist/{gdresource-f3068367.cjs.js.map → gdresource-8fb6a6ad.cjs.js.map} +1 -1
  41. package/dist/{git-commit-372b638c.cjs.js → git-commit-9373b48b.cjs.js} +2 -2
  42. package/dist/{git-commit-372b638c.cjs.js.map → git-commit-9373b48b.cjs.js.map} +1 -1
  43. package/dist/{git-rebase-2cc6f2a3.cjs.js → git-rebase-c3fa2bb9.cjs.js} +2 -2
  44. package/dist/{git-rebase-2cc6f2a3.cjs.js.map → git-rebase-c3fa2bb9.cjs.js.map} +1 -1
  45. package/dist/go-85139440.esm.js +1 -0
  46. package/dist/go-d5ed1b82.cjs.js +2 -0
  47. package/dist/go-d5ed1b82.cjs.js.map +1 -0
  48. package/dist/{graphql-74f146e1.cjs.js → graphql-1541cb3c.cjs.js} +2 -2
  49. package/dist/{graphql-74f146e1.cjs.js.map → graphql-1541cb3c.cjs.js.map} +1 -1
  50. package/dist/{handlebars-864fcb12.cjs.js → handlebars-39ab86cd.cjs.js} +2 -2
  51. package/dist/{handlebars-864fcb12.cjs.js.map → handlebars-39ab86cd.cjs.js.map} +1 -1
  52. package/dist/{http-08501497.cjs.js → http-1cf9a3de.cjs.js} +2 -2
  53. package/dist/{http-08501497.cjs.js.map → http-1cf9a3de.cjs.js.map} +1 -1
  54. package/dist/{hxml-bbac80e4.cjs.js → hxml-6d54d760.cjs.js} +2 -2
  55. package/dist/{hxml-bbac80e4.cjs.js.map → hxml-6d54d760.cjs.js.map} +1 -1
  56. package/dist/hy-33aa9c6f.cjs.js +2 -0
  57. package/dist/hy-33aa9c6f.cjs.js.map +1 -0
  58. package/dist/hy-a7a6e9c3.esm.js +1 -0
  59. package/dist/{julia-689ac552.cjs.js → julia-0152d8b9.cjs.js} +2 -2
  60. package/dist/{julia-689ac552.cjs.js.map → julia-0152d8b9.cjs.js.map} +1 -1
  61. package/dist/{latex-4d76e817.cjs.js → latex-33ebd2ce.cjs.js} +2 -2
  62. package/dist/{latex-4d76e817.cjs.js.map → latex-33ebd2ce.cjs.js.map} +1 -1
  63. package/dist/luau-19444703.cjs.js +2 -0
  64. package/dist/luau-19444703.cjs.js.map +1 -0
  65. package/dist/luau-b564b070.esm.js +1 -0
  66. package/dist/{marko-2880d4ee.cjs.js → marko-23ca6223.cjs.js} +2 -2
  67. package/dist/{marko-2880d4ee.cjs.js.map → marko-23ca6223.cjs.js.map} +1 -1
  68. package/dist/mdc-05d87356.esm.js +1 -0
  69. package/dist/mdc-56aefda2.cjs.js +2 -0
  70. package/dist/mdc-56aefda2.cjs.js.map +1 -0
  71. package/dist/{mdx-a859ee84.cjs.js → mdx-01dab0d1.cjs.js} +2 -2
  72. package/dist/{mdx-a859ee84.cjs.js.map → mdx-01dab0d1.cjs.js.map} +1 -1
  73. package/dist/{mdx-bf2a8fe9.esm.js → mdx-0782bcd8.esm.js} +1 -1
  74. package/dist/nextflow-11e4899f.esm.js +1 -0
  75. package/dist/nextflow-2a4bf0cc.cjs.js +2 -0
  76. package/dist/nextflow-2a4bf0cc.cjs.js.map +1 -0
  77. package/dist/{nginx-7bc0fc82.cjs.js → nginx-1aabec59.cjs.js} +2 -2
  78. package/dist/{nginx-7bc0fc82.cjs.js.map → nginx-1aabec59.cjs.js.map} +1 -1
  79. package/dist/nile-accordion/nile-accordion.cjs.js +1 -1
  80. package/dist/nile-accordion/nile-accordion.cjs.js.map +1 -1
  81. package/dist/nile-accordion/nile-accordion.esm.js +1 -1
  82. package/dist/nile-auto-complete/nile-auto-complete.cjs.js +1 -1
  83. package/dist/nile-auto-complete/nile-auto-complete.cjs.js.map +1 -1
  84. package/dist/nile-auto-complete/nile-auto-complete.esm.js +6 -15
  85. package/dist/nile-avatar/nile-avatar.cjs.js +1 -1
  86. package/dist/nile-avatar/nile-avatar.cjs.js.map +1 -1
  87. package/dist/nile-avatar/nile-avatar.esm.js +1 -1
  88. package/dist/nile-badge/nile-badge.cjs.js +1 -1
  89. package/dist/nile-badge/nile-badge.cjs.js.map +1 -1
  90. package/dist/nile-badge/nile-badge.esm.js +1 -1
  91. package/dist/nile-breadcrumb/nile-breadcrumb.cjs.js +1 -1
  92. package/dist/nile-breadcrumb/nile-breadcrumb.cjs.js.map +1 -1
  93. package/dist/nile-breadcrumb/nile-breadcrumb.esm.js +1 -1
  94. package/dist/nile-breadcrumb-item/nile-breadcrumb-item.cjs.js +1 -1
  95. package/dist/nile-breadcrumb-item/nile-breadcrumb-item.cjs.js.map +1 -1
  96. package/dist/nile-breadcrumb-item/nile-breadcrumb-item.esm.js +2 -2
  97. package/dist/nile-button/nile-button.cjs.js +1 -1
  98. package/dist/nile-button/nile-button.cjs.js.map +1 -1
  99. package/dist/nile-button/nile-button.esm.js +1 -1
  100. package/dist/nile-button-toggle/nile-button-toggle.cjs.js +1 -1
  101. package/dist/nile-button-toggle/nile-button-toggle.cjs.js.map +1 -1
  102. package/dist/nile-button-toggle/nile-button-toggle.esm.js +1 -1
  103. package/dist/nile-button-toggle-group/nile-button-toggle-group.cjs.js +1 -1
  104. package/dist/nile-button-toggle-group/nile-button-toggle-group.cjs.js.map +1 -1
  105. package/dist/nile-button-toggle-group/nile-button-toggle-group.esm.js +1 -1
  106. package/dist/nile-calendar/nile-calendar.cjs.js +1 -1
  107. package/dist/nile-calendar/nile-calendar.cjs.js.map +1 -1
  108. package/dist/nile-calendar/nile-calendar.esm.js +3 -3
  109. package/dist/nile-calendar/nile-calendar.test.cjs.js +1 -1
  110. package/dist/nile-calendar/nile-calendar.test.cjs.js.map +1 -1
  111. package/dist/nile-calendar/nile-calendar.test.esm.js +9 -5
  112. package/dist/nile-card/nile-card.cjs.js +1 -1
  113. package/dist/nile-card/nile-card.cjs.js.map +1 -1
  114. package/dist/nile-card/nile-card.esm.js +1 -1
  115. package/dist/nile-checkbox/nile-checkbox.cjs.js +1 -1
  116. package/dist/nile-checkbox/nile-checkbox.cjs.js.map +1 -1
  117. package/dist/nile-checkbox/nile-checkbox.esm.js +1 -1
  118. package/dist/nile-chip/nile-chip.cjs.js +1 -1
  119. package/dist/nile-chip/nile-chip.cjs.js.map +1 -1
  120. package/dist/nile-chip/nile-chip.esm.js +2 -6
  121. package/dist/nile-code-editor/nile-code-editor.cjs.js +1 -1
  122. package/dist/nile-code-editor/nile-code-editor.cjs.js.map +1 -1
  123. package/dist/nile-code-editor/nile-code-editor.esm.js +1 -1
  124. package/dist/nile-content-editor/nile-content-editor.cjs.js +1 -1
  125. package/dist/nile-content-editor/nile-content-editor.cjs.js.map +1 -1
  126. package/dist/nile-content-editor/nile-content-editor.esm.js +5 -5
  127. package/dist/nile-date-picker/nile-date-picker.cjs.js +1 -1
  128. package/dist/nile-date-picker/nile-date-picker.cjs.js.map +1 -1
  129. package/dist/nile-date-picker/nile-date-picker.esm.js +8 -15
  130. package/dist/nile-dialog/nile-dialog.cjs.js +1 -1
  131. package/dist/nile-dialog/nile-dialog.cjs.js.map +1 -1
  132. package/dist/nile-dialog/nile-dialog.esm.js +1 -1
  133. package/dist/nile-drawer/nile-drawer.cjs.js +1 -1
  134. package/dist/nile-drawer/nile-drawer.cjs.js.map +1 -1
  135. package/dist/nile-drawer/nile-drawer.esm.js +1 -1
  136. package/dist/nile-empty-state/nile-empty-state.cjs.js +1 -1
  137. package/dist/nile-empty-state/nile-empty-state.cjs.js.map +1 -1
  138. package/dist/nile-empty-state/nile-empty-state.esm.js +1 -1
  139. package/dist/nile-form-help-text/nile-form-help-text.cjs.js +1 -1
  140. package/dist/nile-form-help-text/nile-form-help-text.cjs.js.map +1 -1
  141. package/dist/nile-form-help-text/nile-form-help-text.esm.js +5 -4
  142. package/dist/nile-form-help-text/nile-form-help-text.test.cjs.js +2 -0
  143. package/dist/nile-form-help-text/nile-form-help-text.test.cjs.js.map +1 -0
  144. package/dist/nile-form-help-text/nile-form-help-text.test.esm.js +1 -0
  145. package/dist/nile-highlighter/nile-highlighter.cjs.js +1 -1
  146. package/dist/nile-highlighter/nile-highlighter.cjs.js.map +1 -1
  147. package/dist/nile-highlighter/nile-highlighter.esm.js +1 -1
  148. package/dist/nile-icon-button/nile-icon-button.cjs.js +1 -1
  149. package/dist/nile-icon-button/nile-icon-button.cjs.js.map +1 -1
  150. package/dist/nile-icon-button/nile-icon-button.esm.js +1 -1
  151. package/dist/nile-input/nile-input.cjs.js +1 -1
  152. package/dist/nile-input/nile-input.cjs.js.map +1 -1
  153. package/dist/nile-input/nile-input.esm.js +1 -1
  154. package/dist/nile-link/nile-link.cjs.js +1 -1
  155. package/dist/nile-link/nile-link.cjs.js.map +1 -1
  156. package/dist/nile-link/nile-link.esm.js +1 -1
  157. package/dist/nile-list/nile-list.cjs.js +1 -1
  158. package/dist/nile-list/nile-list.cjs.js.map +1 -1
  159. package/dist/nile-list/nile-list.esm.js +1 -1
  160. package/dist/nile-list-item/nile-list-item.cjs.js +1 -1
  161. package/dist/nile-list-item/nile-list-item.cjs.js.map +1 -1
  162. package/dist/nile-list-item/nile-list-item.esm.js +1 -1
  163. package/dist/nile-loader/nile-loader.test.cjs.js +1 -1
  164. package/dist/nile-loader/nile-loader.test.cjs.js.map +1 -1
  165. package/dist/nile-loader/nile-loader.test.esm.js +1 -1
  166. package/dist/nile-menu/nile-menu.cjs.js +1 -1
  167. package/dist/nile-menu/nile-menu.cjs.js.map +1 -1
  168. package/dist/nile-menu/nile-menu.esm.js +2 -5
  169. package/dist/nile-menu-item/nile-menu-item.cjs.js +1 -1
  170. package/dist/nile-menu-item/nile-menu-item.cjs.js.map +1 -1
  171. package/dist/nile-menu-item/nile-menu-item.esm.js +1 -1
  172. package/dist/nile-option/nile-option.cjs.js +1 -1
  173. package/dist/nile-option/nile-option.cjs.js.map +1 -1
  174. package/dist/nile-option/nile-option.esm.js +1 -1
  175. package/dist/nile-popover/nile-popover.cjs.js +1 -1
  176. package/dist/nile-popover/nile-popover.cjs.js.map +1 -1
  177. package/dist/nile-popover/nile-popover.esm.js +4 -4
  178. package/dist/nile-popup/nile-popup.cjs.js +1 -1
  179. package/dist/nile-popup/nile-popup.cjs.js.map +1 -1
  180. package/dist/nile-popup/nile-popup.esm.js +1 -1
  181. package/dist/nile-radio-group/nile-radio-group.cjs.js +1 -1
  182. package/dist/nile-radio-group/nile-radio-group.cjs.js.map +1 -1
  183. package/dist/nile-radio-group/nile-radio-group.esm.js +1 -1
  184. package/dist/nile-select/nile-select.cjs.js +1 -1
  185. package/dist/nile-select/nile-select.cjs.js.map +1 -1
  186. package/dist/nile-select/nile-select.esm.js +4 -6
  187. package/dist/nile-slide-toggle/nile-slide-toggle.cjs.js +1 -1
  188. package/dist/nile-slide-toggle/nile-slide-toggle.cjs.js.map +1 -1
  189. package/dist/nile-slide-toggle/nile-slide-toggle.esm.js +1 -1
  190. package/dist/nile-split-panel/nile-split-panel.cjs.js +1 -1
  191. package/dist/nile-split-panel/nile-split-panel.cjs.js.map +1 -1
  192. package/dist/nile-split-panel/nile-split-panel.esm.js +1 -1
  193. package/dist/nile-stepper/nile-stepper.cjs.js +1 -1
  194. package/dist/nile-stepper/nile-stepper.cjs.js.map +1 -1
  195. package/dist/nile-stepper/nile-stepper.esm.js +1 -1
  196. package/dist/nile-tab/nile-tab.cjs.js +1 -1
  197. package/dist/nile-tab/nile-tab.cjs.js.map +1 -1
  198. package/dist/nile-tab/nile-tab.esm.js +1 -1
  199. package/dist/nile-tab-group/nile-tab-group.cjs.js +1 -1
  200. package/dist/nile-tab-group/nile-tab-group.cjs.js.map +1 -1
  201. package/dist/nile-tab-group/nile-tab-group.esm.js +4 -4
  202. package/dist/nile-tab-group/nile-tab-group.test.cjs.js +1 -1
  203. package/dist/nile-tab-group/nile-tab-group.test.cjs.js.map +1 -1
  204. package/dist/nile-tab-group/nile-tab-group.test.esm.js +13 -5
  205. package/dist/nile-table-body/nile-table-body.cjs.js +1 -1
  206. package/dist/nile-table-body/nile-table-body.cjs.js.map +1 -1
  207. package/dist/nile-table-body/nile-table-body.esm.js +1 -1
  208. package/dist/nile-tag/nile-tag.cjs.js +1 -1
  209. package/dist/nile-tag/nile-tag.cjs.js.map +1 -1
  210. package/dist/nile-tag/nile-tag.esm.js +1 -1
  211. package/dist/nile-textarea/nile-textarea.cjs.js +1 -1
  212. package/dist/nile-textarea/nile-textarea.cjs.js.map +1 -1
  213. package/dist/nile-textarea/nile-textarea.esm.js +1 -1
  214. package/dist/nile-toast/nile-toast.cjs.js +1 -1
  215. package/dist/nile-toast/nile-toast.cjs.js.map +1 -1
  216. package/dist/nile-toast/nile-toast.esm.js +1 -1
  217. package/dist/nile-tooltip/nile-tooltip.cjs.js +1 -1
  218. package/dist/nile-tooltip/nile-tooltip.cjs.js.map +1 -1
  219. package/dist/nile-tooltip/nile-tooltip.esm.js +1 -1
  220. package/dist/nile-tree/nile-tree.cjs.js +1 -1
  221. package/dist/nile-tree/nile-tree.cjs.js.map +1 -1
  222. package/dist/nile-tree/nile-tree.esm.js +1 -1
  223. package/dist/{nim-1cf0460c.cjs.js → nim-55b3acf7.cjs.js} +2 -2
  224. package/dist/{nim-1cf0460c.cjs.js.map → nim-55b3acf7.cjs.js.map} +1 -1
  225. package/dist/one-dark-pro-3bcc58f7.cjs.js +2 -0
  226. package/dist/one-dark-pro-3bcc58f7.cjs.js.map +1 -0
  227. package/dist/one-dark-pro-4fce25f8.esm.js +1 -0
  228. package/dist/{razor-0acc551a.cjs.js → razor-57f13c4a.cjs.js} +2 -2
  229. package/dist/{razor-0acc551a.cjs.js.map → razor-57f13c4a.cjs.js.map} +1 -1
  230. package/dist/{rst-6b792481.cjs.js → rst-4226018b.cjs.js} +2 -2
  231. package/dist/{rst-6b792481.cjs.js.map → rst-4226018b.cjs.js.map} +1 -1
  232. package/dist/{ruby-578b1ee6.cjs.js → ruby-4306ddd1.cjs.js} +2 -2
  233. package/dist/{ruby-578b1ee6.cjs.js.map → ruby-4306ddd1.cjs.js.map} +1 -1
  234. package/dist/{shaderlab-606f022b.cjs.js → shaderlab-2234cd06.cjs.js} +2 -2
  235. package/dist/{shaderlab-606f022b.cjs.js.map → shaderlab-2234cd06.cjs.js.map} +1 -1
  236. package/dist/{shellsession-cb0df007.cjs.js → shellsession-cd95727e.cjs.js} +2 -2
  237. package/dist/{shellsession-cb0df007.cjs.js.map → shellsession-cd95727e.cjs.js.map} +1 -1
  238. package/dist/{sparql-589e0308.cjs.js → sparql-197a828d.cjs.js} +2 -2
  239. package/dist/{sparql-589e0308.cjs.js.map → sparql-197a828d.cjs.js.map} +1 -1
  240. package/dist/src/nile-accordion/nile-accordion.d.ts +0 -1
  241. package/dist/src/nile-accordion/nile-accordion.js +0 -1
  242. package/dist/src/nile-accordion/nile-accordion.js.map +1 -1
  243. package/dist/src/nile-auto-complete/nile-auto-complete.d.ts +0 -1
  244. package/dist/src/nile-auto-complete/nile-auto-complete.js +2 -12
  245. package/dist/src/nile-auto-complete/nile-auto-complete.js.map +1 -1
  246. package/dist/src/nile-avatar/nile-avatar.d.ts +0 -1
  247. package/dist/src/nile-avatar/nile-avatar.js +0 -1
  248. package/dist/src/nile-avatar/nile-avatar.js.map +1 -1
  249. package/dist/src/nile-badge/nile-badge.d.ts +0 -1
  250. package/dist/src/nile-badge/nile-badge.js +0 -1
  251. package/dist/src/nile-badge/nile-badge.js.map +1 -1
  252. package/dist/src/nile-breadcrumb/nile-breadcrumb.d.ts +0 -1
  253. package/dist/src/nile-breadcrumb/nile-breadcrumb.js +0 -5
  254. package/dist/src/nile-breadcrumb/nile-breadcrumb.js.map +1 -1
  255. package/dist/src/nile-breadcrumb-item/nile-breadcrumb-item.d.ts +0 -1
  256. package/dist/src/nile-breadcrumb-item/nile-breadcrumb-item.js +0 -1
  257. package/dist/src/nile-breadcrumb-item/nile-breadcrumb-item.js.map +1 -1
  258. package/dist/src/nile-button/nile-button.d.ts +0 -1
  259. package/dist/src/nile-button/nile-button.js +0 -1
  260. package/dist/src/nile-button/nile-button.js.map +1 -1
  261. package/dist/src/nile-button-toggle/nile-button-toggle.d.ts +0 -1
  262. package/dist/src/nile-button-toggle/nile-button-toggle.js +0 -1
  263. package/dist/src/nile-button-toggle/nile-button-toggle.js.map +1 -1
  264. package/dist/src/nile-button-toggle-group/nile-button-toggle-group.d.ts +0 -1
  265. package/dist/src/nile-button-toggle-group/nile-button-toggle-group.js +0 -1
  266. package/dist/src/nile-button-toggle-group/nile-button-toggle-group.js.map +1 -1
  267. package/dist/src/nile-calendar/nile-calendar.d.ts +1 -9
  268. package/dist/src/nile-calendar/nile-calendar.js +1 -55
  269. package/dist/src/nile-calendar/nile-calendar.js.map +1 -1
  270. package/dist/src/nile-calendar/nile-calendar.test.js +50 -5
  271. package/dist/src/nile-calendar/nile-calendar.test.js.map +1 -1
  272. package/dist/src/nile-card/nile-card.d.ts +0 -1
  273. package/dist/src/nile-card/nile-card.js +0 -1
  274. package/dist/src/nile-card/nile-card.js.map +1 -1
  275. package/dist/src/nile-checkbox/nile-checkbox.d.ts +0 -1
  276. package/dist/src/nile-checkbox/nile-checkbox.js +0 -1
  277. package/dist/src/nile-checkbox/nile-checkbox.js.map +1 -1
  278. package/dist/src/nile-chip/nile-chip.d.ts +0 -1
  279. package/dist/src/nile-chip/nile-chip.js +0 -5
  280. package/dist/src/nile-chip/nile-chip.js.map +1 -1
  281. package/dist/src/nile-code-editor/nile-code-editor.d.ts +0 -1
  282. package/dist/src/nile-code-editor/nile-code-editor.js +0 -1
  283. package/dist/src/nile-code-editor/nile-code-editor.js.map +1 -1
  284. package/dist/src/nile-content-editor/nile-content-editor.d.ts +0 -1
  285. package/dist/src/nile-content-editor/nile-content-editor.js +0 -1
  286. package/dist/src/nile-content-editor/nile-content-editor.js.map +1 -1
  287. package/dist/src/nile-date-picker/nile-date-picker.d.ts +0 -1
  288. package/dist/src/nile-date-picker/nile-date-picker.js +7 -14
  289. package/dist/src/nile-date-picker/nile-date-picker.js.map +1 -1
  290. package/dist/src/nile-dialog/nile-dialog.d.ts +0 -1
  291. package/dist/src/nile-dialog/nile-dialog.js +0 -1
  292. package/dist/src/nile-dialog/nile-dialog.js.map +1 -1
  293. package/dist/src/nile-drawer/nile-drawer.d.ts +0 -1
  294. package/dist/src/nile-drawer/nile-drawer.js +0 -1
  295. package/dist/src/nile-drawer/nile-drawer.js.map +1 -1
  296. package/dist/src/nile-empty-state/nile-empty-state.d.ts +0 -1
  297. package/dist/src/nile-empty-state/nile-empty-state.js +0 -1
  298. package/dist/src/nile-empty-state/nile-empty-state.js.map +1 -1
  299. package/dist/src/nile-form-help-text/nile-form-help-text.d.ts +2 -0
  300. package/dist/src/nile-form-help-text/nile-form-help-text.js +14 -6
  301. package/dist/src/nile-form-help-text/nile-form-help-text.js.map +1 -1
  302. package/dist/src/nile-form-help-text/nile-form-help-text.test.d.ts +1 -0
  303. package/dist/src/nile-form-help-text/nile-form-help-text.test.js +67 -0
  304. package/dist/src/nile-form-help-text/nile-form-help-text.test.js.map +1 -0
  305. package/dist/src/nile-icon-button/nile-icon-button.d.ts +0 -1
  306. package/dist/src/nile-icon-button/nile-icon-button.js +0 -1
  307. package/dist/src/nile-icon-button/nile-icon-button.js.map +1 -1
  308. package/dist/src/nile-input/nile-input.d.ts +0 -1
  309. package/dist/src/nile-input/nile-input.js +0 -1
  310. package/dist/src/nile-input/nile-input.js.map +1 -1
  311. package/dist/src/nile-link/nile-link.d.ts +0 -1
  312. package/dist/src/nile-link/nile-link.js +0 -1
  313. package/dist/src/nile-link/nile-link.js.map +1 -1
  314. package/dist/src/nile-list/nile-list.d.ts +0 -1
  315. package/dist/src/nile-list/nile-list.js +0 -5
  316. package/dist/src/nile-list/nile-list.js.map +1 -1
  317. package/dist/src/nile-list-item/nile-list-item.d.ts +0 -1
  318. package/dist/src/nile-list-item/nile-list-item.js +0 -1
  319. package/dist/src/nile-list-item/nile-list-item.js.map +1 -1
  320. package/dist/src/nile-loader/nile-loader.test.js +5 -0
  321. package/dist/src/nile-loader/nile-loader.test.js.map +1 -1
  322. package/dist/src/nile-menu/nile-menu.d.ts +0 -1
  323. package/dist/src/nile-menu/nile-menu.js +0 -4
  324. package/dist/src/nile-menu/nile-menu.js.map +1 -1
  325. package/dist/src/nile-menu-item/nile-menu-item.d.ts +0 -2
  326. package/dist/src/nile-menu-item/nile-menu-item.js +0 -2
  327. package/dist/src/nile-menu-item/nile-menu-item.js.map +1 -1
  328. package/dist/src/nile-option/nile-option.d.ts +0 -2
  329. package/dist/src/nile-option/nile-option.js +0 -2
  330. package/dist/src/nile-option/nile-option.js.map +1 -1
  331. package/dist/src/nile-popover/nile-popover.d.ts +0 -1
  332. package/dist/src/nile-popover/nile-popover.js +0 -1
  333. package/dist/src/nile-popover/nile-popover.js.map +1 -1
  334. package/dist/src/nile-popup/nile-popup.d.ts +0 -2
  335. package/dist/src/nile-popup/nile-popup.js +0 -2
  336. package/dist/src/nile-popup/nile-popup.js.map +1 -1
  337. package/dist/src/nile-radio-group/nile-radio-group.d.ts +0 -1
  338. package/dist/src/nile-radio-group/nile-radio-group.js +0 -1
  339. package/dist/src/nile-radio-group/nile-radio-group.js.map +1 -1
  340. package/dist/src/nile-select/nile-select.d.ts +0 -1
  341. package/dist/src/nile-select/nile-select.js +3 -6
  342. package/dist/src/nile-select/nile-select.js.map +1 -1
  343. package/dist/src/nile-slide-toggle/nile-slide-toggle.d.ts +0 -1
  344. package/dist/src/nile-slide-toggle/nile-slide-toggle.js +0 -1
  345. package/dist/src/nile-slide-toggle/nile-slide-toggle.js.map +1 -1
  346. package/dist/src/nile-split-panel/nile-split-panel.d.ts +0 -1
  347. package/dist/src/nile-split-panel/nile-split-panel.js +0 -1
  348. package/dist/src/nile-split-panel/nile-split-panel.js.map +1 -1
  349. package/dist/src/nile-stepper/nile-stepper.d.ts +0 -1
  350. package/dist/src/nile-stepper/nile-stepper.js +0 -1
  351. package/dist/src/nile-stepper/nile-stepper.js.map +1 -1
  352. package/dist/src/nile-tab/nile-tab.d.ts +0 -1
  353. package/dist/src/nile-tab/nile-tab.js +0 -1
  354. package/dist/src/nile-tab/nile-tab.js.map +1 -1
  355. package/dist/src/nile-tab-group/nile-tab-group.d.ts +1 -2
  356. package/dist/src/nile-tab-group/nile-tab-group.js +5 -10
  357. package/dist/src/nile-tab-group/nile-tab-group.js.map +1 -1
  358. package/dist/src/nile-tab-group/nile-tab-group.test.js +56 -22
  359. package/dist/src/nile-tab-group/nile-tab-group.test.js.map +1 -1
  360. package/dist/src/nile-table-body/nile-table-body.d.ts +0 -1
  361. package/dist/src/nile-table-body/nile-table-body.js +0 -1
  362. package/dist/src/nile-table-body/nile-table-body.js.map +1 -1
  363. package/dist/src/nile-tag/nile-tag.d.ts +0 -1
  364. package/dist/src/nile-tag/nile-tag.js +0 -1
  365. package/dist/src/nile-tag/nile-tag.js.map +1 -1
  366. package/dist/src/nile-textarea/nile-textarea.d.ts +0 -1
  367. package/dist/src/nile-textarea/nile-textarea.js +0 -1
  368. package/dist/src/nile-textarea/nile-textarea.js.map +1 -1
  369. package/dist/src/nile-toast/nile-toast.d.ts +0 -1
  370. package/dist/src/nile-toast/nile-toast.js +0 -1
  371. package/dist/src/nile-toast/nile-toast.js.map +1 -1
  372. package/dist/src/nile-tooltip/nile-tooltip.d.ts +0 -1
  373. package/dist/src/nile-tooltip/nile-tooltip.js +0 -1
  374. package/dist/src/nile-tooltip/nile-tooltip.js.map +1 -1
  375. package/dist/src/nile-tree/nile-tree.d.ts +0 -1
  376. package/dist/src/nile-tree/nile-tree.js +0 -1
  377. package/dist/src/nile-tree/nile-tree.js.map +1 -1
  378. package/dist/{svelte-2ae868b6.cjs.js → svelte-5a90df12.cjs.js} +2 -2
  379. package/dist/{svelte-2ae868b6.cjs.js.map → svelte-5a90df12.cjs.js.map} +1 -1
  380. package/dist/{svelte-ac03a3ac.esm.js → svelte-cb8564e6.esm.js} +1 -1
  381. package/dist/{system-verilog-7d2d7268.cjs.js → system-verilog-b3e652eb.cjs.js} +2 -2
  382. package/dist/{system-verilog-7d2d7268.cjs.js.map → system-verilog-b3e652eb.cjs.js.map} +1 -1
  383. package/dist/{system-verilog-2d49210f.esm.js → system-verilog-c1c6377f.esm.js} +1 -1
  384. package/dist/{templ-f2d0dadd.esm.js → templ-13492ead.esm.js} +1 -1
  385. package/dist/{templ-2a2d64b7.cjs.js → templ-4425132d.cjs.js} +2 -2
  386. package/dist/{templ-2a2d64b7.cjs.js.map → templ-4425132d.cjs.js.map} +1 -1
  387. package/dist/{tex-8addc455.cjs.js → tex-d609b400.cjs.js} +2 -2
  388. package/dist/{tex-8addc455.cjs.js.map → tex-d609b400.cjs.js.map} +1 -1
  389. package/dist/{ts-tags-e56ee3ee.cjs.js → ts-tags-ba7eb9e3.cjs.js} +2 -2
  390. package/dist/{ts-tags-e56ee3ee.cjs.js.map → ts-tags-ba7eb9e3.cjs.js.map} +1 -1
  391. package/dist/tsconfig.tsbuildinfo +1 -1
  392. package/dist/{twig-911808dc.cjs.js → twig-e9bb57f2.cjs.js} +2 -2
  393. package/dist/{twig-911808dc.cjs.js.map → twig-e9bb57f2.cjs.js.map} +1 -1
  394. package/dist/{vue-9b06428b.cjs.js → vue-16d91bfa.cjs.js} +2 -2
  395. package/dist/{vue-9b06428b.cjs.js.map → vue-16d91bfa.cjs.js.map} +1 -1
  396. package/dist/{vue-html-ca1dd5bf.cjs.js → vue-html-432cdd7f.cjs.js} +2 -2
  397. package/dist/{vue-html-ca1dd5bf.cjs.js.map → vue-html-432cdd7f.cjs.js.map} +1 -1
  398. package/dist/wikitext-2748811a.cjs.js +2 -0
  399. package/dist/wikitext-2748811a.cjs.js.map +1 -0
  400. package/dist/wikitext-c9071578.esm.js +1 -0
  401. package/package.json +2 -2
  402. package/src/nile-accordion/nile-accordion.ts +0 -1
  403. package/src/nile-auto-complete/nile-auto-complete.ts +2 -13
  404. package/src/nile-avatar/nile-avatar.ts +0 -2
  405. package/src/nile-badge/nile-badge.ts +0 -2
  406. package/src/nile-breadcrumb/nile-breadcrumb.ts +0 -2
  407. package/src/nile-breadcrumb-item/nile-breadcrumb-item.ts +0 -2
  408. package/src/nile-button/nile-button.ts +0 -2
  409. package/src/nile-button-toggle/nile-button-toggle.ts +0 -2
  410. package/src/nile-button-toggle-group/nile-button-toggle-group.ts +0 -2
  411. package/src/nile-calendar/nile-calendar.test.ts +64 -5
  412. package/src/nile-calendar/nile-calendar.ts +2 -69
  413. package/src/nile-card/nile-card.ts +0 -2
  414. package/src/nile-checkbox/nile-checkbox.ts +0 -2
  415. package/src/nile-chip/nile-chip.ts +0 -6
  416. package/src/nile-code-editor/nile-code-editor.ts +0 -2
  417. package/src/nile-content-editor/nile-content-editor.ts +0 -2
  418. package/src/nile-date-picker/nile-date-picker.ts +7 -15
  419. package/src/nile-dialog/nile-dialog.ts +0 -2
  420. package/src/nile-drawer/nile-drawer.ts +0 -2
  421. package/src/nile-empty-state/nile-empty-state.ts +0 -2
  422. package/src/nile-form-help-text/nile-form-help-text.test.ts +86 -0
  423. package/src/nile-form-help-text/nile-form-help-text.ts +17 -15
  424. package/src/nile-icon-button/nile-icon-button.ts +0 -2
  425. package/src/nile-input/nile-input.ts +0 -2
  426. package/src/nile-link/nile-link.ts +0 -2
  427. package/src/nile-list/nile-list.ts +0 -2
  428. package/src/nile-list-item/nile-list-item.ts +0 -2
  429. package/src/nile-loader/nile-loader.test.ts +6 -0
  430. package/src/nile-menu/nile-menu.ts +0 -6
  431. package/src/nile-menu-item/nile-menu-item.ts +0 -3
  432. package/src/nile-option/nile-option.ts +0 -3
  433. package/src/nile-popover/nile-popover.ts +0 -2
  434. package/src/nile-popup/nile-popup.ts +0 -3
  435. package/src/nile-radio-group/nile-radio-group.ts +0 -2
  436. package/src/nile-select/nile-select.ts +3 -7
  437. package/src/nile-slide-toggle/nile-slide-toggle.ts +0 -2
  438. package/src/nile-split-panel/nile-split-panel.ts +0 -2
  439. package/src/nile-stepper/nile-stepper.ts +0 -2
  440. package/src/nile-tab/nile-tab.ts +0 -2
  441. package/src/nile-tab-group/nile-tab-group.test.ts +71 -29
  442. package/src/nile-tab-group/nile-tab-group.ts +6 -14
  443. package/src/nile-table-body/nile-table-body.ts +0 -2
  444. package/src/nile-tag/nile-tag.ts +0 -2
  445. package/src/nile-textarea/nile-textarea.ts +0 -2
  446. package/src/nile-toast/nile-toast.ts +0 -2
  447. package/src/nile-tooltip/nile-tooltip.ts +0 -2
  448. package/src/nile-tree/nile-tree.ts +0 -2
  449. package/tsconfig.json +1 -0
  450. package/vscode-html-custom-data.json +3717 -60
  451. package/dist/abap-1e9762d1.esm.js +0 -1
  452. package/dist/abap-3b3fe406.cjs.js +0 -2
  453. package/dist/abap-3b3fe406.cjs.js.map +0 -1
  454. package/dist/catppuccin-frappe-c0734345.esm.js +0 -1
  455. package/dist/catppuccin-frappe-eb77e95d.cjs.js +0 -2
  456. package/dist/catppuccin-frappe-eb77e95d.cjs.js.map +0 -1
  457. package/dist/catppuccin-latte-471f76fc.cjs.js +0 -2
  458. package/dist/catppuccin-latte-471f76fc.cjs.js.map +0 -1
  459. package/dist/catppuccin-latte-d798493f.esm.js +0 -1
  460. package/dist/catppuccin-macchiato-7ac78e7e.cjs.js +0 -2
  461. package/dist/catppuccin-macchiato-7ac78e7e.cjs.js.map +0 -1
  462. package/dist/catppuccin-macchiato-d78b2ec2.esm.js +0 -1
  463. package/dist/catppuccin-mocha-3b00f8d6.cjs.js +0 -2
  464. package/dist/catppuccin-mocha-3b00f8d6.cjs.js.map +0 -1
  465. package/dist/catppuccin-mocha-6a189a57.esm.js +0 -1
  466. package/dist/cobol-4ed2b235.esm.js +0 -1
  467. package/dist/cobol-c428fca2.cjs.js +0 -2
  468. package/dist/cobol-c428fca2.cjs.js.map +0 -1
  469. package/dist/go-4c55ae2b.esm.js +0 -1
  470. package/dist/go-9bee484b.cjs.js +0 -2
  471. package/dist/go-9bee484b.cjs.js.map +0 -1
  472. package/dist/hy-431f15f8.cjs.js +0 -2
  473. package/dist/hy-431f15f8.cjs.js.map +0 -1
  474. package/dist/hy-5e43d6c1.esm.js +0 -1
  475. package/dist/luau-0b166b7a.cjs.js +0 -2
  476. package/dist/luau-0b166b7a.cjs.js.map +0 -1
  477. package/dist/luau-7d7eaa97.esm.js +0 -1
  478. package/dist/mdc-13285ad6.esm.js +0 -1
  479. package/dist/mdc-a3fe82c5.cjs.js +0 -2
  480. package/dist/mdc-a3fe82c5.cjs.js.map +0 -1
  481. package/dist/nextflow-35e5a63d.esm.js +0 -1
  482. package/dist/nextflow-c666e91b.cjs.js +0 -2
  483. package/dist/nextflow-c666e91b.cjs.js.map +0 -1
  484. package/dist/nile-split-panel/nile-split-panel.test.cjs.js +0 -2
  485. package/dist/nile-split-panel/nile-split-panel.test.cjs.js.map +0 -1
  486. package/dist/nile-split-panel/nile-split-panel.test.esm.js +0 -1
  487. package/dist/nile-stepper/nile-stepper.test.cjs.js +0 -2
  488. package/dist/nile-stepper/nile-stepper.test.cjs.js.map +0 -1
  489. package/dist/nile-stepper/nile-stepper.test.esm.js +0 -1
  490. package/dist/nile-tree/nile-tree.test.cjs.js +0 -2
  491. package/dist/nile-tree/nile-tree.test.cjs.js.map +0 -1
  492. package/dist/nile-tree/nile-tree.test.esm.js +0 -1
  493. package/dist/one-dark-pro-9477257e.cjs.js +0 -2
  494. package/dist/one-dark-pro-9477257e.cjs.js.map +0 -1
  495. package/dist/one-dark-pro-deb4f5e9.esm.js +0 -1
  496. package/dist/src/nile-split-panel/nile-split-panel.test.d.ts +0 -1
  497. package/dist/src/nile-split-panel/nile-split-panel.test.js +0 -4
  498. package/dist/src/nile-split-panel/nile-split-panel.test.js.map +0 -1
  499. package/dist/src/nile-stepper/nile-stepper.test.d.ts +0 -4
  500. package/dist/src/nile-stepper/nile-stepper.test.js +0 -7
  501. package/dist/src/nile-stepper/nile-stepper.test.js.map +0 -1
  502. package/dist/src/nile-tree/nile-tree.test.d.ts +0 -2
  503. package/dist/src/nile-tree/nile-tree.test.js +0 -5
  504. package/dist/src/nile-tree/nile-tree.test.js.map +0 -1
  505. package/dist/wikitext-b9a7e67b.cjs.js +0 -2
  506. package/dist/wikitext-b9a7e67b.cjs.js.map +0 -1
  507. package/dist/wikitext-c06489b3.esm.js +0 -1
  508. package/src/nile-split-panel/nile-split-panel.test.ts +0 -7
  509. package/src/nile-stepper/nile-stepper.test.ts +0 -12
  510. package/src/nile-tree/nile-tree.test.ts +0 -9
@@ -0,0 +1 @@
1
+ var e=[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"}]}},"comment":"After control variables, to not highlight as a struct/interface (before formatting with gofmt)","match":"(?:(?<=\\\\brange\\\\b|\\\\bswitch\\\\b|\\\\;|\\\\bif\\\\b|\\\\bfor\\\\b|<|>|<=|>=|==|!=|\\\\w(?:\\\\+|/|-|\\\\*|\\\\%)|\\\\w(?:\\\\+|/|-|\\\\*|\\\\%)=|\\\\|\\\\||\\\\&\\\\&)(?:\\\\s*)((?![\\\\[\\\\]]+)[0-9A-Za-z\\\\-_!\\\\.\\\\[\\\\]<>=\\\\*/+\\\\%:]+)(?:\\\\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":{"comment":"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":"(?:(\\\\bnew\\\\b)(\\\\())","beginCaptures":{"1":{"name":"entity.name.function.support.builtin.go"},"2":{"name":"punctuation.definition.begin.bracket.round.go"}},"comment":"new keyword","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":"(?:(\\\\bmake\\\\b)(?:(\\\\()((?:(?:(?:[\\\\*\\\\[\\\\]]+)?(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+(?:\\\\([^)]+\\\\))?)?(?:[\\\\[\\\\]\\\\*]+)?(?:(?!\\\\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"}]}},"comment":"make keyword","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"}]},"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":"\\\\w+","name":"entity.name.type.go"}]}},"comment":"double parentheses types","match":"(?:(?<!\\\\w)(\\\\((?:[\\\\w\\\\.\\\\[\\\\]\\\\*\\\\&]+)\\\\))(?=\\\\())"},"field_hover":{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"variable.other.property.go"}]},"2":{"patterns":[{"match":"\\\\binvalid\\\\b\\\\s+\\\\btype\\\\b","name":"invalid.field.go"},{"include":"#type-declarations-without-brackets"},{"include":"#parameter-variable-types"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"comment":"struct field property and types when hovering with the mouse","match":"(?:(?<=^\\\\bfield\\\\b)\\\\s+([\\\\w\\\\*\\\\.]+)\\\\s+([\\\\s\\\\S]+))"},"function_declaration":{"begin":"(?:^(\\\\bfunc\\\\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+)?)+)?\\\\])?))"},{"include":"$self"}]}]},"3":{"patterns":[{"match":"\\\\d\\\\w*","name":"invalid.illegal.identifier.go"},{"match":"\\\\w+","name":"entity.name.function.go"}]}},"comment":"Function declarations","end":"(?:(?<=\\\\))\\\\s*((?:(?:(?:[\\\\*\\\\[\\\\]]+)?(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+)?(?!(?:[\\\\[\\\\]\\\\*]+)?(?:\\\\bstruct\\\\b|\\\\binterface\\\\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"}]}},"comment":"single function as a type returned type(s) declaration","match":"(?:(?<=\\\\))(?:\\\\s*)((?:(?:\\\\s*(?:[\\\\*\\\\[\\\\]]+)?(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+)?[\\\\w\\\\*\\\\.\\\\[\\\\]<>\\\\-]+(?:\\\\s*)(?:\\\\/(?:\\\\/|\\\\*).*)?)$)"},{"include":"$self"}]},"function_param_types":{"comment":"function parameter variables and 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"}]}},"comment":"struct/interface type declaration","match":"((?:(?:\\\\b\\\\w+\\\\,\\\\s*)+)?\\\\b\\\\w+)\\\\s+(?=(?:(?:\\\\s*(?:[\\\\*\\\\[\\\\]]+)?(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+)?(?:[\\\\[\\\\]\\\\*]+)?\\\\b(?:struct|interface)\\\\b\\\\s*\\\\{)"},{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"variable.parameter.go"}]}},"comment":"multiple parameters one type -with multilines","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"}]}},"comment":"multiple params and types | multiple params one type | one param one type","match":"(?:((?:(?:\\\\b\\\\w+\\\\,\\\\s*)+)?\\\\b\\\\w+)(?:\\\\s+)((?:(?:\\\\s*(?:[\\\\*\\\\[\\\\]]+)?(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+)?(?:(?:(?:[\\\\w\\\\[\\\\]\\\\.\\\\*]+)?(?:(?:\\\\bfunc\\\\b\\\\((?:[^)]+)?\\\\))(?:(?:\\\\s*(?:[\\\\*\\\\[\\\\]]+)?(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+)?(?:\\\\s*))+(?:(?:(?:[\\\\w\\\\*\\\\.\\\\[\\\\]]+)|(?:\\\\((?:[^)]+)?\\\\))))?)|(?:(?:[\\\\[\\\\]\\\\*]+)?[\\\\w\\\\*\\\\.]+(?:\\\\[(?:[^\\\\]]+)\\\\])?(?:[\\\\w\\\\.\\\\*]+)?)+)))"},{"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"}]}},"comment":"other types","match":"([\\\\w\\\\.]+)"},{"include":"$self"}]},"functions":{"begin":"(?:(\\\\bfunc\\\\b)(?=\\\\())","beginCaptures":{"1":{"name":"keyword.function.go"}},"comment":"Functions","end":"(?:(?<=\\\\))(\\\\s*(?:(?:[\\\\*\\\\[\\\\]]+)?(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+)?((?:(?:\\\\s*(?:(?:[\\\\[\\\\]\\\\*]+)?[\\\\w\\\\.\\\\*]+)?(?:(?:\\\\[(?:(?:[\\\\w\\\\.\\\\*]+)?(?:\\\\[(?:[^\\\\]]+)?\\\\])?(?:\\\\,\\\\s+)?)+\\\\])|(?:\\\\((?:[^)]+)?\\\\)))?(?:[\\\\w\\\\.\\\\*]+)?)(?:\\\\s*)(?=\\\\{))|(?:\\\\s*(?:(?:(?:[\\\\[\\\\]\\\\*]+)?(?!\\\\bfunc\\\\b)(?:[\\\\w\\\\.\\\\*]+)(?:\\\\[(?:(?:[\\\\w\\\\.\\\\*]+)?(?:\\\\[(?:[^\\\\]]+)?\\\\])?(?:\\\\,\\\\s+)?)+\\\\])?(?:[\\\\w\\\\.\\\\*]+)?)|(?:\\\\((?:[^)]+)?\\\\)))))?)","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"}]}},"comment":"functions in-line with multi return types","match":"(?:(\\\\bfunc\\\\b)((?:\\\\((?:[^/]*?)\\\\))(?:\\\\s+)(?:\\\\((?:[^/]*?)\\\\)))(?:\\\\s+)(?=\\\\{))"},"generic_param_types":{"comment":"generic parameter variables and 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"}]}},"comment":"struct/interface type declaration","match":"((?:(?:\\\\b\\\\w+\\\\,\\\\s*)+)?\\\\b\\\\w+)\\\\s+(?=(?:(?:\\\\s*(?:[\\\\*\\\\[\\\\]]+)?(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+)?(?:[\\\\[\\\\]\\\\*]+)?\\\\b(?:struct|interface)\\\\b\\\\s*\\\\{)"},{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"variable.parameter.go"}]}},"comment":"multiple parameters one type -with multilines","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"}]}},"comment":"multiple params and types | multiple types one param","match":"(?:((?:(?:\\\\b\\\\w+\\\\,\\\\s*)+)?\\\\b\\\\w+)(?:\\\\s+)((?:(?:\\\\s*(?:[\\\\*\\\\[\\\\]]+)?(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+)?(?:(?:(?:[\\\\w\\\\[\\\\]\\\\.\\\\*]+)?(?:(?:\\\\bfunc\\\\b\\\\((?:[^)]+)?\\\\))(?:(?:\\\\s*(?:[\\\\*\\\\[\\\\]]+)?(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+)?(?:\\\\s*))+(?:(?:(?:[\\\\w\\\\*\\\\.]+)|(?:\\\\((?:[^)]+)?\\\\))))?)|(?:(?:(?:[\\\\w\\\\*\\\\.\\\\~]+)|(?:\\\\[(?:(?:[\\\\w\\\\.\\\\*]+)?(?:\\\\[(?:[^\\\\]]+)?\\\\])?(?:\\\\,\\\\s+)?)+\\\\]))(?:[\\\\w\\\\.\\\\*]+)?)+)))"},{"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"}]}},"comment":"other types","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"}]}},"comment":"Generic support for all types","match":"(?:([\\\\w\\\\.\\\\*]+)(\\\\[(?:[^\\\\]]+)?\\\\]))"},"group-functions":{"comment":"all statements related to functions","patterns":[{"include":"#function_declaration"},{"include":"#functions_inline"},{"include":"#functions"},{"include":"#built_in_functions"},{"include":"#support_functions"}]},"group-types":{"comment":"all statements related to 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":{"comment":"all statements related to variables","patterns":[{"include":"#var_const_assignment"},{"include":"#variable_assignment"},{"include":"#label_loop_variables"},{"include":"#slice_index_variables"},{"include":"#property_variables"},{"include":"#switch_select_case_variables"},{"include":"#other_variables"}]},"import":{"comment":"import","patterns":[{"begin":"\\\\b(import)\\\\s+","beginCaptures":{"1":{"name":"keyword.control.import.go"}},"comment":"import","end":"(?!\\\\G)","patterns":[{"include":"#imports"}]}]},"imports":{"comment":"import package(s)","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":"(\\\\binterface\\\\b)\\\\s*(\\\\{)","beginCaptures":{"1":{"name":"keyword.interface.go"},"2":{"name":"punctuation.definition.begin.bracket.curly.go"}},"comment":"interface variable types","end":"\\\\}","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.curly.go"}},"patterns":[{"include":"#interface_variables_types_field"},{"include":"$self"}]},"interface_variables_types_field":{"comment":"interface variable type fields","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"}]}},"comment":"other types","match":"([\\\\w\\\\.]+)"}]},"keywords":{"patterns":[{"comment":"Flow control keywords","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"}]}},"comment":"labeled loop variable name","match":"((?:^\\\\s*\\\\w+:\\\\s*$)|(?:^\\\\s*(?:\\\\bbreak\\\\b|\\\\bgoto\\\\b|\\\\bcontinue\\\\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"}},"comment":"Language constants","match":"\\\\b(?:(true|false)|(nil)|(iota))\\\\b"},"map_types":{"begin":"(?:(\\\\bmap\\\\b)(\\\\[))","beginCaptures":{"1":{"name":"keyword.map.go"},"2":{"name":"punctuation.definition.begin.bracket.square.go"}},"comment":"map types","end":"(?:(\\\\])((?:(?:(?:[\\\\*\\\\[\\\\]]+)?(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+)?(?!(?:[\\\\[\\\\]\\\\*]+)?\\\\b(?:func|struct|map)\\\\b)(?:[\\\\*\\\\[\\\\]]+)?(?:[\\\\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":"(\\\\btype\\\\b)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.type.go"},"2":{"name":"punctuation.definition.begin.bracket.round.go"}},"comment":"multi type declaration","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":"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])","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":"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])","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":"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])","name":"punctuation.separator.constant.numeric.go"}]},"10":{"name":"keyword.other.unit.imaginary.go"},"11":{"name":"constant.numeric.decimal.go","patterns":[{"match":"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])","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":"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])","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":"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])","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":"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])","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":"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])","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":"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])","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":"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])","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":"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])","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":"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])","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":"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])","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":"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])","name":"punctuation.separator.constant.numeric.go"}]},"53":{"name":"keyword.other.unit.imaginary.go"}},"match":"(?:(?:(?:(?:(?:\\\\G(?=[0-9.])(?!0[xXbBoO])(\\\\d(?:\\\\d|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)((?:(?<=\\\\d)\\\\.|\\\\.(?=\\\\d)))(\\\\d(?:\\\\d|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)?(?:(?<!_)([eE])(\\\\+?)(-?)((?:\\\\d(?:\\\\d|(?:(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)))?(i(?!\\\\w))?(?:\\\\n|$)|\\\\G(?=[0-9.])(?!0[xXbBoO])(\\\\d(?:\\\\d|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)(?<!_)([eE])(\\\\+?)(-?)((?:\\\\d(?:\\\\d|(?:(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*))(i(?!\\\\w))?(?:\\\\n|$))|\\\\G((?:(?<=\\\\d)\\\\.|\\\\.(?=\\\\d)))(\\\\d(?:\\\\d|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)(?:(?<!_)([eE])(\\\\+?)(-?)((?:\\\\d(?:\\\\d|(?:(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)))?(i(?!\\\\w))?(?:\\\\n|$))|(\\\\G0[xX])_?([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)((?:(?<=[0-9a-fA-F])\\\\.|\\\\.(?=[0-9a-fA-F])))([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)?(?<!_)([pP])(\\\\+?)(-?)((?:\\\\d(?:\\\\d|(?:(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*))(i(?!\\\\w))?(?:\\\\n|$))|(\\\\G0[xX])_?([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)(?<!_)([pP])(\\\\+?)(-?)((?:\\\\d(?:\\\\d|(?:(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*))(i(?!\\\\w))?(?:\\\\n|$))|(\\\\G0[xX])((?:(?<=[0-9a-fA-F])\\\\.|\\\\.(?=[0-9a-fA-F])))([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)(?<!_)([pP])(\\\\+?)(-?)((?:\\\\d(?:\\\\d|(?:(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*))(i(?!\\\\w))?(?:\\\\n|$))"},{"captures":{"1":{"name":"constant.numeric.decimal.go","patterns":[{"match":"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])","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":"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])","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":"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])","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":"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])","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[xXbBoO])(\\\\d(?:\\\\d|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)(i(?!\\\\w))?(?:\\\\n|$)|(\\\\G0[bB])_?([01](?:[01]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)(i(?!\\\\w))?(?:\\\\n|$))|(\\\\G0[oO]?)_?((?:[0-7]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))+)(i(?!\\\\w))?(?:\\\\n|$))|(\\\\G0[xX])_?([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)(i(?!\\\\w))?(?:\\\\n|$))"},{"match":"(?:(?:[0-9a-zA-Z_\\\\.])|(?<=[eEpP])[+-])+","name":"invalid.illegal.constant.numeric.go"}]}]}},"match":"(?<!\\\\w)\\\\.?\\\\d(?:(?:[0-9a-zA-Z_\\\\.])|(?<=[eEpP])[+-])*"},"operators":{"comment":"Note that the order here is very important!","patterns":[{"match":"((?:\\\\*|\\\\&)+)(?:(?!\\\\d)(?=(?:[\\\\w\\\\[\\\\]])|(?:<-)))","name":"keyword.operator.address.go"},{"match":"<-","name":"keyword.operator.channel.go"},{"match":"--","name":"keyword.operator.decrement.go"},{"match":"\\\\+\\\\+","name":"keyword.operator.increment.go"},{"match":"(==|!=|<=|>=|<(?!<)|>(?!>))","name":"keyword.operator.comparison.go"},{"match":"(&&|\\\\|\\\\||!)","name":"keyword.operator.logical.go"},{"match":"(=|\\\\+=|-=|\\\\|=|\\\\^=|\\\\*=|/=|:=|%=|<<=|>>=|&\\\\^=|&=)","name":"keyword.operator.assignment.go"},{"match":"(\\\\+|-|\\\\*|/|%)","name":"keyword.operator.arithmetic.go"},{"match":"(&(?!\\\\^)|\\\\||\\\\^|&\\\\^|<<|>>|\\\\~)","name":"keyword.operator.arithmetic.bitwise.go"},{"match":"\\\\.\\\\.\\\\.","name":"keyword.operator.ellipsis.go"}]},"other_struct_interface_expressions":{"comment":"struct and interface expression in-line (before curly bracket)","patterns":[{"comment":"after control variables must be added exactly here, do not move it! (changing may not affect tests, so be careful!)","include":"#after_control_variables"},{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"entity.name.type.go"}]},"2":{"patterns":[{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.square.go"}},"end":"\\\\]","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.square.go"}},"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"entity.name.type.go"},{"include":"$self"}]}]}},"match":"(\\\\b[\\\\w\\\\.]+)(\\\\[(?:[^\\\\]]+)?\\\\])?(?=\\\\{)(?<!\\\\bstruct\\\\b|\\\\binterface\\\\b)"}]},"other_variables":{"comment":"all other variables","match":"\\\\w+","name":"variable.other.go"},"package_name":{"patterns":[{"begin":"\\\\b(package)\\\\s+","beginCaptures":{"1":{"name":"keyword.package.go"}},"comment":"package name","end":"(?!\\\\G)","patterns":[{"match":"\\\\d\\\\w*","name":"invalid.illegal.identifier.go"},{"match":"\\\\w+","name":"entity.name.type.package.go"}]}]},"parameter-variable-types":{"comment":"function and generic parameter 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"}]}},"comment":"Property variables in struct","match":"((?:\\\\b[\\\\w\\\\.]+)(?::(?!=)))"},"raw_string_literals":{"begin":"`","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.go"}},"comment":"Raw string literals","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[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{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"}]}},"comment":"single type declaration","match":"(?:(?:^\\\\s*)(\\\\btype\\\\b)(?:\\\\s*)([\\\\w\\\\.\\\\*]+)(?:\\\\s+)(?!(?:=\\\\s*)?(?:[\\\\[\\\\]\\\\*]+)?\\\\b(?:struct|interface)\\\\b)([\\\\s\\\\S]+))"},{"begin":"(?:(?:^|\\\\s+)(\\\\btype\\\\b)(?:\\\\s*)([\\\\w\\\\.\\\\*]+)(?=\\\\[))","beginCaptures":{"1":{"name":"keyword.type.go"},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"comment":"single type declaration with generics","end":"(?:(?<=\\\\])((?:\\\\s+)(?:=\\\\s*)?(?:(?:(?:[\\\\*\\\\[\\\\]]+)?(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+)?(?:(?!(?:[\\\\[\\\\]\\\\*]+)?(?:\\\\bstruct\\\\b|\\\\binterface\\\\b|\\\\bfunc\\\\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"}]}},"comment":"slice index and capacity variables, to not scope them as property variables","match":"(?<=\\\\w\\\\[)((?:(?:\\\\b[\\\\w\\\\.\\\\*+/\\\\-\\\\%<>\\\\|\\\\&]+:)|(?::\\\\b[\\\\w\\\\.\\\\*+/\\\\-\\\\%<>\\\\|\\\\&]+))(?:\\\\b[\\\\w\\\\.\\\\*+/\\\\-\\\\%<>\\\\|\\\\&]+)?(?::\\\\b[\\\\w\\\\.\\\\*+/\\\\-\\\\%<>\\\\|\\\\&]+)?)(?=\\\\])"},"statements":{"patterns":[{"include":"#package_name"},{"include":"#import"},{"include":"#syntax_errors"},{"include":"#group-functions"},{"include":"#group-types"},{"include":"#group-variables"},{"include":"#field_hover"}]},"storage_types":{"patterns":[{"match":"\\\\bbool\\\\b","name":"storage.type.boolean.go"},{"match":"\\\\bbyte\\\\b","name":"storage.type.byte.go"},{"match":"\\\\berror\\\\b","name":"storage.type.error.go"},{"match":"\\\\b(complex(64|128)|float(32|64)|u?int(8|16|32|64)?)\\\\b","name":"storage.type.numeric.go"},{"match":"\\\\brune\\\\b","name":"storage.type.rune.go"},{"match":"\\\\bstring\\\\b","name":"storage.type.string.go"},{"match":"\\\\buintptr\\\\b","name":"storage.type.uintptr.go"},{"match":"\\\\bany\\\\b","name":"entity.name.type.any.go"}]},"string_escaped_char":{"patterns":[{"match":"\\\\\\\\([0-7]{3}|[abfnrtv\\\\\\\\\'\\"]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8})","name":"constant.character.escape.go"},{"match":"\\\\\\\\[^0-7xuUabfnrtv\\\\\'\\"]","name":"invalid.illegal.unknown-escape.go"}]},"string_literals":{"patterns":[{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.go"}},"comment":"Interpreted string literals","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\\\\x20]{,2}((\\\\d+|\\\\*)?(\\\\.?(\\\\d+|\\\\*|(\\\\[\\\\d+\\\\])\\\\*?)?(\\\\[\\\\d+\\\\])?)?))?[vT%tbcdoqxXUbeEfFgGspw]","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"}]}},"comment":"struct, interface type declarations (related to: struct_variables_types, interface_variables_types)","match":"(?:(?:^\\\\s*)(\\\\btype\\\\b)(?:\\\\s*)([\\\\w\\\\.]+))"},"struct_variable_types_fields_multi":{"comment":"struct variable and type fields with multi lines","patterns":[{"begin":"(?:((?:\\\\w+(?:\\\\,\\\\s*\\\\w+)*)(?:(?:\\\\s*(?:[\\\\*\\\\[\\\\]]+)?(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+)?(?:\\\\s+)(?:[\\\\[\\\\]\\\\*]+)?)(\\\\bstruct\\\\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"}},"comment":"struct in struct types","end":"\\\\}","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.curly.go"}},"patterns":[{"include":"#struct_variables_types_fields"},{"include":"$self"}]},{"begin":"(?:((?:\\\\w+(?:\\\\,\\\\s*\\\\w+)*)(?:(?:\\\\s*(?:[\\\\*\\\\[\\\\]]+)?(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+)?(?:\\\\s+)(?:[\\\\[\\\\]\\\\*]+)?)(\\\\binterface\\\\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"}},"comment":"interface in struct types","end":"\\\\}","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.curly.go"}},"patterns":[{"include":"#interface_variables_types_field"},{"include":"$self"}]},{"begin":"(?:((?:\\\\w+(?:\\\\,\\\\s*\\\\w+)*)(?:(?:\\\\s*(?:[\\\\*\\\\[\\\\]]+)?(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+)?(?:\\\\s+)(?:[\\\\[\\\\]\\\\*]+)?)(\\\\bfunc\\\\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"}},"comment":"function in struct types","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":"(\\\\bstruct\\\\b)\\\\s*(\\\\{)","beginCaptures":{"1":{"name":"keyword.struct.go"},"2":{"name":"punctuation.definition.begin.bracket.curly.go"}},"comment":"Struct variable type","end":"\\\\}","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.curly.go"}},"patterns":[{"include":"#struct_variables_types_fields"},{"include":"$self"}]},"struct_variables_types_fields":{"comment":"Struct variable type fields","patterns":[{"include":"#struct_variable_types_fields_multi"},{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"(?:\\\\w+)","name":"entity.name.type.go"}]}},"comment":"one line - single type","match":"(?:(?<=\\\\{)\\\\s*((?:(?:\\\\s*(?:[\\\\*\\\\[\\\\]]+)?(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+)?(?:[\\\\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"}]}},"comment":"one line - property variables and types","match":"(?:(?<=\\\\{)\\\\s*((?:(?:\\\\w+\\\\,\\\\s*)+)?(?:\\\\w+\\\\s+))((?:(?:\\\\s*(?:[\\\\*\\\\[\\\\]]+)?(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+)?(?:[\\\\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*)+)?(?:\\\\w+\\\\s+))?((?:(?:\\\\s*(?:[\\\\*\\\\[\\\\]]+)?(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+)?(?:[\\\\S]+)(?:\\\\;)?))"}]}},"comment":"one line with semicolon(;) without formatting gofmt - single type | property variables and types","match":"(?:(?<=\\\\{)((?:\\\\s*(?:(?:(?:\\\\w+\\\\,\\\\s*)+)?(?:\\\\w+\\\\s+))?(?:(?:(?:\\\\s*(?:[\\\\*\\\\[\\\\]]+)?(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+)?(?:[\\\\S]+)(?:\\\\;)?))+)\\\\s*(?=\\\\}))"},{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"(?:\\\\w+)","name":"entity.name.type.go"}]}},"comment":"one type only","match":"(?:((?:(?:\\\\s*(?:[\\\\*\\\\[\\\\]]+)?(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+)?(?:[\\\\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"}]}},"comment":"property variables and types","match":"(?:((?:(?:\\\\w+\\\\,\\\\s*)+)?(?:\\\\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"}]}},"comment":"Support Functions","match":"(?:(?:((?<=\\\\.)\\\\b\\\\w+)|(\\\\b\\\\w+))(\\\\[(?:(?:[\\\\w\\\\.\\\\*\\\\[\\\\]{}\\"\\\\\']+)(?:(?:\\\\,\\\\s*(?:[\\\\w\\\\.\\\\*\\\\[\\\\]{}]+))*))?\\\\])?(?=\\\\())"},"switch_select_case_variables":{"captures":{"1":{"name":"keyword.control.go"},"2":{"patterns":[{"include":"#type-declarations"},{"include":"#support_functions"},{"include":"#variable_assignment"},{"match":"\\\\w+","name":"variable.other.go"}]}},"comment":"variables after case control keyword in switch/select expression, to not scope them as property variables","match":"(?:(?:^\\\\s*(\\\\bcase\\\\b))(?:\\\\s+)([\\\\s\\\\S]+(?::)\\\\s*(?:/(?:/|\\\\*).*)?)$)"},"switch_types":{"begin":"(?<=\\\\bswitch\\\\b)(?:\\\\s*)(?:(\\\\w+\\\\s*:=)?\\\\s*([\\\\w\\\\.\\\\*()\\\\[\\\\]+/\\\\-\\\\%<>\\\\|\\\\&]+))(\\\\.\\\\(\\\\btype\\\\b\\\\)\\\\s*)(\\\\{)","beginCaptures":{"1":{"patterns":[{"include":"#operators"},{"match":"\\\\w+","name":"variable.other.assignment.go"}]},"2":{"patterns":[{"include":"#support_functions"},{"include":"#type-declarations"},{"match":"\\\\w+","name":"variable.other.go"}]},"3":{"patterns":[{"include":"#delimiters"},{"include":"#brackets"},{"match":"\\\\btype\\\\b","name":"keyword.type.go"}]},"4":{"name":"punctuation.definition.begin.bracket.curly.go"}},"comment":"switch type assertions, only highlights types after case keyword","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"}]}},"comment":"types after case keyword with single line","match":"(?:^\\\\s*(\\\\bcase\\\\b))(?:\\\\s+)([\\\\w\\\\.\\\\,\\\\*=<>!\\\\s]+)(:)(\\\\s*/(?:/|\\\\*)\\\\s*.*)?$"},{"begin":"\\\\bcase\\\\b","beginCaptures":{"0":{"name":"keyword.control.go"}},"comment":"types after case keyword with multi lines","end":":","endCaptures":{"0":{"name":"punctuation.other.colon.go"}},"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"entity.name.type.go"}]},{"include":"$self"}]},"syntax_errors":{"patterns":[{"captures":{"1":{"name":"invalid.illegal.slice.go"}},"comment":"Syntax error using slices","match":"\\\\[\\\\](\\\\s+)"},{"comment":"Syntax error numeric literals","match":"\\\\b0[0-7]*[89]\\\\d*\\\\b","name":"invalid.illegal.numeric.go"}]},"terminators":{"comment":"Terminators","match":";","name":"punctuation.terminator.go"},"type-declarations":{"comment":"includes all 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":{"comment":"includes all type declarations without brackets (in some cases, brackets need to be captured manually)","patterns":[{"include":"#language_constants"},{"include":"#comments"},{"include":"#map_types"},{"include":"#delimiters"},{"include":"#keywords"},{"include":"#operators"},{"include":"#runes"},{"include":"#storage_types"},{"include":"#raw_string_literals"},{"include":"#string_literals"},{"include":"#numeric_literals"},{"include":"#terminators"}]},"type_assertion_inline":{"captures":{"1":{"name":"keyword.type.go"},"2":{"patterns":[{"include":"#type-declarations"},{"match":"(?:\\\\w+)","name":"entity.name.type.go"}]}},"comment":"struct/interface types in-line (type assertion) | switch type keyword","match":"(?:(?<=\\\\.\\\\()(?:(\\\\btype\\\\b)|((?:(?:\\\\s*(?:[\\\\*\\\\[\\\\]]+)?(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+)?[\\\\w\\\\.\\\\[\\\\]\\\\*]+))(?=\\\\)))"},"var_const_assignment":{"comment":"variable assignment with var and const keyword","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"}]}},"comment":"var and const with single type assignment","match":"(?:(?<=\\\\bvar\\\\b|\\\\bconst\\\\b)(?:\\\\s*)(\\\\b[\\\\w\\\\.]+(?:\\\\,\\\\s*[\\\\w\\\\.]+)*)(?:\\\\s*)((?:(?:(?:[\\\\*\\\\[\\\\]]+)?(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+(?:\\\\([^)]+\\\\))?)?(?!(?:[\\\\[\\\\]\\\\*]+)?\\\\b(?:struct|func|map)\\\\b)(?:[\\\\w\\\\.\\\\[\\\\]\\\\*]+(?:\\\\,\\\\s*[\\\\w\\\\.\\\\[\\\\]\\\\*]+)*)?(?:\\\\s*)(?:=)?)?)"},{"begin":"(?:(?<=\\\\bvar\\\\b|\\\\bconst\\\\b)(?:\\\\s*)(\\\\())","beginCaptures":{"1":{"name":"punctuation.definition.begin.bracket.round.go"}},"comment":"var and const with multi type assignment","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*)((?:(?:(?:[\\\\*\\\\[\\\\]]+)?(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+(?:\\\\([^)]+\\\\))?)?(?!(?:[\\\\[\\\\]\\\\*]+)?\\\\b(?:struct|func|map)\\\\b)(?:[\\\\w\\\\.\\\\[\\\\]\\\\*]+(?:\\\\,\\\\s*[\\\\w\\\\.\\\\[\\\\]\\\\*]+)*)?(?:\\\\s*)(?:=)?)?)"},{"include":"$self"}]}]},"variable_assignment":{"comment":"variable assignment","patterns":[{"captures":{"0":{"patterns":[{"include":"#delimiters"},{"match":"\\\\d\\\\w*","name":"invalid.illegal.identifier.go"},{"match":"\\\\w+","name":"variable.other.assignment.go"}]}},"comment":"variable assignment with :=","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"}]}},"comment":"variable assignment with =","match":"\\\\b[\\\\w\\\\.\\\\*]+(?:\\\\,\\\\s*[\\\\w\\\\.\\\\*]+)*(?=\\\\s*=(?!=))"}]}},"scopeName":"source.go"}'))];export{e as default};
@@ -0,0 +1,2 @@
1
+ System.register([],function(_export,_context){"use strict";var e;return{setters:[],execute:function execute(){_export("default",e=[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"}]}},"comment":"After control variables, to not highlight as a struct/interface (before formatting with gofmt)","match":"(?:(?<=\\\\brange\\\\b|\\\\bswitch\\\\b|\\\\;|\\\\bif\\\\b|\\\\bfor\\\\b|<|>|<=|>=|==|!=|\\\\w(?:\\\\+|/|-|\\\\*|\\\\%)|\\\\w(?:\\\\+|/|-|\\\\*|\\\\%)=|\\\\|\\\\||\\\\&\\\\&)(?:\\\\s*)((?![\\\\[\\\\]]+)[0-9A-Za-z\\\\-_!\\\\.\\\\[\\\\]<>=\\\\*/+\\\\%:]+)(?:\\\\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":{"comment":"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":"(?:(\\\\bnew\\\\b)(\\\\())","beginCaptures":{"1":{"name":"entity.name.function.support.builtin.go"},"2":{"name":"punctuation.definition.begin.bracket.round.go"}},"comment":"new keyword","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":"(?:(\\\\bmake\\\\b)(?:(\\\\()((?:(?:(?:[\\\\*\\\\[\\\\]]+)?(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+(?:\\\\([^)]+\\\\))?)?(?:[\\\\[\\\\]\\\\*]+)?(?:(?!\\\\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"}]}},"comment":"make keyword","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"}]},"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":"\\\\w+","name":"entity.name.type.go"}]}},"comment":"double parentheses types","match":"(?:(?<!\\\\w)(\\\\((?:[\\\\w\\\\.\\\\[\\\\]\\\\*\\\\&]+)\\\\))(?=\\\\())"},"field_hover":{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"variable.other.property.go"}]},"2":{"patterns":[{"match":"\\\\binvalid\\\\b\\\\s+\\\\btype\\\\b","name":"invalid.field.go"},{"include":"#type-declarations-without-brackets"},{"include":"#parameter-variable-types"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"comment":"struct field property and types when hovering with the mouse","match":"(?:(?<=^\\\\bfield\\\\b)\\\\s+([\\\\w\\\\*\\\\.]+)\\\\s+([\\\\s\\\\S]+))"},"function_declaration":{"begin":"(?:^(\\\\bfunc\\\\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+)?)+)?\\\\])?))"},{"include":"$self"}]}]},"3":{"patterns":[{"match":"\\\\d\\\\w*","name":"invalid.illegal.identifier.go"},{"match":"\\\\w+","name":"entity.name.function.go"}]}},"comment":"Function declarations","end":"(?:(?<=\\\\))\\\\s*((?:(?:(?:[\\\\*\\\\[\\\\]]+)?(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+)?(?!(?:[\\\\[\\\\]\\\\*]+)?(?:\\\\bstruct\\\\b|\\\\binterface\\\\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"}]}},"comment":"single function as a type returned type(s) declaration","match":"(?:(?<=\\\\))(?:\\\\s*)((?:(?:\\\\s*(?:[\\\\*\\\\[\\\\]]+)?(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+)?[\\\\w\\\\*\\\\.\\\\[\\\\]<>\\\\-]+(?:\\\\s*)(?:\\\\/(?:\\\\/|\\\\*).*)?)$)"},{"include":"$self"}]},"function_param_types":{"comment":"function parameter variables and 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"}]}},"comment":"struct/interface type declaration","match":"((?:(?:\\\\b\\\\w+\\\\,\\\\s*)+)?\\\\b\\\\w+)\\\\s+(?=(?:(?:\\\\s*(?:[\\\\*\\\\[\\\\]]+)?(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+)?(?:[\\\\[\\\\]\\\\*]+)?\\\\b(?:struct|interface)\\\\b\\\\s*\\\\{)"},{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"variable.parameter.go"}]}},"comment":"multiple parameters one type -with multilines","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"}]}},"comment":"multiple params and types | multiple params one type | one param one type","match":"(?:((?:(?:\\\\b\\\\w+\\\\,\\\\s*)+)?\\\\b\\\\w+)(?:\\\\s+)((?:(?:\\\\s*(?:[\\\\*\\\\[\\\\]]+)?(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+)?(?:(?:(?:[\\\\w\\\\[\\\\]\\\\.\\\\*]+)?(?:(?:\\\\bfunc\\\\b\\\\((?:[^)]+)?\\\\))(?:(?:\\\\s*(?:[\\\\*\\\\[\\\\]]+)?(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+)?(?:\\\\s*))+(?:(?:(?:[\\\\w\\\\*\\\\.\\\\[\\\\]]+)|(?:\\\\((?:[^)]+)?\\\\))))?)|(?:(?:[\\\\[\\\\]\\\\*]+)?[\\\\w\\\\*\\\\.]+(?:\\\\[(?:[^\\\\]]+)\\\\])?(?:[\\\\w\\\\.\\\\*]+)?)+)))"},{"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"}]}},"comment":"other types","match":"([\\\\w\\\\.]+)"},{"include":"$self"}]},"functions":{"begin":"(?:(\\\\bfunc\\\\b)(?=\\\\())","beginCaptures":{"1":{"name":"keyword.function.go"}},"comment":"Functions","end":"(?:(?<=\\\\))(\\\\s*(?:(?:[\\\\*\\\\[\\\\]]+)?(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+)?((?:(?:\\\\s*(?:(?:[\\\\[\\\\]\\\\*]+)?[\\\\w\\\\.\\\\*]+)?(?:(?:\\\\[(?:(?:[\\\\w\\\\.\\\\*]+)?(?:\\\\[(?:[^\\\\]]+)?\\\\])?(?:\\\\,\\\\s+)?)+\\\\])|(?:\\\\((?:[^)]+)?\\\\)))?(?:[\\\\w\\\\.\\\\*]+)?)(?:\\\\s*)(?=\\\\{))|(?:\\\\s*(?:(?:(?:[\\\\[\\\\]\\\\*]+)?(?!\\\\bfunc\\\\b)(?:[\\\\w\\\\.\\\\*]+)(?:\\\\[(?:(?:[\\\\w\\\\.\\\\*]+)?(?:\\\\[(?:[^\\\\]]+)?\\\\])?(?:\\\\,\\\\s+)?)+\\\\])?(?:[\\\\w\\\\.\\\\*]+)?)|(?:\\\\((?:[^)]+)?\\\\)))))?)","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"}]}},"comment":"functions in-line with multi return types","match":"(?:(\\\\bfunc\\\\b)((?:\\\\((?:[^/]*?)\\\\))(?:\\\\s+)(?:\\\\((?:[^/]*?)\\\\)))(?:\\\\s+)(?=\\\\{))"},"generic_param_types":{"comment":"generic parameter variables and 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"}]}},"comment":"struct/interface type declaration","match":"((?:(?:\\\\b\\\\w+\\\\,\\\\s*)+)?\\\\b\\\\w+)\\\\s+(?=(?:(?:\\\\s*(?:[\\\\*\\\\[\\\\]]+)?(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+)?(?:[\\\\[\\\\]\\\\*]+)?\\\\b(?:struct|interface)\\\\b\\\\s*\\\\{)"},{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"variable.parameter.go"}]}},"comment":"multiple parameters one type -with multilines","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"}]}},"comment":"multiple params and types | multiple types one param","match":"(?:((?:(?:\\\\b\\\\w+\\\\,\\\\s*)+)?\\\\b\\\\w+)(?:\\\\s+)((?:(?:\\\\s*(?:[\\\\*\\\\[\\\\]]+)?(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+)?(?:(?:(?:[\\\\w\\\\[\\\\]\\\\.\\\\*]+)?(?:(?:\\\\bfunc\\\\b\\\\((?:[^)]+)?\\\\))(?:(?:\\\\s*(?:[\\\\*\\\\[\\\\]]+)?(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+)?(?:\\\\s*))+(?:(?:(?:[\\\\w\\\\*\\\\.]+)|(?:\\\\((?:[^)]+)?\\\\))))?)|(?:(?:(?:[\\\\w\\\\*\\\\.\\\\~]+)|(?:\\\\[(?:(?:[\\\\w\\\\.\\\\*]+)?(?:\\\\[(?:[^\\\\]]+)?\\\\])?(?:\\\\,\\\\s+)?)+\\\\]))(?:[\\\\w\\\\.\\\\*]+)?)+)))"},{"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"}]}},"comment":"other types","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"}]}},"comment":"Generic support for all types","match":"(?:([\\\\w\\\\.\\\\*]+)(\\\\[(?:[^\\\\]]+)?\\\\]))"},"group-functions":{"comment":"all statements related to functions","patterns":[{"include":"#function_declaration"},{"include":"#functions_inline"},{"include":"#functions"},{"include":"#built_in_functions"},{"include":"#support_functions"}]},"group-types":{"comment":"all statements related to 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":{"comment":"all statements related to variables","patterns":[{"include":"#var_const_assignment"},{"include":"#variable_assignment"},{"include":"#label_loop_variables"},{"include":"#slice_index_variables"},{"include":"#property_variables"},{"include":"#switch_select_case_variables"},{"include":"#other_variables"}]},"import":{"comment":"import","patterns":[{"begin":"\\\\b(import)\\\\s+","beginCaptures":{"1":{"name":"keyword.control.import.go"}},"comment":"import","end":"(?!\\\\G)","patterns":[{"include":"#imports"}]}]},"imports":{"comment":"import package(s)","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":"(\\\\binterface\\\\b)\\\\s*(\\\\{)","beginCaptures":{"1":{"name":"keyword.interface.go"},"2":{"name":"punctuation.definition.begin.bracket.curly.go"}},"comment":"interface variable types","end":"\\\\}","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.curly.go"}},"patterns":[{"include":"#interface_variables_types_field"},{"include":"$self"}]},"interface_variables_types_field":{"comment":"interface variable type fields","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"}]}},"comment":"other types","match":"([\\\\w\\\\.]+)"}]},"keywords":{"patterns":[{"comment":"Flow control keywords","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"}]}},"comment":"labeled loop variable name","match":"((?:^\\\\s*\\\\w+:\\\\s*$)|(?:^\\\\s*(?:\\\\bbreak\\\\b|\\\\bgoto\\\\b|\\\\bcontinue\\\\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"}},"comment":"Language constants","match":"\\\\b(?:(true|false)|(nil)|(iota))\\\\b"},"map_types":{"begin":"(?:(\\\\bmap\\\\b)(\\\\[))","beginCaptures":{"1":{"name":"keyword.map.go"},"2":{"name":"punctuation.definition.begin.bracket.square.go"}},"comment":"map types","end":"(?:(\\\\])((?:(?:(?:[\\\\*\\\\[\\\\]]+)?(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+)?(?!(?:[\\\\[\\\\]\\\\*]+)?\\\\b(?:func|struct|map)\\\\b)(?:[\\\\*\\\\[\\\\]]+)?(?:[\\\\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":"(\\\\btype\\\\b)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.type.go"},"2":{"name":"punctuation.definition.begin.bracket.round.go"}},"comment":"multi type declaration","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":"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])","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":"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])","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":"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])","name":"punctuation.separator.constant.numeric.go"}]},"10":{"name":"keyword.other.unit.imaginary.go"},"11":{"name":"constant.numeric.decimal.go","patterns":[{"match":"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])","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":"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])","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":"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])","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":"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])","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":"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])","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":"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])","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":"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])","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":"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])","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":"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])","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":"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])","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":"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])","name":"punctuation.separator.constant.numeric.go"}]},"53":{"name":"keyword.other.unit.imaginary.go"}},"match":"(?:(?:(?:(?:(?:\\\\G(?=[0-9.])(?!0[xXbBoO])(\\\\d(?:\\\\d|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)((?:(?<=\\\\d)\\\\.|\\\\.(?=\\\\d)))(\\\\d(?:\\\\d|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)?(?:(?<!_)([eE])(\\\\+?)(-?)((?:\\\\d(?:\\\\d|(?:(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)))?(i(?!\\\\w))?(?:\\\\n|$)|\\\\G(?=[0-9.])(?!0[xXbBoO])(\\\\d(?:\\\\d|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)(?<!_)([eE])(\\\\+?)(-?)((?:\\\\d(?:\\\\d|(?:(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*))(i(?!\\\\w))?(?:\\\\n|$))|\\\\G((?:(?<=\\\\d)\\\\.|\\\\.(?=\\\\d)))(\\\\d(?:\\\\d|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)(?:(?<!_)([eE])(\\\\+?)(-?)((?:\\\\d(?:\\\\d|(?:(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)))?(i(?!\\\\w))?(?:\\\\n|$))|(\\\\G0[xX])_?([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)((?:(?<=[0-9a-fA-F])\\\\.|\\\\.(?=[0-9a-fA-F])))([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)?(?<!_)([pP])(\\\\+?)(-?)((?:\\\\d(?:\\\\d|(?:(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*))(i(?!\\\\w))?(?:\\\\n|$))|(\\\\G0[xX])_?([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)(?<!_)([pP])(\\\\+?)(-?)((?:\\\\d(?:\\\\d|(?:(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*))(i(?!\\\\w))?(?:\\\\n|$))|(\\\\G0[xX])((?:(?<=[0-9a-fA-F])\\\\.|\\\\.(?=[0-9a-fA-F])))([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)(?<!_)([pP])(\\\\+?)(-?)((?:\\\\d(?:\\\\d|(?:(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*))(i(?!\\\\w))?(?:\\\\n|$))"},{"captures":{"1":{"name":"constant.numeric.decimal.go","patterns":[{"match":"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])","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":"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])","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":"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])","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":"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])","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[xXbBoO])(\\\\d(?:\\\\d|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)(i(?!\\\\w))?(?:\\\\n|$)|(\\\\G0[bB])_?([01](?:[01]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)(i(?!\\\\w))?(?:\\\\n|$))|(\\\\G0[oO]?)_?((?:[0-7]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))+)(i(?!\\\\w))?(?:\\\\n|$))|(\\\\G0[xX])_?([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)(i(?!\\\\w))?(?:\\\\n|$))"},{"match":"(?:(?:[0-9a-zA-Z_\\\\.])|(?<=[eEpP])[+-])+","name":"invalid.illegal.constant.numeric.go"}]}]}},"match":"(?<!\\\\w)\\\\.?\\\\d(?:(?:[0-9a-zA-Z_\\\\.])|(?<=[eEpP])[+-])*"},"operators":{"comment":"Note that the order here is very important!","patterns":[{"match":"((?:\\\\*|\\\\&)+)(?:(?!\\\\d)(?=(?:[\\\\w\\\\[\\\\]])|(?:<-)))","name":"keyword.operator.address.go"},{"match":"<-","name":"keyword.operator.channel.go"},{"match":"--","name":"keyword.operator.decrement.go"},{"match":"\\\\+\\\\+","name":"keyword.operator.increment.go"},{"match":"(==|!=|<=|>=|<(?!<)|>(?!>))","name":"keyword.operator.comparison.go"},{"match":"(&&|\\\\|\\\\||!)","name":"keyword.operator.logical.go"},{"match":"(=|\\\\+=|-=|\\\\|=|\\\\^=|\\\\*=|/=|:=|%=|<<=|>>=|&\\\\^=|&=)","name":"keyword.operator.assignment.go"},{"match":"(\\\\+|-|\\\\*|/|%)","name":"keyword.operator.arithmetic.go"},{"match":"(&(?!\\\\^)|\\\\||\\\\^|&\\\\^|<<|>>|\\\\~)","name":"keyword.operator.arithmetic.bitwise.go"},{"match":"\\\\.\\\\.\\\\.","name":"keyword.operator.ellipsis.go"}]},"other_struct_interface_expressions":{"comment":"struct and interface expression in-line (before curly bracket)","patterns":[{"comment":"after control variables must be added exactly here, do not move it! (changing may not affect tests, so be careful!)","include":"#after_control_variables"},{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"entity.name.type.go"}]},"2":{"patterns":[{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.square.go"}},"end":"\\\\]","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.square.go"}},"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"entity.name.type.go"},{"include":"$self"}]}]}},"match":"(\\\\b[\\\\w\\\\.]+)(\\\\[(?:[^\\\\]]+)?\\\\])?(?=\\\\{)(?<!\\\\bstruct\\\\b|\\\\binterface\\\\b)"}]},"other_variables":{"comment":"all other variables","match":"\\\\w+","name":"variable.other.go"},"package_name":{"patterns":[{"begin":"\\\\b(package)\\\\s+","beginCaptures":{"1":{"name":"keyword.package.go"}},"comment":"package name","end":"(?!\\\\G)","patterns":[{"match":"\\\\d\\\\w*","name":"invalid.illegal.identifier.go"},{"match":"\\\\w+","name":"entity.name.type.package.go"}]}]},"parameter-variable-types":{"comment":"function and generic parameter 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"}]}},"comment":"Property variables in struct","match":"((?:\\\\b[\\\\w\\\\.]+)(?::(?!=)))"},"raw_string_literals":{"begin":"`","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.go"}},"comment":"Raw string literals","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[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{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"}]}},"comment":"single type declaration","match":"(?:(?:^\\\\s*)(\\\\btype\\\\b)(?:\\\\s*)([\\\\w\\\\.\\\\*]+)(?:\\\\s+)(?!(?:=\\\\s*)?(?:[\\\\[\\\\]\\\\*]+)?\\\\b(?:struct|interface)\\\\b)([\\\\s\\\\S]+))"},{"begin":"(?:(?:^|\\\\s+)(\\\\btype\\\\b)(?:\\\\s*)([\\\\w\\\\.\\\\*]+)(?=\\\\[))","beginCaptures":{"1":{"name":"keyword.type.go"},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"match":"\\\\w+","name":"entity.name.type.go"}]}},"comment":"single type declaration with generics","end":"(?:(?<=\\\\])((?:\\\\s+)(?:=\\\\s*)?(?:(?:(?:[\\\\*\\\\[\\\\]]+)?(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+)?(?:(?!(?:[\\\\[\\\\]\\\\*]+)?(?:\\\\bstruct\\\\b|\\\\binterface\\\\b|\\\\bfunc\\\\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"}]}},"comment":"slice index and capacity variables, to not scope them as property variables","match":"(?<=\\\\w\\\\[)((?:(?:\\\\b[\\\\w\\\\.\\\\*+/\\\\-\\\\%<>\\\\|\\\\&]+:)|(?::\\\\b[\\\\w\\\\.\\\\*+/\\\\-\\\\%<>\\\\|\\\\&]+))(?:\\\\b[\\\\w\\\\.\\\\*+/\\\\-\\\\%<>\\\\|\\\\&]+)?(?::\\\\b[\\\\w\\\\.\\\\*+/\\\\-\\\\%<>\\\\|\\\\&]+)?)(?=\\\\])"},"statements":{"patterns":[{"include":"#package_name"},{"include":"#import"},{"include":"#syntax_errors"},{"include":"#group-functions"},{"include":"#group-types"},{"include":"#group-variables"},{"include":"#field_hover"}]},"storage_types":{"patterns":[{"match":"\\\\bbool\\\\b","name":"storage.type.boolean.go"},{"match":"\\\\bbyte\\\\b","name":"storage.type.byte.go"},{"match":"\\\\berror\\\\b","name":"storage.type.error.go"},{"match":"\\\\b(complex(64|128)|float(32|64)|u?int(8|16|32|64)?)\\\\b","name":"storage.type.numeric.go"},{"match":"\\\\brune\\\\b","name":"storage.type.rune.go"},{"match":"\\\\bstring\\\\b","name":"storage.type.string.go"},{"match":"\\\\buintptr\\\\b","name":"storage.type.uintptr.go"},{"match":"\\\\bany\\\\b","name":"entity.name.type.any.go"}]},"string_escaped_char":{"patterns":[{"match":"\\\\\\\\([0-7]{3}|[abfnrtv\\\\\\\\\'\\"]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8})","name":"constant.character.escape.go"},{"match":"\\\\\\\\[^0-7xuUabfnrtv\\\\\'\\"]","name":"invalid.illegal.unknown-escape.go"}]},"string_literals":{"patterns":[{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.go"}},"comment":"Interpreted string literals","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\\\\x20]{,2}((\\\\d+|\\\\*)?(\\\\.?(\\\\d+|\\\\*|(\\\\[\\\\d+\\\\])\\\\*?)?(\\\\[\\\\d+\\\\])?)?))?[vT%tbcdoqxXUbeEfFgGspw]","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"}]}},"comment":"struct, interface type declarations (related to: struct_variables_types, interface_variables_types)","match":"(?:(?:^\\\\s*)(\\\\btype\\\\b)(?:\\\\s*)([\\\\w\\\\.]+))"},"struct_variable_types_fields_multi":{"comment":"struct variable and type fields with multi lines","patterns":[{"begin":"(?:((?:\\\\w+(?:\\\\,\\\\s*\\\\w+)*)(?:(?:\\\\s*(?:[\\\\*\\\\[\\\\]]+)?(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+)?(?:\\\\s+)(?:[\\\\[\\\\]\\\\*]+)?)(\\\\bstruct\\\\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"}},"comment":"struct in struct types","end":"\\\\}","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.curly.go"}},"patterns":[{"include":"#struct_variables_types_fields"},{"include":"$self"}]},{"begin":"(?:((?:\\\\w+(?:\\\\,\\\\s*\\\\w+)*)(?:(?:\\\\s*(?:[\\\\*\\\\[\\\\]]+)?(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+)?(?:\\\\s+)(?:[\\\\[\\\\]\\\\*]+)?)(\\\\binterface\\\\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"}},"comment":"interface in struct types","end":"\\\\}","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.curly.go"}},"patterns":[{"include":"#interface_variables_types_field"},{"include":"$self"}]},{"begin":"(?:((?:\\\\w+(?:\\\\,\\\\s*\\\\w+)*)(?:(?:\\\\s*(?:[\\\\*\\\\[\\\\]]+)?(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+)?(?:\\\\s+)(?:[\\\\[\\\\]\\\\*]+)?)(\\\\bfunc\\\\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"}},"comment":"function in struct types","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":"(\\\\bstruct\\\\b)\\\\s*(\\\\{)","beginCaptures":{"1":{"name":"keyword.struct.go"},"2":{"name":"punctuation.definition.begin.bracket.curly.go"}},"comment":"Struct variable type","end":"\\\\}","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.curly.go"}},"patterns":[{"include":"#struct_variables_types_fields"},{"include":"$self"}]},"struct_variables_types_fields":{"comment":"Struct variable type fields","patterns":[{"include":"#struct_variable_types_fields_multi"},{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"(?:\\\\w+)","name":"entity.name.type.go"}]}},"comment":"one line - single type","match":"(?:(?<=\\\\{)\\\\s*((?:(?:\\\\s*(?:[\\\\*\\\\[\\\\]]+)?(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+)?(?:[\\\\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"}]}},"comment":"one line - property variables and types","match":"(?:(?<=\\\\{)\\\\s*((?:(?:\\\\w+\\\\,\\\\s*)+)?(?:\\\\w+\\\\s+))((?:(?:\\\\s*(?:[\\\\*\\\\[\\\\]]+)?(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+)?(?:[\\\\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*)+)?(?:\\\\w+\\\\s+))?((?:(?:\\\\s*(?:[\\\\*\\\\[\\\\]]+)?(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+)?(?:[\\\\S]+)(?:\\\\;)?))"}]}},"comment":"one line with semicolon(;) without formatting gofmt - single type | property variables and types","match":"(?:(?<=\\\\{)((?:\\\\s*(?:(?:(?:\\\\w+\\\\,\\\\s*)+)?(?:\\\\w+\\\\s+))?(?:(?:(?:\\\\s*(?:[\\\\*\\\\[\\\\]]+)?(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+)?(?:[\\\\S]+)(?:\\\\;)?))+)\\\\s*(?=\\\\}))"},{"captures":{"1":{"patterns":[{"include":"#type-declarations"},{"match":"(?:\\\\w+)","name":"entity.name.type.go"}]}},"comment":"one type only","match":"(?:((?:(?:\\\\s*(?:[\\\\*\\\\[\\\\]]+)?(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+)?(?:[\\\\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"}]}},"comment":"property variables and types","match":"(?:((?:(?:\\\\w+\\\\,\\\\s*)+)?(?:\\\\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"}]}},"comment":"Support Functions","match":"(?:(?:((?<=\\\\.)\\\\b\\\\w+)|(\\\\b\\\\w+))(\\\\[(?:(?:[\\\\w\\\\.\\\\*\\\\[\\\\]{}\\"\\\\\']+)(?:(?:\\\\,\\\\s*(?:[\\\\w\\\\.\\\\*\\\\[\\\\]{}]+))*))?\\\\])?(?=\\\\())"},"switch_select_case_variables":{"captures":{"1":{"name":"keyword.control.go"},"2":{"patterns":[{"include":"#type-declarations"},{"include":"#support_functions"},{"include":"#variable_assignment"},{"match":"\\\\w+","name":"variable.other.go"}]}},"comment":"variables after case control keyword in switch/select expression, to not scope them as property variables","match":"(?:(?:^\\\\s*(\\\\bcase\\\\b))(?:\\\\s+)([\\\\s\\\\S]+(?::)\\\\s*(?:/(?:/|\\\\*).*)?)$)"},"switch_types":{"begin":"(?<=\\\\bswitch\\\\b)(?:\\\\s*)(?:(\\\\w+\\\\s*:=)?\\\\s*([\\\\w\\\\.\\\\*()\\\\[\\\\]+/\\\\-\\\\%<>\\\\|\\\\&]+))(\\\\.\\\\(\\\\btype\\\\b\\\\)\\\\s*)(\\\\{)","beginCaptures":{"1":{"patterns":[{"include":"#operators"},{"match":"\\\\w+","name":"variable.other.assignment.go"}]},"2":{"patterns":[{"include":"#support_functions"},{"include":"#type-declarations"},{"match":"\\\\w+","name":"variable.other.go"}]},"3":{"patterns":[{"include":"#delimiters"},{"include":"#brackets"},{"match":"\\\\btype\\\\b","name":"keyword.type.go"}]},"4":{"name":"punctuation.definition.begin.bracket.curly.go"}},"comment":"switch type assertions, only highlights types after case keyword","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"}]}},"comment":"types after case keyword with single line","match":"(?:^\\\\s*(\\\\bcase\\\\b))(?:\\\\s+)([\\\\w\\\\.\\\\,\\\\*=<>!\\\\s]+)(:)(\\\\s*/(?:/|\\\\*)\\\\s*.*)?$"},{"begin":"\\\\bcase\\\\b","beginCaptures":{"0":{"name":"keyword.control.go"}},"comment":"types after case keyword with multi lines","end":":","endCaptures":{"0":{"name":"punctuation.other.colon.go"}},"patterns":[{"include":"#type-declarations"},{"match":"\\\\w+","name":"entity.name.type.go"}]},{"include":"$self"}]},"syntax_errors":{"patterns":[{"captures":{"1":{"name":"invalid.illegal.slice.go"}},"comment":"Syntax error using slices","match":"\\\\[\\\\](\\\\s+)"},{"comment":"Syntax error numeric literals","match":"\\\\b0[0-7]*[89]\\\\d*\\\\b","name":"invalid.illegal.numeric.go"}]},"terminators":{"comment":"Terminators","match":";","name":"punctuation.terminator.go"},"type-declarations":{"comment":"includes all 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":{"comment":"includes all type declarations without brackets (in some cases, brackets need to be captured manually)","patterns":[{"include":"#language_constants"},{"include":"#comments"},{"include":"#map_types"},{"include":"#delimiters"},{"include":"#keywords"},{"include":"#operators"},{"include":"#runes"},{"include":"#storage_types"},{"include":"#raw_string_literals"},{"include":"#string_literals"},{"include":"#numeric_literals"},{"include":"#terminators"}]},"type_assertion_inline":{"captures":{"1":{"name":"keyword.type.go"},"2":{"patterns":[{"include":"#type-declarations"},{"match":"(?:\\\\w+)","name":"entity.name.type.go"}]}},"comment":"struct/interface types in-line (type assertion) | switch type keyword","match":"(?:(?<=\\\\.\\\\()(?:(\\\\btype\\\\b)|((?:(?:\\\\s*(?:[\\\\*\\\\[\\\\]]+)?(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+)?[\\\\w\\\\.\\\\[\\\\]\\\\*]+))(?=\\\\)))"},"var_const_assignment":{"comment":"variable assignment with var and const keyword","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"}]}},"comment":"var and const with single type assignment","match":"(?:(?<=\\\\bvar\\\\b|\\\\bconst\\\\b)(?:\\\\s*)(\\\\b[\\\\w\\\\.]+(?:\\\\,\\\\s*[\\\\w\\\\.]+)*)(?:\\\\s*)((?:(?:(?:[\\\\*\\\\[\\\\]]+)?(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+(?:\\\\([^)]+\\\\))?)?(?!(?:[\\\\[\\\\]\\\\*]+)?\\\\b(?:struct|func|map)\\\\b)(?:[\\\\w\\\\.\\\\[\\\\]\\\\*]+(?:\\\\,\\\\s*[\\\\w\\\\.\\\\[\\\\]\\\\*]+)*)?(?:\\\\s*)(?:=)?)?)"},{"begin":"(?:(?<=\\\\bvar\\\\b|\\\\bconst\\\\b)(?:\\\\s*)(\\\\())","beginCaptures":{"1":{"name":"punctuation.definition.begin.bracket.round.go"}},"comment":"var and const with multi type assignment","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*)((?:(?:(?:[\\\\*\\\\[\\\\]]+)?(?:<-\\\\s*)?\\\\bchan\\\\b(?:\\\\s*<-)?\\\\s*)+(?:\\\\([^)]+\\\\))?)?(?!(?:[\\\\[\\\\]\\\\*]+)?\\\\b(?:struct|func|map)\\\\b)(?:[\\\\w\\\\.\\\\[\\\\]\\\\*]+(?:\\\\,\\\\s*[\\\\w\\\\.\\\\[\\\\]\\\\*]+)*)?(?:\\\\s*)(?:=)?)?)"},{"include":"$self"}]}]},"variable_assignment":{"comment":"variable assignment","patterns":[{"captures":{"0":{"patterns":[{"include":"#delimiters"},{"match":"\\\\d\\\\w*","name":"invalid.illegal.identifier.go"},{"match":"\\\\w+","name":"variable.other.assignment.go"}]}},"comment":"variable assignment with :=","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"}]}},"comment":"variable assignment with =","match":"\\\\b[\\\\w\\\\.\\\\*]+(?:\\\\,\\\\s*[\\\\w\\\\.\\\\*]+)*(?=\\\\s*=(?!=))"}]}},"scopeName":"source.go"}'))]);}};});
2
+ //# sourceMappingURL=go-d5ed1b82.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"go-d5ed1b82.cjs.js","sources":["../../../node_modules/shiki/dist/langs/go.mjs"],"sourcesContent":["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\\\"}]}},\\\"comment\\\":\\\"After control variables, to not highlight as a struct/interface (before formatting with gofmt)\\\",\\\"match\\\":\\\"(?:(?<=\\\\\\\\brange\\\\\\\\b|\\\\\\\\bswitch\\\\\\\\b|\\\\\\\\;|\\\\\\\\bif\\\\\\\\b|\\\\\\\\bfor\\\\\\\\b|<|>|<=|>=|==|!=|\\\\\\\\w(?:\\\\\\\\+|/|-|\\\\\\\\*|\\\\\\\\%)|\\\\\\\\w(?:\\\\\\\\+|/|-|\\\\\\\\*|\\\\\\\\%)=|\\\\\\\\|\\\\\\\\||\\\\\\\\&\\\\\\\\&)(?:\\\\\\\\s*)((?![\\\\\\\\[\\\\\\\\]]+)[0-9A-Za-z\\\\\\\\-_!\\\\\\\\.\\\\\\\\[\\\\\\\\]<>=\\\\\\\\*/+\\\\\\\\%:]+)(?:\\\\\\\\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\\\":{\\\"comment\\\":\\\"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\\\":\\\"(?:(\\\\\\\\bnew\\\\\\\\b)(\\\\\\\\())\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.support.builtin.go\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.begin.bracket.round.go\\\"}},\\\"comment\\\":\\\"new keyword\\\",\\\"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\\\":\\\"(?:(\\\\\\\\bmake\\\\\\\\b)(?:(\\\\\\\\()((?:(?:(?:[\\\\\\\\*\\\\\\\\[\\\\\\\\]]+)?(?:<-\\\\\\\\s*)?\\\\\\\\bchan\\\\\\\\b(?:\\\\\\\\s*<-)?\\\\\\\\s*)+(?:\\\\\\\\([^)]+\\\\\\\\))?)?(?:[\\\\\\\\[\\\\\\\\]\\\\\\\\*]+)?(?:(?!\\\\\\\\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\\\"}]}},\\\"comment\\\":\\\"make keyword\\\",\\\"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\\\"}]},\\\"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\\\":\\\"\\\\\\\\w+\\\",\\\"name\\\":\\\"entity.name.type.go\\\"}]}},\\\"comment\\\":\\\"double parentheses types\\\",\\\"match\\\":\\\"(?:(?<!\\\\\\\\w)(\\\\\\\\((?:[\\\\\\\\w\\\\\\\\.\\\\\\\\[\\\\\\\\]\\\\\\\\*\\\\\\\\&]+)\\\\\\\\))(?=\\\\\\\\())\\\"},\\\"field_hover\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type-declarations\\\"},{\\\"match\\\":\\\"\\\\\\\\w+\\\",\\\"name\\\":\\\"variable.other.property.go\\\"}]},\\\"2\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\binvalid\\\\\\\\b\\\\\\\\s+\\\\\\\\btype\\\\\\\\b\\\",\\\"name\\\":\\\"invalid.field.go\\\"},{\\\"include\\\":\\\"#type-declarations-without-brackets\\\"},{\\\"include\\\":\\\"#parameter-variable-types\\\"},{\\\"match\\\":\\\"\\\\\\\\w+\\\",\\\"name\\\":\\\"entity.name.type.go\\\"}]}},\\\"comment\\\":\\\"struct field property and types when hovering with the mouse\\\",\\\"match\\\":\\\"(?:(?<=^\\\\\\\\bfield\\\\\\\\b)\\\\\\\\s+([\\\\\\\\w\\\\\\\\*\\\\\\\\.]+)\\\\\\\\s+([\\\\\\\\s\\\\\\\\S]+))\\\"},\\\"function_declaration\\\":{\\\"begin\\\":\\\"(?:^(\\\\\\\\bfunc\\\\\\\\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+)?)+)?\\\\\\\\])?))\\\"},{\\\"include\\\":\\\"$self\\\"}]}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\d\\\\\\\\w*\\\",\\\"name\\\":\\\"invalid.illegal.identifier.go\\\"},{\\\"match\\\":\\\"\\\\\\\\w+\\\",\\\"name\\\":\\\"entity.name.function.go\\\"}]}},\\\"comment\\\":\\\"Function declarations\\\",\\\"end\\\":\\\"(?:(?<=\\\\\\\\))\\\\\\\\s*((?:(?:(?:[\\\\\\\\*\\\\\\\\[\\\\\\\\]]+)?(?:<-\\\\\\\\s*)?\\\\\\\\bchan\\\\\\\\b(?:\\\\\\\\s*<-)?\\\\\\\\s*)+)?(?!(?:[\\\\\\\\[\\\\\\\\]\\\\\\\\*]+)?(?:\\\\\\\\bstruct\\\\\\\\b|\\\\\\\\binterface\\\\\\\\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\\\"}]}},\\\"comment\\\":\\\"single function as a type returned type(s) declaration\\\",\\\"match\\\":\\\"(?:(?<=\\\\\\\\))(?:\\\\\\\\s*)((?:(?:\\\\\\\\s*(?:[\\\\\\\\*\\\\\\\\[\\\\\\\\]]+)?(?:<-\\\\\\\\s*)?\\\\\\\\bchan\\\\\\\\b(?:\\\\\\\\s*<-)?\\\\\\\\s*)+)?[\\\\\\\\w\\\\\\\\*\\\\\\\\.\\\\\\\\[\\\\\\\\]<>\\\\\\\\-]+(?:\\\\\\\\s*)(?:\\\\\\\\/(?:\\\\\\\\/|\\\\\\\\*).*)?)$)\\\"},{\\\"include\\\":\\\"$self\\\"}]},\\\"function_param_types\\\":{\\\"comment\\\":\\\"function parameter variables and 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\\\"}]}},\\\"comment\\\":\\\"struct/interface type declaration\\\",\\\"match\\\":\\\"((?:(?:\\\\\\\\b\\\\\\\\w+\\\\\\\\,\\\\\\\\s*)+)?\\\\\\\\b\\\\\\\\w+)\\\\\\\\s+(?=(?:(?:\\\\\\\\s*(?:[\\\\\\\\*\\\\\\\\[\\\\\\\\]]+)?(?:<-\\\\\\\\s*)?\\\\\\\\bchan\\\\\\\\b(?:\\\\\\\\s*<-)?\\\\\\\\s*)+)?(?:[\\\\\\\\[\\\\\\\\]\\\\\\\\*]+)?\\\\\\\\b(?:struct|interface)\\\\\\\\b\\\\\\\\s*\\\\\\\\{)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type-declarations\\\"},{\\\"match\\\":\\\"\\\\\\\\w+\\\",\\\"name\\\":\\\"variable.parameter.go\\\"}]}},\\\"comment\\\":\\\"multiple parameters one type -with multilines\\\",\\\"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\\\"}]}},\\\"comment\\\":\\\"multiple params and types | multiple params one type | one param one type\\\",\\\"match\\\":\\\"(?:((?:(?:\\\\\\\\b\\\\\\\\w+\\\\\\\\,\\\\\\\\s*)+)?\\\\\\\\b\\\\\\\\w+)(?:\\\\\\\\s+)((?:(?:\\\\\\\\s*(?:[\\\\\\\\*\\\\\\\\[\\\\\\\\]]+)?(?:<-\\\\\\\\s*)?\\\\\\\\bchan\\\\\\\\b(?:\\\\\\\\s*<-)?\\\\\\\\s*)+)?(?:(?:(?:[\\\\\\\\w\\\\\\\\[\\\\\\\\]\\\\\\\\.\\\\\\\\*]+)?(?:(?:\\\\\\\\bfunc\\\\\\\\b\\\\\\\\((?:[^)]+)?\\\\\\\\))(?:(?:\\\\\\\\s*(?:[\\\\\\\\*\\\\\\\\[\\\\\\\\]]+)?(?:<-\\\\\\\\s*)?\\\\\\\\bchan\\\\\\\\b(?:\\\\\\\\s*<-)?\\\\\\\\s*)+)?(?:\\\\\\\\s*))+(?:(?:(?:[\\\\\\\\w\\\\\\\\*\\\\\\\\.\\\\\\\\[\\\\\\\\]]+)|(?:\\\\\\\\((?:[^)]+)?\\\\\\\\))))?)|(?:(?:[\\\\\\\\[\\\\\\\\]\\\\\\\\*]+)?[\\\\\\\\w\\\\\\\\*\\\\\\\\.]+(?:\\\\\\\\[(?:[^\\\\\\\\]]+)\\\\\\\\])?(?:[\\\\\\\\w\\\\\\\\.\\\\\\\\*]+)?)+)))\\\"},{\\\"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\\\"}]}},\\\"comment\\\":\\\"other types\\\",\\\"match\\\":\\\"([\\\\\\\\w\\\\\\\\.]+)\\\"},{\\\"include\\\":\\\"$self\\\"}]},\\\"functions\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\bfunc\\\\\\\\b)(?=\\\\\\\\())\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.function.go\\\"}},\\\"comment\\\":\\\"Functions\\\",\\\"end\\\":\\\"(?:(?<=\\\\\\\\))(\\\\\\\\s*(?:(?:[\\\\\\\\*\\\\\\\\[\\\\\\\\]]+)?(?:<-\\\\\\\\s*)?\\\\\\\\bchan\\\\\\\\b(?:\\\\\\\\s*<-)?\\\\\\\\s*)+)?((?:(?:\\\\\\\\s*(?:(?:[\\\\\\\\[\\\\\\\\]\\\\\\\\*]+)?[\\\\\\\\w\\\\\\\\.\\\\\\\\*]+)?(?:(?:\\\\\\\\[(?:(?:[\\\\\\\\w\\\\\\\\.\\\\\\\\*]+)?(?:\\\\\\\\[(?:[^\\\\\\\\]]+)?\\\\\\\\])?(?:\\\\\\\\,\\\\\\\\s+)?)+\\\\\\\\])|(?:\\\\\\\\((?:[^)]+)?\\\\\\\\)))?(?:[\\\\\\\\w\\\\\\\\.\\\\\\\\*]+)?)(?:\\\\\\\\s*)(?=\\\\\\\\{))|(?:\\\\\\\\s*(?:(?:(?:[\\\\\\\\[\\\\\\\\]\\\\\\\\*]+)?(?!\\\\\\\\bfunc\\\\\\\\b)(?:[\\\\\\\\w\\\\\\\\.\\\\\\\\*]+)(?:\\\\\\\\[(?:(?:[\\\\\\\\w\\\\\\\\.\\\\\\\\*]+)?(?:\\\\\\\\[(?:[^\\\\\\\\]]+)?\\\\\\\\])?(?:\\\\\\\\,\\\\\\\\s+)?)+\\\\\\\\])?(?:[\\\\\\\\w\\\\\\\\.\\\\\\\\*]+)?)|(?:\\\\\\\\((?:[^)]+)?\\\\\\\\)))))?)\\\",\\\"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\\\"}]}},\\\"comment\\\":\\\"functions in-line with multi return types\\\",\\\"match\\\":\\\"(?:(\\\\\\\\bfunc\\\\\\\\b)((?:\\\\\\\\((?:[^/]*?)\\\\\\\\))(?:\\\\\\\\s+)(?:\\\\\\\\((?:[^/]*?)\\\\\\\\)))(?:\\\\\\\\s+)(?=\\\\\\\\{))\\\"},\\\"generic_param_types\\\":{\\\"comment\\\":\\\"generic parameter variables and 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\\\"}]}},\\\"comment\\\":\\\"struct/interface type declaration\\\",\\\"match\\\":\\\"((?:(?:\\\\\\\\b\\\\\\\\w+\\\\\\\\,\\\\\\\\s*)+)?\\\\\\\\b\\\\\\\\w+)\\\\\\\\s+(?=(?:(?:\\\\\\\\s*(?:[\\\\\\\\*\\\\\\\\[\\\\\\\\]]+)?(?:<-\\\\\\\\s*)?\\\\\\\\bchan\\\\\\\\b(?:\\\\\\\\s*<-)?\\\\\\\\s*)+)?(?:[\\\\\\\\[\\\\\\\\]\\\\\\\\*]+)?\\\\\\\\b(?:struct|interface)\\\\\\\\b\\\\\\\\s*\\\\\\\\{)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type-declarations\\\"},{\\\"match\\\":\\\"\\\\\\\\w+\\\",\\\"name\\\":\\\"variable.parameter.go\\\"}]}},\\\"comment\\\":\\\"multiple parameters one type -with multilines\\\",\\\"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\\\"}]}},\\\"comment\\\":\\\"multiple params and types | multiple types one param\\\",\\\"match\\\":\\\"(?:((?:(?:\\\\\\\\b\\\\\\\\w+\\\\\\\\,\\\\\\\\s*)+)?\\\\\\\\b\\\\\\\\w+)(?:\\\\\\\\s+)((?:(?:\\\\\\\\s*(?:[\\\\\\\\*\\\\\\\\[\\\\\\\\]]+)?(?:<-\\\\\\\\s*)?\\\\\\\\bchan\\\\\\\\b(?:\\\\\\\\s*<-)?\\\\\\\\s*)+)?(?:(?:(?:[\\\\\\\\w\\\\\\\\[\\\\\\\\]\\\\\\\\.\\\\\\\\*]+)?(?:(?:\\\\\\\\bfunc\\\\\\\\b\\\\\\\\((?:[^)]+)?\\\\\\\\))(?:(?:\\\\\\\\s*(?:[\\\\\\\\*\\\\\\\\[\\\\\\\\]]+)?(?:<-\\\\\\\\s*)?\\\\\\\\bchan\\\\\\\\b(?:\\\\\\\\s*<-)?\\\\\\\\s*)+)?(?:\\\\\\\\s*))+(?:(?:(?:[\\\\\\\\w\\\\\\\\*\\\\\\\\.]+)|(?:\\\\\\\\((?:[^)]+)?\\\\\\\\))))?)|(?:(?:(?:[\\\\\\\\w\\\\\\\\*\\\\\\\\.\\\\\\\\~]+)|(?:\\\\\\\\[(?:(?:[\\\\\\\\w\\\\\\\\.\\\\\\\\*]+)?(?:\\\\\\\\[(?:[^\\\\\\\\]]+)?\\\\\\\\])?(?:\\\\\\\\,\\\\\\\\s+)?)+\\\\\\\\]))(?:[\\\\\\\\w\\\\\\\\.\\\\\\\\*]+)?)+)))\\\"},{\\\"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\\\"}]}},\\\"comment\\\":\\\"other types\\\",\\\"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\\\"}]}},\\\"comment\\\":\\\"Generic support for all types\\\",\\\"match\\\":\\\"(?:([\\\\\\\\w\\\\\\\\.\\\\\\\\*]+)(\\\\\\\\[(?:[^\\\\\\\\]]+)?\\\\\\\\]))\\\"},\\\"group-functions\\\":{\\\"comment\\\":\\\"all statements related to functions\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function_declaration\\\"},{\\\"include\\\":\\\"#functions_inline\\\"},{\\\"include\\\":\\\"#functions\\\"},{\\\"include\\\":\\\"#built_in_functions\\\"},{\\\"include\\\":\\\"#support_functions\\\"}]},\\\"group-types\\\":{\\\"comment\\\":\\\"all statements related to 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\\\":{\\\"comment\\\":\\\"all statements related to variables\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#var_const_assignment\\\"},{\\\"include\\\":\\\"#variable_assignment\\\"},{\\\"include\\\":\\\"#label_loop_variables\\\"},{\\\"include\\\":\\\"#slice_index_variables\\\"},{\\\"include\\\":\\\"#property_variables\\\"},{\\\"include\\\":\\\"#switch_select_case_variables\\\"},{\\\"include\\\":\\\"#other_variables\\\"}]},\\\"import\\\":{\\\"comment\\\":\\\"import\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(import)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.import.go\\\"}},\\\"comment\\\":\\\"import\\\",\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#imports\\\"}]}]},\\\"imports\\\":{\\\"comment\\\":\\\"import package(s)\\\",\\\"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\\\":\\\"(\\\\\\\\binterface\\\\\\\\b)\\\\\\\\s*(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.interface.go\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.begin.bracket.curly.go\\\"}},\\\"comment\\\":\\\"interface variable types\\\",\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.end.bracket.curly.go\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#interface_variables_types_field\\\"},{\\\"include\\\":\\\"$self\\\"}]},\\\"interface_variables_types_field\\\":{\\\"comment\\\":\\\"interface variable type fields\\\",\\\"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\\\"}]}},\\\"comment\\\":\\\"other types\\\",\\\"match\\\":\\\"([\\\\\\\\w\\\\\\\\.]+)\\\"}]},\\\"keywords\\\":{\\\"patterns\\\":[{\\\"comment\\\":\\\"Flow control keywords\\\",\\\"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\\\"}]}},\\\"comment\\\":\\\"labeled loop variable name\\\",\\\"match\\\":\\\"((?:^\\\\\\\\s*\\\\\\\\w+:\\\\\\\\s*$)|(?:^\\\\\\\\s*(?:\\\\\\\\bbreak\\\\\\\\b|\\\\\\\\bgoto\\\\\\\\b|\\\\\\\\bcontinue\\\\\\\\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\\\"}},\\\"comment\\\":\\\"Language constants\\\",\\\"match\\\":\\\"\\\\\\\\b(?:(true|false)|(nil)|(iota))\\\\\\\\b\\\"},\\\"map_types\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\bmap\\\\\\\\b)(\\\\\\\\[))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.map.go\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.begin.bracket.square.go\\\"}},\\\"comment\\\":\\\"map types\\\",\\\"end\\\":\\\"(?:(\\\\\\\\])((?:(?:(?:[\\\\\\\\*\\\\\\\\[\\\\\\\\]]+)?(?:<-\\\\\\\\s*)?\\\\\\\\bchan\\\\\\\\b(?:\\\\\\\\s*<-)?\\\\\\\\s*)+)?(?!(?:[\\\\\\\\[\\\\\\\\]\\\\\\\\*]+)?\\\\\\\\b(?:func|struct|map)\\\\\\\\b)(?:[\\\\\\\\*\\\\\\\\[\\\\\\\\]]+)?(?:[\\\\\\\\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\\\":\\\"(\\\\\\\\btype\\\\\\\\b)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.type.go\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.begin.bracket.round.go\\\"}},\\\"comment\\\":\\\"multi type declaration\\\",\\\"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\\\":\\\"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])\\\",\\\"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\\\":\\\"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])\\\",\\\"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\\\":\\\"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])\\\",\\\"name\\\":\\\"punctuation.separator.constant.numeric.go\\\"}]},\\\"10\\\":{\\\"name\\\":\\\"keyword.other.unit.imaginary.go\\\"},\\\"11\\\":{\\\"name\\\":\\\"constant.numeric.decimal.go\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])\\\",\\\"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\\\":\\\"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])\\\",\\\"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\\\":\\\"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])\\\",\\\"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\\\":\\\"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])\\\",\\\"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\\\":\\\"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])\\\",\\\"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\\\":\\\"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])\\\",\\\"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\\\":\\\"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])\\\",\\\"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\\\":\\\"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])\\\",\\\"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\\\":\\\"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])\\\",\\\"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\\\":\\\"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])\\\",\\\"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\\\":\\\"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])\\\",\\\"name\\\":\\\"punctuation.separator.constant.numeric.go\\\"}]},\\\"53\\\":{\\\"name\\\":\\\"keyword.other.unit.imaginary.go\\\"}},\\\"match\\\":\\\"(?:(?:(?:(?:(?:\\\\\\\\G(?=[0-9.])(?!0[xXbBoO])(\\\\\\\\d(?:\\\\\\\\d|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)((?:(?<=\\\\\\\\d)\\\\\\\\.|\\\\\\\\.(?=\\\\\\\\d)))(\\\\\\\\d(?:\\\\\\\\d|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)?(?:(?<!_)([eE])(\\\\\\\\+?)(-?)((?:\\\\\\\\d(?:\\\\\\\\d|(?:(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)))?(i(?!\\\\\\\\w))?(?:\\\\\\\\n|$)|\\\\\\\\G(?=[0-9.])(?!0[xXbBoO])(\\\\\\\\d(?:\\\\\\\\d|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)(?<!_)([eE])(\\\\\\\\+?)(-?)((?:\\\\\\\\d(?:\\\\\\\\d|(?:(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*))(i(?!\\\\\\\\w))?(?:\\\\\\\\n|$))|\\\\\\\\G((?:(?<=\\\\\\\\d)\\\\\\\\.|\\\\\\\\.(?=\\\\\\\\d)))(\\\\\\\\d(?:\\\\\\\\d|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)(?:(?<!_)([eE])(\\\\\\\\+?)(-?)((?:\\\\\\\\d(?:\\\\\\\\d|(?:(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)))?(i(?!\\\\\\\\w))?(?:\\\\\\\\n|$))|(\\\\\\\\G0[xX])_?([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)((?:(?<=[0-9a-fA-F])\\\\\\\\.|\\\\\\\\.(?=[0-9a-fA-F])))([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)?(?<!_)([pP])(\\\\\\\\+?)(-?)((?:\\\\\\\\d(?:\\\\\\\\d|(?:(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*))(i(?!\\\\\\\\w))?(?:\\\\\\\\n|$))|(\\\\\\\\G0[xX])_?([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)(?<!_)([pP])(\\\\\\\\+?)(-?)((?:\\\\\\\\d(?:\\\\\\\\d|(?:(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*))(i(?!\\\\\\\\w))?(?:\\\\\\\\n|$))|(\\\\\\\\G0[xX])((?:(?<=[0-9a-fA-F])\\\\\\\\.|\\\\\\\\.(?=[0-9a-fA-F])))([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)(?<!_)([pP])(\\\\\\\\+?)(-?)((?:\\\\\\\\d(?:\\\\\\\\d|(?:(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*))(i(?!\\\\\\\\w))?(?:\\\\\\\\n|$))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.numeric.decimal.go\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])\\\",\\\"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\\\":\\\"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])\\\",\\\"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\\\":\\\"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])\\\",\\\"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\\\":\\\"(?<=[0-9a-fA-F])_(?=[0-9a-fA-F])\\\",\\\"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[xXbBoO])(\\\\\\\\d(?:\\\\\\\\d|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)(i(?!\\\\\\\\w))?(?:\\\\\\\\n|$)|(\\\\\\\\G0[bB])_?([01](?:[01]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)(i(?!\\\\\\\\w))?(?:\\\\\\\\n|$))|(\\\\\\\\G0[oO]?)_?((?:[0-7]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))+)(i(?!\\\\\\\\w))?(?:\\\\\\\\n|$))|(\\\\\\\\G0[xX])_?([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)(i(?!\\\\\\\\w))?(?:\\\\\\\\n|$))\\\"},{\\\"match\\\":\\\"(?:(?:[0-9a-zA-Z_\\\\\\\\.])|(?<=[eEpP])[+-])+\\\",\\\"name\\\":\\\"invalid.illegal.constant.numeric.go\\\"}]}]}},\\\"match\\\":\\\"(?<!\\\\\\\\w)\\\\\\\\.?\\\\\\\\d(?:(?:[0-9a-zA-Z_\\\\\\\\.])|(?<=[eEpP])[+-])*\\\"},\\\"operators\\\":{\\\"comment\\\":\\\"Note that the order here is very important!\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"((?:\\\\\\\\*|\\\\\\\\&)+)(?:(?!\\\\\\\\d)(?=(?:[\\\\\\\\w\\\\\\\\[\\\\\\\\]])|(?:<-)))\\\",\\\"name\\\":\\\"keyword.operator.address.go\\\"},{\\\"match\\\":\\\"<-\\\",\\\"name\\\":\\\"keyword.operator.channel.go\\\"},{\\\"match\\\":\\\"--\\\",\\\"name\\\":\\\"keyword.operator.decrement.go\\\"},{\\\"match\\\":\\\"\\\\\\\\+\\\\\\\\+\\\",\\\"name\\\":\\\"keyword.operator.increment.go\\\"},{\\\"match\\\":\\\"(==|!=|<=|>=|<(?!<)|>(?!>))\\\",\\\"name\\\":\\\"keyword.operator.comparison.go\\\"},{\\\"match\\\":\\\"(&&|\\\\\\\\|\\\\\\\\||!)\\\",\\\"name\\\":\\\"keyword.operator.logical.go\\\"},{\\\"match\\\":\\\"(=|\\\\\\\\+=|-=|\\\\\\\\|=|\\\\\\\\^=|\\\\\\\\*=|/=|:=|%=|<<=|>>=|&\\\\\\\\^=|&=)\\\",\\\"name\\\":\\\"keyword.operator.assignment.go\\\"},{\\\"match\\\":\\\"(\\\\\\\\+|-|\\\\\\\\*|/|%)\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.go\\\"},{\\\"match\\\":\\\"(&(?!\\\\\\\\^)|\\\\\\\\||\\\\\\\\^|&\\\\\\\\^|<<|>>|\\\\\\\\~)\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.bitwise.go\\\"},{\\\"match\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"name\\\":\\\"keyword.operator.ellipsis.go\\\"}]},\\\"other_struct_interface_expressions\\\":{\\\"comment\\\":\\\"struct and interface expression in-line (before curly bracket)\\\",\\\"patterns\\\":[{\\\"comment\\\":\\\"after control variables must be added exactly here, do not move it! (changing may not affect tests, so be careful!)\\\",\\\"include\\\":\\\"#after_control_variables\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type-declarations\\\"},{\\\"match\\\":\\\"\\\\\\\\w+\\\",\\\"name\\\":\\\"entity.name.type.go\\\"}]},\\\"2\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.begin.bracket.square.go\\\"}},\\\"end\\\":\\\"\\\\\\\\]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.end.bracket.square.go\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#type-declarations\\\"},{\\\"match\\\":\\\"\\\\\\\\w+\\\",\\\"name\\\":\\\"entity.name.type.go\\\"},{\\\"include\\\":\\\"$self\\\"}]}]}},\\\"match\\\":\\\"(\\\\\\\\b[\\\\\\\\w\\\\\\\\.]+)(\\\\\\\\[(?:[^\\\\\\\\]]+)?\\\\\\\\])?(?=\\\\\\\\{)(?<!\\\\\\\\bstruct\\\\\\\\b|\\\\\\\\binterface\\\\\\\\b)\\\"}]},\\\"other_variables\\\":{\\\"comment\\\":\\\"all other variables\\\",\\\"match\\\":\\\"\\\\\\\\w+\\\",\\\"name\\\":\\\"variable.other.go\\\"},\\\"package_name\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(package)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.package.go\\\"}},\\\"comment\\\":\\\"package name\\\",\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\d\\\\\\\\w*\\\",\\\"name\\\":\\\"invalid.illegal.identifier.go\\\"},{\\\"match\\\":\\\"\\\\\\\\w+\\\",\\\"name\\\":\\\"entity.name.type.package.go\\\"}]}]},\\\"parameter-variable-types\\\":{\\\"comment\\\":\\\"function and generic parameter 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\\\"}]}},\\\"comment\\\":\\\"Property variables in struct\\\",\\\"match\\\":\\\"((?:\\\\\\\\b[\\\\\\\\w\\\\\\\\.]+)(?::(?!=)))\\\"},\\\"raw_string_literals\\\":{\\\"begin\\\":\\\"`\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.go\\\"}},\\\"comment\\\":\\\"Raw string literals\\\",\\\"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[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{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\\\"}]}},\\\"comment\\\":\\\"single type declaration\\\",\\\"match\\\":\\\"(?:(?:^\\\\\\\\s*)(\\\\\\\\btype\\\\\\\\b)(?:\\\\\\\\s*)([\\\\\\\\w\\\\\\\\.\\\\\\\\*]+)(?:\\\\\\\\s+)(?!(?:=\\\\\\\\s*)?(?:[\\\\\\\\[\\\\\\\\]\\\\\\\\*]+)?\\\\\\\\b(?:struct|interface)\\\\\\\\b)([\\\\\\\\s\\\\\\\\S]+))\\\"},{\\\"begin\\\":\\\"(?:(?:^|\\\\\\\\s+)(\\\\\\\\btype\\\\\\\\b)(?:\\\\\\\\s*)([\\\\\\\\w\\\\\\\\.\\\\\\\\*]+)(?=\\\\\\\\[))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.type.go\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type-declarations-without-brackets\\\"},{\\\"match\\\":\\\"\\\\\\\\w+\\\",\\\"name\\\":\\\"entity.name.type.go\\\"}]}},\\\"comment\\\":\\\"single type declaration with generics\\\",\\\"end\\\":\\\"(?:(?<=\\\\\\\\])((?:\\\\\\\\s+)(?:=\\\\\\\\s*)?(?:(?:(?:[\\\\\\\\*\\\\\\\\[\\\\\\\\]]+)?(?:<-\\\\\\\\s*)?\\\\\\\\bchan\\\\\\\\b(?:\\\\\\\\s*<-)?\\\\\\\\s*)+)?(?:(?!(?:[\\\\\\\\[\\\\\\\\]\\\\\\\\*]+)?(?:\\\\\\\\bstruct\\\\\\\\b|\\\\\\\\binterface\\\\\\\\b|\\\\\\\\bfunc\\\\\\\\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\\\"}]}},\\\"comment\\\":\\\"slice index and capacity variables, to not scope them as property variables\\\",\\\"match\\\":\\\"(?<=\\\\\\\\w\\\\\\\\[)((?:(?:\\\\\\\\b[\\\\\\\\w\\\\\\\\.\\\\\\\\*+/\\\\\\\\-\\\\\\\\%<>\\\\\\\\|\\\\\\\\&]+:)|(?::\\\\\\\\b[\\\\\\\\w\\\\\\\\.\\\\\\\\*+/\\\\\\\\-\\\\\\\\%<>\\\\\\\\|\\\\\\\\&]+))(?:\\\\\\\\b[\\\\\\\\w\\\\\\\\.\\\\\\\\*+/\\\\\\\\-\\\\\\\\%<>\\\\\\\\|\\\\\\\\&]+)?(?::\\\\\\\\b[\\\\\\\\w\\\\\\\\.\\\\\\\\*+/\\\\\\\\-\\\\\\\\%<>\\\\\\\\|\\\\\\\\&]+)?)(?=\\\\\\\\])\\\"},\\\"statements\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#package_name\\\"},{\\\"include\\\":\\\"#import\\\"},{\\\"include\\\":\\\"#syntax_errors\\\"},{\\\"include\\\":\\\"#group-functions\\\"},{\\\"include\\\":\\\"#group-types\\\"},{\\\"include\\\":\\\"#group-variables\\\"},{\\\"include\\\":\\\"#field_hover\\\"}]},\\\"storage_types\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\bbool\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.boolean.go\\\"},{\\\"match\\\":\\\"\\\\\\\\bbyte\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.byte.go\\\"},{\\\"match\\\":\\\"\\\\\\\\berror\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.error.go\\\"},{\\\"match\\\":\\\"\\\\\\\\b(complex(64|128)|float(32|64)|u?int(8|16|32|64)?)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.numeric.go\\\"},{\\\"match\\\":\\\"\\\\\\\\brune\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.rune.go\\\"},{\\\"match\\\":\\\"\\\\\\\\bstring\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.string.go\\\"},{\\\"match\\\":\\\"\\\\\\\\buintptr\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.uintptr.go\\\"},{\\\"match\\\":\\\"\\\\\\\\bany\\\\\\\\b\\\",\\\"name\\\":\\\"entity.name.type.any.go\\\"}]},\\\"string_escaped_char\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\([0-7]{3}|[abfnrtv\\\\\\\\\\\\\\\\'\\\\\\\"]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8})\\\",\\\"name\\\":\\\"constant.character.escape.go\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[^0-7xuUabfnrtv\\\\\\\\'\\\\\\\"]\\\",\\\"name\\\":\\\"invalid.illegal.unknown-escape.go\\\"}]},\\\"string_literals\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.go\\\"}},\\\"comment\\\":\\\"Interpreted string literals\\\",\\\"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\\\\\\\\x20]{,2}((\\\\\\\\d+|\\\\\\\\*)?(\\\\\\\\.?(\\\\\\\\d+|\\\\\\\\*|(\\\\\\\\[\\\\\\\\d+\\\\\\\\])\\\\\\\\*?)?(\\\\\\\\[\\\\\\\\d+\\\\\\\\])?)?))?[vT%tbcdoqxXUbeEfFgGspw]\\\",\\\"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\\\"}]}},\\\"comment\\\":\\\"struct, interface type declarations (related to: struct_variables_types, interface_variables_types)\\\",\\\"match\\\":\\\"(?:(?:^\\\\\\\\s*)(\\\\\\\\btype\\\\\\\\b)(?:\\\\\\\\s*)([\\\\\\\\w\\\\\\\\.]+))\\\"},\\\"struct_variable_types_fields_multi\\\":{\\\"comment\\\":\\\"struct variable and type fields with multi lines\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:((?:\\\\\\\\w+(?:\\\\\\\\,\\\\\\\\s*\\\\\\\\w+)*)(?:(?:\\\\\\\\s*(?:[\\\\\\\\*\\\\\\\\[\\\\\\\\]]+)?(?:<-\\\\\\\\s*)?\\\\\\\\bchan\\\\\\\\b(?:\\\\\\\\s*<-)?\\\\\\\\s*)+)?(?:\\\\\\\\s+)(?:[\\\\\\\\[\\\\\\\\]\\\\\\\\*]+)?)(\\\\\\\\bstruct\\\\\\\\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\\\"}},\\\"comment\\\":\\\"struct in struct types\\\",\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.end.bracket.curly.go\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#struct_variables_types_fields\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"(?:((?:\\\\\\\\w+(?:\\\\\\\\,\\\\\\\\s*\\\\\\\\w+)*)(?:(?:\\\\\\\\s*(?:[\\\\\\\\*\\\\\\\\[\\\\\\\\]]+)?(?:<-\\\\\\\\s*)?\\\\\\\\bchan\\\\\\\\b(?:\\\\\\\\s*<-)?\\\\\\\\s*)+)?(?:\\\\\\\\s+)(?:[\\\\\\\\[\\\\\\\\]\\\\\\\\*]+)?)(\\\\\\\\binterface\\\\\\\\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\\\"}},\\\"comment\\\":\\\"interface in struct types\\\",\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.end.bracket.curly.go\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#interface_variables_types_field\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"(?:((?:\\\\\\\\w+(?:\\\\\\\\,\\\\\\\\s*\\\\\\\\w+)*)(?:(?:\\\\\\\\s*(?:[\\\\\\\\*\\\\\\\\[\\\\\\\\]]+)?(?:<-\\\\\\\\s*)?\\\\\\\\bchan\\\\\\\\b(?:\\\\\\\\s*<-)?\\\\\\\\s*)+)?(?:\\\\\\\\s+)(?:[\\\\\\\\[\\\\\\\\]\\\\\\\\*]+)?)(\\\\\\\\bfunc\\\\\\\\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\\\"}},\\\"comment\\\":\\\"function in struct types\\\",\\\"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\\\":\\\"(\\\\\\\\bstruct\\\\\\\\b)\\\\\\\\s*(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.struct.go\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.begin.bracket.curly.go\\\"}},\\\"comment\\\":\\\"Struct variable type\\\",\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.end.bracket.curly.go\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#struct_variables_types_fields\\\"},{\\\"include\\\":\\\"$self\\\"}]},\\\"struct_variables_types_fields\\\":{\\\"comment\\\":\\\"Struct variable type fields\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#struct_variable_types_fields_multi\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type-declarations\\\"},{\\\"match\\\":\\\"(?:\\\\\\\\w+)\\\",\\\"name\\\":\\\"entity.name.type.go\\\"}]}},\\\"comment\\\":\\\"one line - single type\\\",\\\"match\\\":\\\"(?:(?<=\\\\\\\\{)\\\\\\\\s*((?:(?:\\\\\\\\s*(?:[\\\\\\\\*\\\\\\\\[\\\\\\\\]]+)?(?:<-\\\\\\\\s*)?\\\\\\\\bchan\\\\\\\\b(?:\\\\\\\\s*<-)?\\\\\\\\s*)+)?(?:[\\\\\\\\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\\\"}]}},\\\"comment\\\":\\\"one line - property variables and types\\\",\\\"match\\\":\\\"(?:(?<=\\\\\\\\{)\\\\\\\\s*((?:(?:\\\\\\\\w+\\\\\\\\,\\\\\\\\s*)+)?(?:\\\\\\\\w+\\\\\\\\s+))((?:(?:\\\\\\\\s*(?:[\\\\\\\\*\\\\\\\\[\\\\\\\\]]+)?(?:<-\\\\\\\\s*)?\\\\\\\\bchan\\\\\\\\b(?:\\\\\\\\s*<-)?\\\\\\\\s*)+)?(?:[\\\\\\\\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*)+)?(?:\\\\\\\\w+\\\\\\\\s+))?((?:(?:\\\\\\\\s*(?:[\\\\\\\\*\\\\\\\\[\\\\\\\\]]+)?(?:<-\\\\\\\\s*)?\\\\\\\\bchan\\\\\\\\b(?:\\\\\\\\s*<-)?\\\\\\\\s*)+)?(?:[\\\\\\\\S]+)(?:\\\\\\\\;)?))\\\"}]}},\\\"comment\\\":\\\"one line with semicolon(;) without formatting gofmt - single type | property variables and types\\\",\\\"match\\\":\\\"(?:(?<=\\\\\\\\{)((?:\\\\\\\\s*(?:(?:(?:\\\\\\\\w+\\\\\\\\,\\\\\\\\s*)+)?(?:\\\\\\\\w+\\\\\\\\s+))?(?:(?:(?:\\\\\\\\s*(?:[\\\\\\\\*\\\\\\\\[\\\\\\\\]]+)?(?:<-\\\\\\\\s*)?\\\\\\\\bchan\\\\\\\\b(?:\\\\\\\\s*<-)?\\\\\\\\s*)+)?(?:[\\\\\\\\S]+)(?:\\\\\\\\;)?))+)\\\\\\\\s*(?=\\\\\\\\}))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type-declarations\\\"},{\\\"match\\\":\\\"(?:\\\\\\\\w+)\\\",\\\"name\\\":\\\"entity.name.type.go\\\"}]}},\\\"comment\\\":\\\"one type only\\\",\\\"match\\\":\\\"(?:((?:(?:\\\\\\\\s*(?:[\\\\\\\\*\\\\\\\\[\\\\\\\\]]+)?(?:<-\\\\\\\\s*)?\\\\\\\\bchan\\\\\\\\b(?:\\\\\\\\s*<-)?\\\\\\\\s*)+)?(?:[\\\\\\\\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\\\"}]}},\\\"comment\\\":\\\"property variables and types\\\",\\\"match\\\":\\\"(?:((?:(?:\\\\\\\\w+\\\\\\\\,\\\\\\\\s*)+)?(?:\\\\\\\\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\\\"}]}},\\\"comment\\\":\\\"Support Functions\\\",\\\"match\\\":\\\"(?:(?:((?<=\\\\\\\\.)\\\\\\\\b\\\\\\\\w+)|(\\\\\\\\b\\\\\\\\w+))(\\\\\\\\[(?:(?:[\\\\\\\\w\\\\\\\\.\\\\\\\\*\\\\\\\\[\\\\\\\\]{}\\\\\\\"\\\\\\\\']+)(?:(?:\\\\\\\\,\\\\\\\\s*(?:[\\\\\\\\w\\\\\\\\.\\\\\\\\*\\\\\\\\[\\\\\\\\]{}]+))*))?\\\\\\\\])?(?=\\\\\\\\())\\\"},\\\"switch_select_case_variables\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.go\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type-declarations\\\"},{\\\"include\\\":\\\"#support_functions\\\"},{\\\"include\\\":\\\"#variable_assignment\\\"},{\\\"match\\\":\\\"\\\\\\\\w+\\\",\\\"name\\\":\\\"variable.other.go\\\"}]}},\\\"comment\\\":\\\"variables after case control keyword in switch/select expression, to not scope them as property variables\\\",\\\"match\\\":\\\"(?:(?:^\\\\\\\\s*(\\\\\\\\bcase\\\\\\\\b))(?:\\\\\\\\s+)([\\\\\\\\s\\\\\\\\S]+(?::)\\\\\\\\s*(?:/(?:/|\\\\\\\\*).*)?)$)\\\"},\\\"switch_types\\\":{\\\"begin\\\":\\\"(?<=\\\\\\\\bswitch\\\\\\\\b)(?:\\\\\\\\s*)(?:(\\\\\\\\w+\\\\\\\\s*:=)?\\\\\\\\s*([\\\\\\\\w\\\\\\\\.\\\\\\\\*()\\\\\\\\[\\\\\\\\]+/\\\\\\\\-\\\\\\\\%<>\\\\\\\\|\\\\\\\\&]+))(\\\\\\\\.\\\\\\\\(\\\\\\\\btype\\\\\\\\b\\\\\\\\)\\\\\\\\s*)(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#operators\\\"},{\\\"match\\\":\\\"\\\\\\\\w+\\\",\\\"name\\\":\\\"variable.other.assignment.go\\\"}]},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#support_functions\\\"},{\\\"include\\\":\\\"#type-declarations\\\"},{\\\"match\\\":\\\"\\\\\\\\w+\\\",\\\"name\\\":\\\"variable.other.go\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#delimiters\\\"},{\\\"include\\\":\\\"#brackets\\\"},{\\\"match\\\":\\\"\\\\\\\\btype\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.type.go\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.begin.bracket.curly.go\\\"}},\\\"comment\\\":\\\"switch type assertions, only highlights types after case keyword\\\",\\\"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\\\"}]}},\\\"comment\\\":\\\"types after case keyword with single line\\\",\\\"match\\\":\\\"(?:^\\\\\\\\s*(\\\\\\\\bcase\\\\\\\\b))(?:\\\\\\\\s+)([\\\\\\\\w\\\\\\\\.\\\\\\\\,\\\\\\\\*=<>!\\\\\\\\s]+)(:)(\\\\\\\\s*/(?:/|\\\\\\\\*)\\\\\\\\s*.*)?$\\\"},{\\\"begin\\\":\\\"\\\\\\\\bcase\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.go\\\"}},\\\"comment\\\":\\\"types after case keyword with multi lines\\\",\\\"end\\\":\\\":\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.other.colon.go\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#type-declarations\\\"},{\\\"match\\\":\\\"\\\\\\\\w+\\\",\\\"name\\\":\\\"entity.name.type.go\\\"}]},{\\\"include\\\":\\\"$self\\\"}]},\\\"syntax_errors\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"invalid.illegal.slice.go\\\"}},\\\"comment\\\":\\\"Syntax error using slices\\\",\\\"match\\\":\\\"\\\\\\\\[\\\\\\\\](\\\\\\\\s+)\\\"},{\\\"comment\\\":\\\"Syntax error numeric literals\\\",\\\"match\\\":\\\"\\\\\\\\b0[0-7]*[89]\\\\\\\\d*\\\\\\\\b\\\",\\\"name\\\":\\\"invalid.illegal.numeric.go\\\"}]},\\\"terminators\\\":{\\\"comment\\\":\\\"Terminators\\\",\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"punctuation.terminator.go\\\"},\\\"type-declarations\\\":{\\\"comment\\\":\\\"includes all 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\\\":{\\\"comment\\\":\\\"includes all type declarations without brackets (in some cases, brackets need to be captured manually)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#language_constants\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#map_types\\\"},{\\\"include\\\":\\\"#delimiters\\\"},{\\\"include\\\":\\\"#keywords\\\"},{\\\"include\\\":\\\"#operators\\\"},{\\\"include\\\":\\\"#runes\\\"},{\\\"include\\\":\\\"#storage_types\\\"},{\\\"include\\\":\\\"#raw_string_literals\\\"},{\\\"include\\\":\\\"#string_literals\\\"},{\\\"include\\\":\\\"#numeric_literals\\\"},{\\\"include\\\":\\\"#terminators\\\"}]},\\\"type_assertion_inline\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.type.go\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type-declarations\\\"},{\\\"match\\\":\\\"(?:\\\\\\\\w+)\\\",\\\"name\\\":\\\"entity.name.type.go\\\"}]}},\\\"comment\\\":\\\"struct/interface types in-line (type assertion) | switch type keyword\\\",\\\"match\\\":\\\"(?:(?<=\\\\\\\\.\\\\\\\\()(?:(\\\\\\\\btype\\\\\\\\b)|((?:(?:\\\\\\\\s*(?:[\\\\\\\\*\\\\\\\\[\\\\\\\\]]+)?(?:<-\\\\\\\\s*)?\\\\\\\\bchan\\\\\\\\b(?:\\\\\\\\s*<-)?\\\\\\\\s*)+)?[\\\\\\\\w\\\\\\\\.\\\\\\\\[\\\\\\\\]\\\\\\\\*]+))(?=\\\\\\\\)))\\\"},\\\"var_const_assignment\\\":{\\\"comment\\\":\\\"variable assignment with var and const keyword\\\",\\\"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\\\"}]}},\\\"comment\\\":\\\"var and const with single type assignment\\\",\\\"match\\\":\\\"(?:(?<=\\\\\\\\bvar\\\\\\\\b|\\\\\\\\bconst\\\\\\\\b)(?:\\\\\\\\s*)(\\\\\\\\b[\\\\\\\\w\\\\\\\\.]+(?:\\\\\\\\,\\\\\\\\s*[\\\\\\\\w\\\\\\\\.]+)*)(?:\\\\\\\\s*)((?:(?:(?:[\\\\\\\\*\\\\\\\\[\\\\\\\\]]+)?(?:<-\\\\\\\\s*)?\\\\\\\\bchan\\\\\\\\b(?:\\\\\\\\s*<-)?\\\\\\\\s*)+(?:\\\\\\\\([^)]+\\\\\\\\))?)?(?!(?:[\\\\\\\\[\\\\\\\\]\\\\\\\\*]+)?\\\\\\\\b(?:struct|func|map)\\\\\\\\b)(?:[\\\\\\\\w\\\\\\\\.\\\\\\\\[\\\\\\\\]\\\\\\\\*]+(?:\\\\\\\\,\\\\\\\\s*[\\\\\\\\w\\\\\\\\.\\\\\\\\[\\\\\\\\]\\\\\\\\*]+)*)?(?:\\\\\\\\s*)(?:=)?)?)\\\"},{\\\"begin\\\":\\\"(?:(?<=\\\\\\\\bvar\\\\\\\\b|\\\\\\\\bconst\\\\\\\\b)(?:\\\\\\\\s*)(\\\\\\\\())\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.begin.bracket.round.go\\\"}},\\\"comment\\\":\\\"var and const with multi type assignment\\\",\\\"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*)((?:(?:(?:[\\\\\\\\*\\\\\\\\[\\\\\\\\]]+)?(?:<-\\\\\\\\s*)?\\\\\\\\bchan\\\\\\\\b(?:\\\\\\\\s*<-)?\\\\\\\\s*)+(?:\\\\\\\\([^)]+\\\\\\\\))?)?(?!(?:[\\\\\\\\[\\\\\\\\]\\\\\\\\*]+)?\\\\\\\\b(?:struct|func|map)\\\\\\\\b)(?:[\\\\\\\\w\\\\\\\\.\\\\\\\\[\\\\\\\\]\\\\\\\\*]+(?:\\\\\\\\,\\\\\\\\s*[\\\\\\\\w\\\\\\\\.\\\\\\\\[\\\\\\\\]\\\\\\\\*]+)*)?(?:\\\\\\\\s*)(?:=)?)?)\\\"},{\\\"include\\\":\\\"$self\\\"}]}]},\\\"variable_assignment\\\":{\\\"comment\\\":\\\"variable assignment\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#delimiters\\\"},{\\\"match\\\":\\\"\\\\\\\\d\\\\\\\\w*\\\",\\\"name\\\":\\\"invalid.illegal.identifier.go\\\"},{\\\"match\\\":\\\"\\\\\\\\w+\\\",\\\"name\\\":\\\"variable.other.assignment.go\\\"}]}},\\\"comment\\\":\\\"variable assignment with :=\\\",\\\"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\\\"}]}},\\\"comment\\\":\\\"variable assignment with =\\\",\\\"match\\\":\\\"\\\\\\\\b[\\\\\\\\w\\\\\\\\.\\\\\\\\*]+(?:\\\\\\\\,\\\\\\\\s*[\\\\\\\\w\\\\\\\\.\\\\\\\\*]+)*(?=\\\\\\\\s*=(?!=))\\\"}]}},\\\"scopeName\\\":\\\"source.go\\\"}\"))\n\nexport default [\nlang\n]\n"],"names":["go","Object","freeze","JSON","parse"],"mappings":"gIAEeA,EAAA,CAFFC,MAAAA,CAAOC,MAAOC,CAAAA,IAAAA,CAAKC,MAAM","x_google_ignoreList":[0]}