@cloudraker/reki 2.6.1

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 (762) hide show
  1. package/CHANGELOG.md +1892 -0
  2. package/README.md +525 -0
  3. package/ai/USAGE.md +201 -0
  4. package/ai/component-registry.json +6707 -0
  5. package/ai/component-registry.md +8346 -0
  6. package/ai/schemas.ts +955 -0
  7. package/bin/reki.js +36 -0
  8. package/dist/.build-complete +1 -0
  9. package/dist/ai/schemas.d.ts +2514 -0
  10. package/dist/ai/schemas.d.ts.map +1 -0
  11. package/dist/ai/schemas.js +3985 -0
  12. package/dist/ai/schemas.js.map +1 -0
  13. package/dist/blocks-source/delete-resource/delete-resource.tsx +213 -0
  14. package/dist/blocks-source/page-header/page-header.tsx +99 -0
  15. package/dist/blocks-source/resource-list/resource-list.test.tsx +28 -0
  16. package/dist/blocks-source/resource-list/resource-list.tsx +69 -0
  17. package/dist/catalog.js +229 -0
  18. package/dist/catalog.js.map +1 -0
  19. package/dist/chunks/SankeyChart-jwwpwps4npqzbrvn.js +890 -0
  20. package/dist/chunks/SankeyChart-jwwpwps4npqzbrvn.js.map +1 -0
  21. package/dist/chunks/autocomplete-f4vetako14h2aqsw.js +193 -0
  22. package/dist/chunks/autocomplete-f4vetako14h2aqsw.js.map +1 -0
  23. package/dist/chunks/badge-pc33c5ir7muabgfh.js +163 -0
  24. package/dist/chunks/badge-pc33c5ir7muabgfh.js.map +1 -0
  25. package/dist/chunks/banner-kis9h1yq636liunc.js +120 -0
  26. package/dist/chunks/banner-kis9h1yq636liunc.js.map +1 -0
  27. package/dist/chunks/bash-g5z23u7me5rx7bzt.js +15 -0
  28. package/dist/chunks/bash-g5z23u7me5rx7bzt.js.map +1 -0
  29. package/dist/chunks/breadcrumbs-d6149hyct4puz3x4.js +169 -0
  30. package/dist/chunks/breadcrumbs-d6149hyct4puz3x4.js.map +1 -0
  31. package/dist/chunks/button-nc5p1h28cwes0tjw.js +237 -0
  32. package/dist/chunks/button-nc5p1h28cwes0tjw.js.map +1 -0
  33. package/dist/chunks/checkbox-g2661n3eodgoispq.js +216 -0
  34. package/dist/chunks/checkbox-g2661n3eodgoispq.js.map +1 -0
  35. package/dist/chunks/clipboard-text-g3659lejx2d7i93e.js +191 -0
  36. package/dist/chunks/clipboard-text-g3659lejx2d7i93e.js.map +1 -0
  37. package/dist/chunks/cloudflare-logo-k0f07zztsda8m4ca.js +175 -0
  38. package/dist/chunks/cloudflare-logo-k0f07zztsda8m4ca.js.map +1 -0
  39. package/dist/chunks/cn-ct4n7r74mh8y0f48.js +26 -0
  40. package/dist/chunks/cn-ct4n7r74mh8y0f48.js.map +1 -0
  41. package/dist/chunks/code-fm5rpi47v6cj9o8o.js +61 -0
  42. package/dist/chunks/code-fm5rpi47v6cj9o8o.js.map +1 -0
  43. package/dist/chunks/collapsible-ndvmgo29s5iqfcor.js +76 -0
  44. package/dist/chunks/collapsible-ndvmgo29s5iqfcor.js.map +1 -0
  45. package/dist/chunks/combobox-i38w67netm8ukw4f.js +408 -0
  46. package/dist/chunks/combobox-i38w67netm8ukw4f.js.map +1 -0
  47. package/dist/chunks/command-palette-fe5cjfdgsg3t17vq.js +403 -0
  48. package/dist/chunks/command-palette-fe5cjfdgsg3t17vq.js.map +1 -0
  49. package/dist/chunks/core-oowp00biqxe3hvjc.js +5806 -0
  50. package/dist/chunks/core-oowp00biqxe3hvjc.js.map +1 -0
  51. package/dist/chunks/css-d1mi3wy1sl3fzekh.js +8 -0
  52. package/dist/chunks/css-d1mi3wy1sl3fzekh.js.map +1 -0
  53. package/dist/chunks/date-picker-81mc3zrsmobm3ydm.js +2921 -0
  54. package/dist/chunks/date-picker-81mc3zrsmobm3ydm.js.map +1 -0
  55. package/dist/chunks/date-range-picker-c8ttrfaos9mb1w5n.js +408 -0
  56. package/dist/chunks/date-range-picker-c8ttrfaos9mb1w5n.js.map +1 -0
  57. package/dist/chunks/dialog-m4go8xof25fospqo.js +134 -0
  58. package/dist/chunks/dialog-m4go8xof25fospqo.js.map +1 -0
  59. package/dist/chunks/diff-cpj1h9lg0bw716mj.js +8 -0
  60. package/dist/chunks/diff-cpj1h9lg0bw716mj.js.map +1 -0
  61. package/dist/chunks/dropdown-j5uht8mn4z7xc9fc.js +313 -0
  62. package/dist/chunks/dropdown-j5uht8mn4z7xc9fc.js.map +1 -0
  63. package/dist/chunks/empty-kazxr0248zjemw6n.js +94 -0
  64. package/dist/chunks/empty-kazxr0248zjemw6n.js.map +1 -0
  65. package/dist/chunks/engine-javascript-iqcmg6wi2pjun29k.js +2637 -0
  66. package/dist/chunks/engine-javascript-iqcmg6wi2pjun29k.js.map +1 -0
  67. package/dist/chunks/engine-oniguruma-g75h8oxao68cjmhg.js +295 -0
  68. package/dist/chunks/engine-oniguruma-g75h8oxao68cjmhg.js.map +1 -0
  69. package/dist/chunks/field-fe5m8z3vbpvtctbe.js +77 -0
  70. package/dist/chunks/field-fe5m8z3vbpvtctbe.js.map +1 -0
  71. package/dist/chunks/github-light-ulev8flhimfg79ob.js +6 -0
  72. package/dist/chunks/github-light-ulev8flhimfg79ob.js.map +1 -0
  73. package/dist/chunks/graphql-ft2h47erta7isqn4.js +16 -0
  74. package/dist/chunks/graphql-ft2h47erta7isqn4.js.map +1 -0
  75. package/dist/chunks/grid-enlbb88vucgeq1np.js +128 -0
  76. package/dist/chunks/grid-enlbb88vucgeq1np.js.map +1 -0
  77. package/dist/chunks/hcl-hcu7d6ja6t540ijn.js +8 -0
  78. package/dist/chunks/hcl-hcu7d6ja6t540ijn.js.map +1 -0
  79. package/dist/chunks/html-kl304jmqj4jxj777.js +12 -0
  80. package/dist/chunks/html-kl304jmqj4jxj777.js.map +1 -0
  81. package/dist/chunks/input-area-ciw85g3fno06t4tw.js +78 -0
  82. package/dist/chunks/input-area-ciw85g3fno06t4tw.js.map +1 -0
  83. package/dist/chunks/input-group-mo7tq7jr19hmgor5.js +505 -0
  84. package/dist/chunks/input-group-mo7tq7jr19hmgor5.js.map +1 -0
  85. package/dist/chunks/input-i5nefqk213n4z7pr.js +130 -0
  86. package/dist/chunks/input-i5nefqk213n4z7pr.js.map +1 -0
  87. package/dist/chunks/javascript-hhx3avh9uv2o27ay.js +8 -0
  88. package/dist/chunks/javascript-hhx3avh9uv2o27ay.js.map +1 -0
  89. package/dist/chunks/json-jovp9qemdkp5cziz.js +8 -0
  90. package/dist/chunks/json-jovp9qemdkp5cziz.js.map +1 -0
  91. package/dist/chunks/jsonc-jbkkgjer6ispw2u3.js +8 -0
  92. package/dist/chunks/jsonc-jbkkgjer6ispw2u3.js.map +1 -0
  93. package/dist/chunks/jsx-ij885l2li2lzfoss.js +8 -0
  94. package/dist/chunks/jsx-ij885l2li2lzfoss.js.map +1 -0
  95. package/dist/chunks/label-fcho4757rbdess0c.js +68 -0
  96. package/dist/chunks/label-fcho4757rbdess0c.js.map +1 -0
  97. package/dist/chunks/layer-card-kzu48dhzxm3e9p4u.js +47 -0
  98. package/dist/chunks/layer-card-kzu48dhzxm3e9p4u.js.map +1 -0
  99. package/dist/chunks/link-j2gu5dr3nr4i4yf0.js +95 -0
  100. package/dist/chunks/link-j2gu5dr3nr4i4yf0.js.map +1 -0
  101. package/dist/chunks/link-provider-bgljdgs4hs438h0u.js +22 -0
  102. package/dist/chunks/link-provider-bgljdgs4hs438h0u.js.map +1 -0
  103. package/dist/chunks/loader-cxzp72mn53lzbv9c.js +109 -0
  104. package/dist/chunks/loader-cxzp72mn53lzbv9c.js.map +1 -0
  105. package/dist/chunks/markdown-n2vyyq7l68fy32wc.js +8 -0
  106. package/dist/chunks/markdown-n2vyyq7l68fy32wc.js.map +1 -0
  107. package/dist/chunks/menubar-ir5gbjmsizsddz7g.js +98 -0
  108. package/dist/chunks/menubar-ir5gbjmsizsddz7g.js.map +1 -0
  109. package/dist/chunks/meter-o5yd7ctjf80vvyjx.js +51 -0
  110. package/dist/chunks/meter-o5yd7ctjf80vvyjx.js.map +1 -0
  111. package/dist/chunks/pagination-bryw6rohfr7mm3km.js +266 -0
  112. package/dist/chunks/pagination-bryw6rohfr7mm3km.js.map +1 -0
  113. package/dist/chunks/popover-elxcmvv7mu7m7uk4.js +181 -0
  114. package/dist/chunks/popover-elxcmvv7mu7m7uk4.js.map +1 -0
  115. package/dist/chunks/portal-provider-off76og7tjyz96ys.js +18 -0
  116. package/dist/chunks/portal-provider-off76og7tjyz96ys.js.map +1 -0
  117. package/dist/chunks/python-gg755pb8oe9ra1d1.js +8 -0
  118. package/dist/chunks/python-gg755pb8oe9ra1d1.js.map +1 -0
  119. package/dist/chunks/radio-newyq331uk4lltr6.js +226 -0
  120. package/dist/chunks/radio-newyq331uk4lltr6.js.map +1 -0
  121. package/dist/chunks/resolve-variant-t8jcltsizeg29ege.js +11 -0
  122. package/dist/chunks/resolve-variant-t8jcltsizeg29ege.js.map +1 -0
  123. package/dist/chunks/select-h5480mbro0ypxu0b.js +237 -0
  124. package/dist/chunks/select-h5480mbro0ypxu0b.js.map +1 -0
  125. package/dist/chunks/sensitive-input-lqugq6uvx0lkpu0u.js +273 -0
  126. package/dist/chunks/sensitive-input-lqugq6uvx0lkpu0u.js.map +1 -0
  127. package/dist/chunks/sidebar-noz668nhdu2gso12.js +1144 -0
  128. package/dist/chunks/sidebar-noz668nhdu2gso12.js.map +1 -0
  129. package/dist/chunks/skeleton-line-epxenksfesr2fkcv.js +33 -0
  130. package/dist/chunks/skeleton-line-epxenksfesr2fkcv.js.map +1 -0
  131. package/dist/chunks/sql-ovukp5mrfunfk5tv.js +8 -0
  132. package/dist/chunks/sql-ovukp5mrfunfk5tv.js.map +1 -0
  133. package/dist/chunks/surface-cyxme7mlr49l33f8.js +29 -0
  134. package/dist/chunks/surface-cyxme7mlr49l33f8.js.map +1 -0
  135. package/dist/chunks/switch-bigo96fyjlh7ivbi.js +256 -0
  136. package/dist/chunks/switch-bigo96fyjlh7ivbi.js.map +1 -0
  137. package/dist/chunks/table-mwcmwp6a80zvyrxw.js +208 -0
  138. package/dist/chunks/table-mwcmwp6a80zvyrxw.js.map +1 -0
  139. package/dist/chunks/table-of-contents-gkuvkr2w6lbhi7wt.js +106 -0
  140. package/dist/chunks/table-of-contents-gkuvkr2w6lbhi7wt.js.map +1 -0
  141. package/dist/chunks/tabs-e4pcjkw94kpe35x0.js +177 -0
  142. package/dist/chunks/tabs-e4pcjkw94kpe35x0.js.map +1 -0
  143. package/dist/chunks/text-oxsrbmjmfq99ue85.js +103 -0
  144. package/dist/chunks/text-oxsrbmjmfq99ue85.js.map +1 -0
  145. package/dist/chunks/toast-ivr4097bstjcjotf.js +370 -0
  146. package/dist/chunks/toast-ivr4097bstjcjotf.js.map +1 -0
  147. package/dist/chunks/toml-nczb2z9n0o23o3ci.js +8 -0
  148. package/dist/chunks/toml-nczb2z9n0o23o3ci.js.map +1 -0
  149. package/dist/chunks/tooltip-ncaia8n1lavkyw8n.js +103 -0
  150. package/dist/chunks/tooltip-ncaia8n1lavkyw8n.js.map +1 -0
  151. package/dist/chunks/tsx-ehy8lrzet6v54zur.js +8 -0
  152. package/dist/chunks/tsx-ehy8lrzet6v54zur.js.map +1 -0
  153. package/dist/chunks/typescript-k4ggjrxhrhcdni6u.js +8 -0
  154. package/dist/chunks/typescript-k4ggjrxhrhcdni6u.js.map +1 -0
  155. package/dist/chunks/vendor-base-ui-bgl9g5nkvqy3tn36.js +24690 -0
  156. package/dist/chunks/vendor-base-ui-bgl9g5nkvqy3tn36.js.map +1 -0
  157. package/dist/chunks/vendor-floating-ui-dn8xswn8036udsqq.js +1311 -0
  158. package/dist/chunks/vendor-floating-ui-dn8xswn8036udsqq.js.map +1 -0
  159. package/dist/chunks/vendor-styling-gobnkhsy0rva4qd3.js +2775 -0
  160. package/dist/chunks/vendor-styling-gobnkhsy0rva4qd3.js.map +1 -0
  161. package/dist/chunks/vendor-utils-m5h2xu7s2rs3pgk5.js +217 -0
  162. package/dist/chunks/vendor-utils-m5h2xu7s2rs3pgk5.js.map +1 -0
  163. package/dist/chunks/vesper-ebfu9ns65f2v830s.js +6 -0
  164. package/dist/chunks/vesper-ebfu9ns65f2v830s.js.map +1 -0
  165. package/dist/chunks/wasm-oj22f8usru9h7dzg.js +9 -0
  166. package/dist/chunks/wasm-oj22f8usru9h7dzg.js.map +1 -0
  167. package/dist/chunks/yaml-e2v22lr79tss2brj.js +8 -0
  168. package/dist/chunks/yaml-e2v22lr79tss2brj.js.map +1 -0
  169. package/dist/code/server.js +88 -0
  170. package/dist/code/server.js.map +1 -0
  171. package/dist/code.js +256 -0
  172. package/dist/code.js.map +1 -0
  173. package/dist/command-line/cli.js +850 -0
  174. package/dist/command-line/commands/add.js +282 -0
  175. package/dist/command-line/commands/ai.js +22 -0
  176. package/dist/command-line/commands/blocks.js +61 -0
  177. package/dist/command-line/commands/doc.js +167 -0
  178. package/dist/command-line/commands/init.js +95 -0
  179. package/dist/command-line/commands/ls.js +53 -0
  180. package/dist/components/autocomplete.js +9 -0
  181. package/dist/components/autocomplete.js.map +1 -0
  182. package/dist/components/badge.js +7 -0
  183. package/dist/components/badge.js.map +1 -0
  184. package/dist/components/banner.js +7 -0
  185. package/dist/components/banner.js.map +1 -0
  186. package/dist/components/breadcrumbs.js +9 -0
  187. package/dist/components/breadcrumbs.js.map +1 -0
  188. package/dist/components/button.js +9 -0
  189. package/dist/components/button.js.map +1 -0
  190. package/dist/components/chart.js +10 -0
  191. package/dist/components/chart.js.map +1 -0
  192. package/dist/components/checkbox.js +8 -0
  193. package/dist/components/checkbox.js.map +1 -0
  194. package/dist/components/clipboard-text.js +6 -0
  195. package/dist/components/clipboard-text.js.map +1 -0
  196. package/dist/components/cloudflare-logo.js +10 -0
  197. package/dist/components/cloudflare-logo.js.map +1 -0
  198. package/dist/components/code.js +7 -0
  199. package/dist/components/code.js.map +1 -0
  200. package/dist/components/collapsible.js +6 -0
  201. package/dist/components/collapsible.js.map +1 -0
  202. package/dist/components/combobox.js +6 -0
  203. package/dist/components/combobox.js.map +1 -0
  204. package/dist/components/command-palette.js +8 -0
  205. package/dist/components/command-palette.js.map +1 -0
  206. package/dist/components/date-picker.js +6 -0
  207. package/dist/components/date-picker.js.map +1 -0
  208. package/dist/components/date-range-picker.js +6 -0
  209. package/dist/components/date-range-picker.js.map +1 -0
  210. package/dist/components/dialog.js +11 -0
  211. package/dist/components/dialog.js.map +1 -0
  212. package/dist/components/dropdown.js +6 -0
  213. package/dist/components/dropdown.js.map +1 -0
  214. package/dist/components/empty.js +9 -0
  215. package/dist/components/empty.js.map +1 -0
  216. package/dist/components/field.js +10 -0
  217. package/dist/components/field.js.map +1 -0
  218. package/dist/components/flow.js +5831 -0
  219. package/dist/components/flow.js.map +1 -0
  220. package/dist/components/grid.js +11 -0
  221. package/dist/components/grid.js.map +1 -0
  222. package/dist/components/input-group.js +8 -0
  223. package/dist/components/input-group.js.map +1 -0
  224. package/dist/components/input.js +14 -0
  225. package/dist/components/input.js.map +1 -0
  226. package/dist/components/label.js +10 -0
  227. package/dist/components/label.js.map +1 -0
  228. package/dist/components/layer-card.js +6 -0
  229. package/dist/components/layer-card.js.map +1 -0
  230. package/dist/components/link.js +9 -0
  231. package/dist/components/link.js.map +1 -0
  232. package/dist/components/loader.js +8 -0
  233. package/dist/components/loader.js.map +1 -0
  234. package/dist/components/menubar.js +7 -0
  235. package/dist/components/menubar.js.map +1 -0
  236. package/dist/components/meter.js +6 -0
  237. package/dist/components/meter.js.map +1 -0
  238. package/dist/components/pagination.js +6 -0
  239. package/dist/components/pagination.js.map +1 -0
  240. package/dist/components/popover.js +14 -0
  241. package/dist/components/popover.js.map +1 -0
  242. package/dist/components/radio.js +10 -0
  243. package/dist/components/radio.js.map +1 -0
  244. package/dist/components/select.js +6 -0
  245. package/dist/components/select.js.map +1 -0
  246. package/dist/components/sensitive-input.js +8 -0
  247. package/dist/components/sensitive-input.js.map +1 -0
  248. package/dist/components/sidebar.js +34 -0
  249. package/dist/components/sidebar.js.map +1 -0
  250. package/dist/components/surface.js +6 -0
  251. package/dist/components/surface.js.map +1 -0
  252. package/dist/components/switch.js +8 -0
  253. package/dist/components/switch.js.map +1 -0
  254. package/dist/components/table-of-contents.js +8 -0
  255. package/dist/components/table-of-contents.js.map +1 -0
  256. package/dist/components/table.js +8 -0
  257. package/dist/components/table.js.map +1 -0
  258. package/dist/components/tabs.js +6 -0
  259. package/dist/components/tabs.js.map +1 -0
  260. package/dist/components/text.js +6 -0
  261. package/dist/components/text.js.map +1 -0
  262. package/dist/components/toast.js +11 -0
  263. package/dist/components/toast.js.map +1 -0
  264. package/dist/components/tooltip.js +7 -0
  265. package/dist/components/tooltip.js.map +1 -0
  266. package/dist/index.js +344 -0
  267. package/dist/index.js.map +1 -0
  268. package/dist/primitives/accordion.js +6 -0
  269. package/dist/primitives/accordion.js.map +1 -0
  270. package/dist/primitives/alert-dialog.js +6 -0
  271. package/dist/primitives/alert-dialog.js.map +1 -0
  272. package/dist/primitives/autocomplete.js +6 -0
  273. package/dist/primitives/autocomplete.js.map +1 -0
  274. package/dist/primitives/avatar.js +6 -0
  275. package/dist/primitives/avatar.js.map +1 -0
  276. package/dist/primitives/button.js +6 -0
  277. package/dist/primitives/button.js.map +1 -0
  278. package/dist/primitives/checkbox-group.js +6 -0
  279. package/dist/primitives/checkbox-group.js.map +1 -0
  280. package/dist/primitives/checkbox.js +6 -0
  281. package/dist/primitives/checkbox.js.map +1 -0
  282. package/dist/primitives/collapsible.js +6 -0
  283. package/dist/primitives/collapsible.js.map +1 -0
  284. package/dist/primitives/combobox.js +6 -0
  285. package/dist/primitives/combobox.js.map +1 -0
  286. package/dist/primitives/context-menu.js +6 -0
  287. package/dist/primitives/context-menu.js.map +1 -0
  288. package/dist/primitives/csp-provider.js +6 -0
  289. package/dist/primitives/csp-provider.js.map +1 -0
  290. package/dist/primitives/dialog.js +6 -0
  291. package/dist/primitives/dialog.js.map +1 -0
  292. package/dist/primitives/direction-provider.js +7 -0
  293. package/dist/primitives/direction-provider.js.map +1 -0
  294. package/dist/primitives/drawer.js +6 -0
  295. package/dist/primitives/drawer.js.map +1 -0
  296. package/dist/primitives/field.js +6 -0
  297. package/dist/primitives/field.js.map +1 -0
  298. package/dist/primitives/fieldset.js +6 -0
  299. package/dist/primitives/fieldset.js.map +1 -0
  300. package/dist/primitives/form.js +6 -0
  301. package/dist/primitives/form.js.map +1 -0
  302. package/dist/primitives/input.js +6 -0
  303. package/dist/primitives/input.js.map +1 -0
  304. package/dist/primitives/menu.js +6 -0
  305. package/dist/primitives/menu.js.map +1 -0
  306. package/dist/primitives/menubar.js +6 -0
  307. package/dist/primitives/menubar.js.map +1 -0
  308. package/dist/primitives/meter.js +6 -0
  309. package/dist/primitives/meter.js.map +1 -0
  310. package/dist/primitives/navigation-menu.js +6 -0
  311. package/dist/primitives/navigation-menu.js.map +1 -0
  312. package/dist/primitives/number-field.js +6 -0
  313. package/dist/primitives/number-field.js.map +1 -0
  314. package/dist/primitives/otp-field.js +6 -0
  315. package/dist/primitives/otp-field.js.map +1 -0
  316. package/dist/primitives/popover.js +6 -0
  317. package/dist/primitives/popover.js.map +1 -0
  318. package/dist/primitives/preview-card.js +6 -0
  319. package/dist/primitives/preview-card.js.map +1 -0
  320. package/dist/primitives/progress.js +6 -0
  321. package/dist/primitives/progress.js.map +1 -0
  322. package/dist/primitives/radio-group.js +6 -0
  323. package/dist/primitives/radio-group.js.map +1 -0
  324. package/dist/primitives/radio.js +6 -0
  325. package/dist/primitives/radio.js.map +1 -0
  326. package/dist/primitives/scroll-area.js +6 -0
  327. package/dist/primitives/scroll-area.js.map +1 -0
  328. package/dist/primitives/select.js +6 -0
  329. package/dist/primitives/select.js.map +1 -0
  330. package/dist/primitives/separator.js +6 -0
  331. package/dist/primitives/separator.js.map +1 -0
  332. package/dist/primitives/slider.js +6 -0
  333. package/dist/primitives/slider.js.map +1 -0
  334. package/dist/primitives/switch.js +6 -0
  335. package/dist/primitives/switch.js.map +1 -0
  336. package/dist/primitives/tabs.js +6 -0
  337. package/dist/primitives/tabs.js.map +1 -0
  338. package/dist/primitives/toast.js +6 -0
  339. package/dist/primitives/toast.js.map +1 -0
  340. package/dist/primitives/toggle-group.js +6 -0
  341. package/dist/primitives/toggle-group.js.map +1 -0
  342. package/dist/primitives/toggle.js +6 -0
  343. package/dist/primitives/toggle.js.map +1 -0
  344. package/dist/primitives/toolbar.js +6 -0
  345. package/dist/primitives/toolbar.js.map +1 -0
  346. package/dist/primitives/tooltip.js +6 -0
  347. package/dist/primitives/tooltip.js.map +1 -0
  348. package/dist/primitives.js +46 -0
  349. package/dist/primitives.js.map +1 -0
  350. package/dist/registry.js +2 -0
  351. package/dist/registry.js.map +1 -0
  352. package/dist/scripts/theme-generator/config.d.ts +6 -0
  353. package/dist/scripts/theme-generator/config.d.ts.map +1 -0
  354. package/dist/scripts/theme-generator/config.js +629 -0
  355. package/dist/scripts/theme-generator/config.js.map +1 -0
  356. package/dist/scripts/theme-generator/generate-css.d.ts +31 -0
  357. package/dist/scripts/theme-generator/generate-css.d.ts.map +1 -0
  358. package/dist/scripts/theme-generator/index.d.ts +13 -0
  359. package/dist/scripts/theme-generator/index.d.ts.map +1 -0
  360. package/dist/scripts/theme-generator/migrate.d.ts +56 -0
  361. package/dist/scripts/theme-generator/migrate.d.ts.map +1 -0
  362. package/dist/scripts/theme-generator/types.d.ts +82 -0
  363. package/dist/scripts/theme-generator/types.d.ts.map +1 -0
  364. package/dist/scripts/theme-generator/types.js +2 -0
  365. package/dist/scripts/theme-generator/types.js.map +1 -0
  366. package/dist/src/blocks/delete-resource/delete-resource.d.ts +46 -0
  367. package/dist/src/blocks/delete-resource/delete-resource.d.ts.map +1 -0
  368. package/dist/src/blocks/delete-resource/index.d.ts +2 -0
  369. package/dist/src/blocks/delete-resource/index.d.ts.map +1 -0
  370. package/dist/src/blocks/page-header/index.d.ts +2 -0
  371. package/dist/src/blocks/page-header/index.d.ts.map +1 -0
  372. package/dist/src/blocks/page-header/page-header.d.ts +38 -0
  373. package/dist/src/blocks/page-header/page-header.d.ts.map +1 -0
  374. package/dist/src/blocks/resource-list/index.d.ts +2 -0
  375. package/dist/src/blocks/resource-list/index.d.ts.map +1 -0
  376. package/dist/src/blocks/resource-list/resource-list.d.ts +18 -0
  377. package/dist/src/blocks/resource-list/resource-list.d.ts.map +1 -0
  378. package/dist/src/catalog/catalog.d.ts +75 -0
  379. package/dist/src/catalog/catalog.d.ts.map +1 -0
  380. package/dist/src/catalog/data.d.ts +44 -0
  381. package/dist/src/catalog/data.d.ts.map +1 -0
  382. package/dist/src/catalog/index.d.ts +39 -0
  383. package/dist/src/catalog/index.d.ts.map +1 -0
  384. package/dist/src/catalog/types.d.ts +226 -0
  385. package/dist/src/catalog/types.d.ts.map +1 -0
  386. package/dist/src/catalog/visibility.d.ts +37 -0
  387. package/dist/src/catalog/visibility.d.ts.map +1 -0
  388. package/dist/src/code/code-highlighted.d.ts +32 -0
  389. package/dist/src/code/code-highlighted.d.ts.map +1 -0
  390. package/dist/src/code/context.d.ts +16 -0
  391. package/dist/src/code/context.d.ts.map +1 -0
  392. package/dist/src/code/index.d.ts +32 -0
  393. package/dist/src/code/index.d.ts.map +1 -0
  394. package/dist/src/code/provider.d.ts +13 -0
  395. package/dist/src/code/provider.d.ts.map +1 -0
  396. package/dist/src/code/server.d.ts +95 -0
  397. package/dist/src/code/server.d.ts.map +1 -0
  398. package/dist/src/code/types.d.ts +130 -0
  399. package/dist/src/code/types.d.ts.map +1 -0
  400. package/dist/src/code/use-shiki-highlighter.d.ts +36 -0
  401. package/dist/src/code/use-shiki-highlighter.d.ts.map +1 -0
  402. package/dist/src/command-line/build-cli.d.ts +7 -0
  403. package/dist/src/command-line/build-cli.d.ts.map +1 -0
  404. package/dist/src/command-line/cli.d.ts +13 -0
  405. package/dist/src/command-line/cli.d.ts.map +1 -0
  406. package/dist/src/command-line/commands/add.d.ts +10 -0
  407. package/dist/src/command-line/commands/add.d.ts.map +1 -0
  408. package/dist/src/command-line/commands/ai.d.ts +10 -0
  409. package/dist/src/command-line/commands/ai.d.ts.map +1 -0
  410. package/dist/src/command-line/commands/blocks.d.ts +10 -0
  411. package/dist/src/command-line/commands/blocks.d.ts.map +1 -0
  412. package/dist/src/command-line/commands/doc.d.ts +14 -0
  413. package/dist/src/command-line/commands/doc.d.ts.map +1 -0
  414. package/dist/src/command-line/commands/init.d.ts +18 -0
  415. package/dist/src/command-line/commands/init.d.ts.map +1 -0
  416. package/dist/src/command-line/commands/ls.d.ts +10 -0
  417. package/dist/src/command-line/commands/ls.d.ts.map +1 -0
  418. package/dist/src/command-line/commands/migrate.d.ts +10 -0
  419. package/dist/src/command-line/commands/migrate.d.ts.map +1 -0
  420. package/dist/src/command-line/utils/config.d.ts +42 -0
  421. package/dist/src/command-line/utils/config.d.ts.map +1 -0
  422. package/dist/src/command-line/utils/transformer.d.ts +21 -0
  423. package/dist/src/command-line/utils/transformer.d.ts.map +1 -0
  424. package/dist/src/components/autocomplete/autocomplete.d.ts +181 -0
  425. package/dist/src/components/autocomplete/autocomplete.d.ts.map +1 -0
  426. package/dist/src/components/autocomplete/index.d.ts +3 -0
  427. package/dist/src/components/autocomplete/index.d.ts.map +1 -0
  428. package/dist/src/components/badge/badge.d.ts +180 -0
  429. package/dist/src/components/badge/badge.d.ts.map +1 -0
  430. package/dist/src/components/badge/index.d.ts +2 -0
  431. package/dist/src/components/badge/index.d.ts.map +1 -0
  432. package/dist/src/components/banner/banner.d.ts +106 -0
  433. package/dist/src/components/banner/banner.d.ts.map +1 -0
  434. package/dist/src/components/banner/index.d.ts +2 -0
  435. package/dist/src/components/banner/index.d.ts.map +1 -0
  436. package/dist/src/components/breadcrumbs/breadcrumbs.d.ts +78 -0
  437. package/dist/src/components/breadcrumbs/breadcrumbs.d.ts.map +1 -0
  438. package/dist/src/components/breadcrumbs/index.d.ts +2 -0
  439. package/dist/src/components/breadcrumbs/index.d.ts.map +1 -0
  440. package/dist/src/components/button/button.d.ts +214 -0
  441. package/dist/src/components/button/button.d.ts.map +1 -0
  442. package/dist/src/components/button/index.d.ts +2 -0
  443. package/dist/src/components/button/index.d.ts.map +1 -0
  444. package/dist/src/components/chart/Color.d.ts +91 -0
  445. package/dist/src/components/chart/Color.d.ts.map +1 -0
  446. package/dist/src/components/chart/EChart.d.ts +159 -0
  447. package/dist/src/components/chart/EChart.d.ts.map +1 -0
  448. package/dist/src/components/chart/Legend.d.ts +51 -0
  449. package/dist/src/components/chart/Legend.d.ts.map +1 -0
  450. package/dist/src/components/chart/SankeyChart.d.ts +98 -0
  451. package/dist/src/components/chart/SankeyChart.d.ts.map +1 -0
  452. package/dist/src/components/chart/TimeseriesChart.d.ts +181 -0
  453. package/dist/src/components/chart/TimeseriesChart.d.ts.map +1 -0
  454. package/dist/src/components/chart/index.d.ts +6 -0
  455. package/dist/src/components/chart/index.d.ts.map +1 -0
  456. package/dist/src/components/checkbox/checkbox.d.ts +197 -0
  457. package/dist/src/components/checkbox/checkbox.d.ts.map +1 -0
  458. package/dist/src/components/checkbox/index.d.ts +2 -0
  459. package/dist/src/components/checkbox/index.d.ts.map +1 -0
  460. package/dist/src/components/clipboard-text/clipboard-text.d.ts +88 -0
  461. package/dist/src/components/clipboard-text/clipboard-text.d.ts.map +1 -0
  462. package/dist/src/components/clipboard-text/index.d.ts +2 -0
  463. package/dist/src/components/clipboard-text/index.d.ts.map +1 -0
  464. package/dist/src/components/cloudflare-logo/cloudflare-logo.d.ts +133 -0
  465. package/dist/src/components/cloudflare-logo/cloudflare-logo.d.ts.map +1 -0
  466. package/dist/src/components/cloudflare-logo/index.d.ts +2 -0
  467. package/dist/src/components/cloudflare-logo/index.d.ts.map +1 -0
  468. package/dist/src/components/code/code.d.ts +189 -0
  469. package/dist/src/components/code/code.d.ts.map +1 -0
  470. package/dist/src/components/code/index.d.ts +4 -0
  471. package/dist/src/components/code/index.d.ts.map +1 -0
  472. package/dist/src/components/collapsible/collapsible.d.ts +109 -0
  473. package/dist/src/components/collapsible/collapsible.d.ts.map +1 -0
  474. package/dist/src/components/collapsible/index.d.ts +2 -0
  475. package/dist/src/components/collapsible/index.d.ts.map +1 -0
  476. package/dist/src/components/combobox/combobox.d.ts +246 -0
  477. package/dist/src/components/combobox/combobox.d.ts.map +1 -0
  478. package/dist/src/components/combobox/index.d.ts +3 -0
  479. package/dist/src/components/combobox/index.d.ts.map +1 -0
  480. package/dist/src/components/command-palette/command-palette.d.ts +258 -0
  481. package/dist/src/components/command-palette/command-palette.d.ts.map +1 -0
  482. package/dist/src/components/command-palette/index.d.ts +3 -0
  483. package/dist/src/components/command-palette/index.d.ts.map +1 -0
  484. package/dist/src/components/command-palette/types.d.ts +168 -0
  485. package/dist/src/components/command-palette/types.d.ts.map +1 -0
  486. package/dist/src/components/date-picker/date-picker.d.ts +65 -0
  487. package/dist/src/components/date-picker/date-picker.d.ts.map +1 -0
  488. package/dist/src/components/date-picker/index.d.ts +4 -0
  489. package/dist/src/components/date-picker/index.d.ts.map +1 -0
  490. package/dist/src/components/date-range-picker/date-range-picker.d.ts +125 -0
  491. package/dist/src/components/date-range-picker/date-range-picker.d.ts.map +1 -0
  492. package/dist/src/components/date-range-picker/index.d.ts +5 -0
  493. package/dist/src/components/date-range-picker/index.d.ts.map +1 -0
  494. package/dist/src/components/dialog/dialog.d.ts +242 -0
  495. package/dist/src/components/dialog/dialog.d.ts.map +1 -0
  496. package/dist/src/components/dialog/index.d.ts +2 -0
  497. package/dist/src/components/dialog/index.d.ts.map +1 -0
  498. package/dist/src/components/dropdown/dropdown.d.ts +116 -0
  499. package/dist/src/components/dropdown/dropdown.d.ts.map +1 -0
  500. package/dist/src/components/dropdown/index.d.ts +2 -0
  501. package/dist/src/components/dropdown/index.d.ts.map +1 -0
  502. package/dist/src/components/empty/empty.d.ts +69 -0
  503. package/dist/src/components/empty/empty.d.ts.map +1 -0
  504. package/dist/src/components/empty/index.d.ts +2 -0
  505. package/dist/src/components/empty/index.d.ts.map +1 -0
  506. package/dist/src/components/field/field.d.ts +89 -0
  507. package/dist/src/components/field/field.d.ts.map +1 -0
  508. package/dist/src/components/field/index.d.ts +2 -0
  509. package/dist/src/components/field/index.d.ts.map +1 -0
  510. package/dist/src/components/flow/connectors.d.ts +41 -0
  511. package/dist/src/components/flow/connectors.d.ts.map +1 -0
  512. package/dist/src/components/flow/diagram.d.ts +96 -0
  513. package/dist/src/components/flow/diagram.d.ts.map +1 -0
  514. package/dist/src/components/flow/index.d.ts +26 -0
  515. package/dist/src/components/flow/index.d.ts.map +1 -0
  516. package/dist/src/components/flow/node.d.ts +61 -0
  517. package/dist/src/components/flow/node.d.ts.map +1 -0
  518. package/dist/src/components/flow/parallel.d.ts +13 -0
  519. package/dist/src/components/flow/parallel.d.ts.map +1 -0
  520. package/dist/src/components/flow/use-children.d.ts +87 -0
  521. package/dist/src/components/flow/use-children.d.ts.map +1 -0
  522. package/dist/src/components/grid/grid.d.ts +135 -0
  523. package/dist/src/components/grid/grid.d.ts.map +1 -0
  524. package/dist/src/components/grid/index.d.ts +2 -0
  525. package/dist/src/components/grid/index.d.ts.map +1 -0
  526. package/dist/src/components/input/index.d.ts +19 -0
  527. package/dist/src/components/input/index.d.ts.map +1 -0
  528. package/dist/src/components/input/input-area.d.ts +65 -0
  529. package/dist/src/components/input/input-area.d.ts.map +1 -0
  530. package/dist/src/components/input/input.d.ts +175 -0
  531. package/dist/src/components/input/input.d.ts.map +1 -0
  532. package/dist/src/components/input-group/context.d.ts +96 -0
  533. package/dist/src/components/input-group/context.d.ts.map +1 -0
  534. package/dist/src/components/input-group/index.d.ts +2 -0
  535. package/dist/src/components/input-group/index.d.ts.map +1 -0
  536. package/dist/src/components/input-group/input-group-addon.d.ts +15 -0
  537. package/dist/src/components/input-group/input-group-addon.d.ts.map +1 -0
  538. package/dist/src/components/input-group/input-group-button.d.ts +36 -0
  539. package/dist/src/components/input-group/input-group-button.d.ts.map +1 -0
  540. package/dist/src/components/input-group/input-group-input.d.ts +9 -0
  541. package/dist/src/components/input-group/input-group-input.d.ts.map +1 -0
  542. package/dist/src/components/input-group/input-group-suffix.d.ts +13 -0
  543. package/dist/src/components/input-group/input-group-suffix.d.ts.map +1 -0
  544. package/dist/src/components/input-group/input-group.d.ts +43 -0
  545. package/dist/src/components/input-group/input-group.d.ts.map +1 -0
  546. package/dist/src/components/label/index.d.ts +2 -0
  547. package/dist/src/components/label/index.d.ts.map +1 -0
  548. package/dist/src/components/label/label.d.ts +67 -0
  549. package/dist/src/components/label/label.d.ts.map +1 -0
  550. package/dist/src/components/layer-card/index.d.ts +2 -0
  551. package/dist/src/components/layer-card/index.d.ts.map +1 -0
  552. package/dist/src/components/layer-card/layer-card.d.ts +60 -0
  553. package/dist/src/components/layer-card/layer-card.d.ts.map +1 -0
  554. package/dist/src/components/link/index.d.ts +2 -0
  555. package/dist/src/components/link/index.d.ts.map +1 -0
  556. package/dist/src/components/link/link.d.ts +66 -0
  557. package/dist/src/components/link/link.d.ts.map +1 -0
  558. package/dist/src/components/loader/index.d.ts +3 -0
  559. package/dist/src/components/loader/index.d.ts.map +1 -0
  560. package/dist/src/components/loader/loader.d.ts +70 -0
  561. package/dist/src/components/loader/loader.d.ts.map +1 -0
  562. package/dist/src/components/loader/skeleton-line.d.ts +11 -0
  563. package/dist/src/components/loader/skeleton-line.d.ts.map +1 -0
  564. package/dist/src/components/menubar/index.d.ts +3 -0
  565. package/dist/src/components/menubar/index.d.ts.map +1 -0
  566. package/dist/src/components/menubar/menubar.d.ts +66 -0
  567. package/dist/src/components/menubar/menubar.d.ts.map +1 -0
  568. package/dist/src/components/menubar/use-menu-navigation.d.ts +8 -0
  569. package/dist/src/components/menubar/use-menu-navigation.d.ts.map +1 -0
  570. package/dist/src/components/meter/index.d.ts +2 -0
  571. package/dist/src/components/meter/index.d.ts.map +1 -0
  572. package/dist/src/components/meter/meter.d.ts +44 -0
  573. package/dist/src/components/meter/meter.d.ts.map +1 -0
  574. package/dist/src/components/pagination/index.d.ts +2 -0
  575. package/dist/src/components/pagination/index.d.ts.map +1 -0
  576. package/dist/src/components/pagination/pagination.d.ts +241 -0
  577. package/dist/src/components/pagination/pagination.d.ts.map +1 -0
  578. package/dist/src/components/popover/index.d.ts +3 -0
  579. package/dist/src/components/popover/index.d.ts.map +1 -0
  580. package/dist/src/components/popover/popover.d.ts +178 -0
  581. package/dist/src/components/popover/popover.d.ts.map +1 -0
  582. package/dist/src/components/radio/index.d.ts +2 -0
  583. package/dist/src/components/radio/index.d.ts.map +1 -0
  584. package/dist/src/components/radio/radio.d.ts +277 -0
  585. package/dist/src/components/radio/radio.d.ts.map +1 -0
  586. package/dist/src/components/radio/radio.type-spec.d.ts +12 -0
  587. package/dist/src/components/radio/radio.type-spec.d.ts.map +1 -0
  588. package/dist/src/components/select/index.d.ts +2 -0
  589. package/dist/src/components/select/index.d.ts.map +1 -0
  590. package/dist/src/components/select/select.d.ts +288 -0
  591. package/dist/src/components/select/select.d.ts.map +1 -0
  592. package/dist/src/components/sensitive-input/index.d.ts +2 -0
  593. package/dist/src/components/sensitive-input/index.d.ts.map +1 -0
  594. package/dist/src/components/sensitive-input/sensitive-input.d.ts +94 -0
  595. package/dist/src/components/sensitive-input/sensitive-input.d.ts.map +1 -0
  596. package/dist/src/components/sidebar/index.d.ts +2 -0
  597. package/dist/src/components/sidebar/index.d.ts.map +1 -0
  598. package/dist/src/components/sidebar/sidebar.d.ts +581 -0
  599. package/dist/src/components/sidebar/sidebar.d.ts.map +1 -0
  600. package/dist/src/components/surface/index.d.ts +5 -0
  601. package/dist/src/components/surface/index.d.ts.map +1 -0
  602. package/dist/src/components/surface/surface.d.ts +64 -0
  603. package/dist/src/components/surface/surface.d.ts.map +1 -0
  604. package/dist/src/components/switch/index.d.ts +2 -0
  605. package/dist/src/components/switch/index.d.ts.map +1 -0
  606. package/dist/src/components/switch/switch.d.ts +197 -0
  607. package/dist/src/components/switch/switch.d.ts.map +1 -0
  608. package/dist/src/components/table/index.d.ts +2 -0
  609. package/dist/src/components/table/index.d.ts.map +1 -0
  610. package/dist/src/components/table/table.d.ts +138 -0
  611. package/dist/src/components/table/table.d.ts.map +1 -0
  612. package/dist/src/components/table-of-contents/index.d.ts +2 -0
  613. package/dist/src/components/table-of-contents/index.d.ts.map +1 -0
  614. package/dist/src/components/table-of-contents/table-of-contents.d.ts +72 -0
  615. package/dist/src/components/table-of-contents/table-of-contents.d.ts.map +1 -0
  616. package/dist/src/components/tabs/index.d.ts +3 -0
  617. package/dist/src/components/tabs/index.d.ts.map +1 -0
  618. package/dist/src/components/tabs/tabs.d.ts +116 -0
  619. package/dist/src/components/tabs/tabs.d.ts.map +1 -0
  620. package/dist/src/components/text/index.d.ts +2 -0
  621. package/dist/src/components/text/index.d.ts.map +1 -0
  622. package/dist/src/components/text/text.d.ts +214 -0
  623. package/dist/src/components/text/text.d.ts.map +1 -0
  624. package/dist/src/components/text/text.type-spec.d.ts +44 -0
  625. package/dist/src/components/text/text.type-spec.d.ts.map +1 -0
  626. package/dist/src/components/toast/index.d.ts +5 -0
  627. package/dist/src/components/toast/index.d.ts.map +1 -0
  628. package/dist/src/components/toast/toast.d.ts +197 -0
  629. package/dist/src/components/toast/toast.d.ts.map +1 -0
  630. package/dist/src/components/tooltip/index.d.ts +2 -0
  631. package/dist/src/components/tooltip/index.d.ts.map +1 -0
  632. package/dist/src/components/tooltip/tooltip.d.ts +108 -0
  633. package/dist/src/components/tooltip/tooltip.d.ts.map +1 -0
  634. package/dist/src/index.d.ts +84 -0
  635. package/dist/src/index.d.ts.map +1 -0
  636. package/dist/src/primitives/accordion.d.ts +13 -0
  637. package/dist/src/primitives/accordion.d.ts.map +1 -0
  638. package/dist/src/primitives/alert-dialog.d.ts +13 -0
  639. package/dist/src/primitives/alert-dialog.d.ts.map +1 -0
  640. package/dist/src/primitives/autocomplete.d.ts +13 -0
  641. package/dist/src/primitives/autocomplete.d.ts.map +1 -0
  642. package/dist/src/primitives/avatar.d.ts +13 -0
  643. package/dist/src/primitives/avatar.d.ts.map +1 -0
  644. package/dist/src/primitives/button.d.ts +13 -0
  645. package/dist/src/primitives/button.d.ts.map +1 -0
  646. package/dist/src/primitives/checkbox-group.d.ts +13 -0
  647. package/dist/src/primitives/checkbox-group.d.ts.map +1 -0
  648. package/dist/src/primitives/checkbox.d.ts +13 -0
  649. package/dist/src/primitives/checkbox.d.ts.map +1 -0
  650. package/dist/src/primitives/collapsible.d.ts +13 -0
  651. package/dist/src/primitives/collapsible.d.ts.map +1 -0
  652. package/dist/src/primitives/combobox.d.ts +13 -0
  653. package/dist/src/primitives/combobox.d.ts.map +1 -0
  654. package/dist/src/primitives/context-menu.d.ts +13 -0
  655. package/dist/src/primitives/context-menu.d.ts.map +1 -0
  656. package/dist/src/primitives/csp-provider.d.ts +13 -0
  657. package/dist/src/primitives/csp-provider.d.ts.map +1 -0
  658. package/dist/src/primitives/dialog.d.ts +13 -0
  659. package/dist/src/primitives/dialog.d.ts.map +1 -0
  660. package/dist/src/primitives/direction-provider.d.ts +13 -0
  661. package/dist/src/primitives/direction-provider.d.ts.map +1 -0
  662. package/dist/src/primitives/drawer.d.ts +13 -0
  663. package/dist/src/primitives/drawer.d.ts.map +1 -0
  664. package/dist/src/primitives/field.d.ts +13 -0
  665. package/dist/src/primitives/field.d.ts.map +1 -0
  666. package/dist/src/primitives/fieldset.d.ts +13 -0
  667. package/dist/src/primitives/fieldset.d.ts.map +1 -0
  668. package/dist/src/primitives/form.d.ts +13 -0
  669. package/dist/src/primitives/form.d.ts.map +1 -0
  670. package/dist/src/primitives/index.d.ts +55 -0
  671. package/dist/src/primitives/index.d.ts.map +1 -0
  672. package/dist/src/primitives/input.d.ts +13 -0
  673. package/dist/src/primitives/input.d.ts.map +1 -0
  674. package/dist/src/primitives/menu.d.ts +13 -0
  675. package/dist/src/primitives/menu.d.ts.map +1 -0
  676. package/dist/src/primitives/menubar.d.ts +13 -0
  677. package/dist/src/primitives/menubar.d.ts.map +1 -0
  678. package/dist/src/primitives/meter.d.ts +13 -0
  679. package/dist/src/primitives/meter.d.ts.map +1 -0
  680. package/dist/src/primitives/navigation-menu.d.ts +13 -0
  681. package/dist/src/primitives/navigation-menu.d.ts.map +1 -0
  682. package/dist/src/primitives/number-field.d.ts +13 -0
  683. package/dist/src/primitives/number-field.d.ts.map +1 -0
  684. package/dist/src/primitives/otp-field.d.ts +13 -0
  685. package/dist/src/primitives/otp-field.d.ts.map +1 -0
  686. package/dist/src/primitives/popover.d.ts +13 -0
  687. package/dist/src/primitives/popover.d.ts.map +1 -0
  688. package/dist/src/primitives/preview-card.d.ts +13 -0
  689. package/dist/src/primitives/preview-card.d.ts.map +1 -0
  690. package/dist/src/primitives/progress.d.ts +13 -0
  691. package/dist/src/primitives/progress.d.ts.map +1 -0
  692. package/dist/src/primitives/radio-group.d.ts +13 -0
  693. package/dist/src/primitives/radio-group.d.ts.map +1 -0
  694. package/dist/src/primitives/radio.d.ts +13 -0
  695. package/dist/src/primitives/radio.d.ts.map +1 -0
  696. package/dist/src/primitives/scroll-area.d.ts +13 -0
  697. package/dist/src/primitives/scroll-area.d.ts.map +1 -0
  698. package/dist/src/primitives/select.d.ts +13 -0
  699. package/dist/src/primitives/select.d.ts.map +1 -0
  700. package/dist/src/primitives/separator.d.ts +13 -0
  701. package/dist/src/primitives/separator.d.ts.map +1 -0
  702. package/dist/src/primitives/slider.d.ts +13 -0
  703. package/dist/src/primitives/slider.d.ts.map +1 -0
  704. package/dist/src/primitives/switch.d.ts +13 -0
  705. package/dist/src/primitives/switch.d.ts.map +1 -0
  706. package/dist/src/primitives/tabs.d.ts +13 -0
  707. package/dist/src/primitives/tabs.d.ts.map +1 -0
  708. package/dist/src/primitives/toast.d.ts +13 -0
  709. package/dist/src/primitives/toast.d.ts.map +1 -0
  710. package/dist/src/primitives/toggle-group.d.ts +13 -0
  711. package/dist/src/primitives/toggle-group.d.ts.map +1 -0
  712. package/dist/src/primitives/toggle.d.ts +13 -0
  713. package/dist/src/primitives/toggle.d.ts.map +1 -0
  714. package/dist/src/primitives/toolbar.d.ts +13 -0
  715. package/dist/src/primitives/toolbar.d.ts.map +1 -0
  716. package/dist/src/primitives/tooltip.d.ts +13 -0
  717. package/dist/src/primitives/tooltip.d.ts.map +1 -0
  718. package/dist/src/registry/index.d.ts +8 -0
  719. package/dist/src/registry/index.d.ts.map +1 -0
  720. package/dist/src/registry/types.d.ts +191 -0
  721. package/dist/src/registry/types.d.ts.map +1 -0
  722. package/dist/src/utils/cn.d.ts +4 -0
  723. package/dist/src/utils/cn.d.ts.map +1 -0
  724. package/dist/src/utils/index.d.ts +4 -0
  725. package/dist/src/utils/index.d.ts.map +1 -0
  726. package/dist/src/utils/link-provider.d.ts +66 -0
  727. package/dist/src/utils/link-provider.d.ts.map +1 -0
  728. package/dist/src/utils/portal-provider.d.ts +56 -0
  729. package/dist/src/utils/portal-provider.d.ts.map +1 -0
  730. package/dist/src/utils/prop-examples.d.ts +36 -0
  731. package/dist/src/utils/prop-examples.d.ts.map +1 -0
  732. package/dist/src/utils/resolve-variant.d.ts +27 -0
  733. package/dist/src/utils/resolve-variant.d.ts.map +1 -0
  734. package/dist/styles/reki-binding.css +303 -0
  735. package/dist/styles/reki-standalone.css +2 -0
  736. package/dist/styles/reki.css +700 -0
  737. package/dist/styles/theme-fedramp.css +39 -0
  738. package/dist/styles/theme-reki.css +412 -0
  739. package/dist/utils.js +12 -0
  740. package/dist/utils.js.map +1 -0
  741. package/package.json +511 -0
  742. package/scripts/component-registry/cache.ts +123 -0
  743. package/scripts/component-registry/discovery.ts +469 -0
  744. package/scripts/component-registry/example-cleanup.ts +168 -0
  745. package/scripts/component-registry/index.test.ts +987 -0
  746. package/scripts/component-registry/index.ts +970 -0
  747. package/scripts/component-registry/markdown-generator.ts +222 -0
  748. package/scripts/component-registry/metadata.ts +956 -0
  749. package/scripts/component-registry/props-filter.ts +310 -0
  750. package/scripts/component-registry/schema-generator.ts +331 -0
  751. package/scripts/component-registry/sub-components.ts +380 -0
  752. package/scripts/component-registry/types.ts +158 -0
  753. package/scripts/component-registry/utils.ts +280 -0
  754. package/scripts/component-registry/variant-parser.ts +261 -0
  755. package/scripts/css-build.ts +105 -0
  756. package/scripts/generate-primitives.ts +183 -0
  757. package/scripts/theme-generator/config.ts +653 -0
  758. package/scripts/theme-generator/generate-css.test.ts +30 -0
  759. package/scripts/theme-generator/generate-css.ts +351 -0
  760. package/scripts/theme-generator/index.ts +159 -0
  761. package/scripts/theme-generator/migrate.ts +560 -0
  762. package/scripts/theme-generator/types.ts +92 -0
@@ -0,0 +1,120 @@
1
+ "use client";
2
+ import { jsxs as t, jsx as s } from "react/jsx-runtime";
3
+ import { forwardRef as h, isValidElement as u } from "react";
4
+ import { c as r } from "./cn-ct4n7r74mh8y0f48.js";
5
+ import { r as p } from "./resolve-variant-t8jcltsizeg29ege.js";
6
+ const k = "flex w-full items-start gap-3 rounded-lg px-4 py-3 text-base", v = {
7
+ variant: {
8
+ default: {
9
+ classes: "bg-reki-banner-info text-reki-info",
10
+ iconClasses: "text-reki-info",
11
+ description: "Informational banner for general messages"
12
+ },
13
+ alert: {
14
+ classes: "bg-reki-banner-warning text-reki-warning",
15
+ iconClasses: "text-reki-warning",
16
+ description: "Warning banner for cautionary messages"
17
+ },
18
+ error: {
19
+ classes: "bg-reki-danger-tint/60 text-reki-danger",
20
+ iconClasses: "text-reki-danger",
21
+ description: "Error banner for critical issues"
22
+ },
23
+ secondary: {
24
+ classes: "bg-reki-contrast/5 text-reki-subtle",
25
+ iconClasses: "text-reki-subtle",
26
+ description: "Neutral banner for secondary messages"
27
+ }
28
+ }
29
+ }, l = {
30
+ variant: "default"
31
+ };
32
+ function N({
33
+ variant: e = l.variant
34
+ } = {}) {
35
+ const n = p(
36
+ v.variant,
37
+ e,
38
+ l.variant
39
+ );
40
+ return r(
41
+ // Base styles (exported as REKI_BANNER_BASE_STYLES for Figma plugin)
42
+ k,
43
+ // Apply variant styles from REKI_BANNER_VARIANTS
44
+ n.classes
45
+ );
46
+ }
47
+ var A = /* @__PURE__ */ ((e) => (e[e.DEFAULT = 0] = "DEFAULT", e[e.ALERT = 1] = "ALERT", e[e.ERROR = 2] = "ERROR", e))(A || {});
48
+ const T = h(function({
49
+ icon: n,
50
+ title: i,
51
+ description: a,
52
+ action: d,
53
+ children: E,
54
+ text: R,
55
+ variant: c = l.variant,
56
+ className: m,
57
+ ...f
58
+ }, g) {
59
+ const x = p(
60
+ v.variant,
61
+ c,
62
+ l.variant
63
+ );
64
+ if (i || a)
65
+ return /* @__PURE__ */ t(
66
+ "div",
67
+ {
68
+ ref: g,
69
+ className: r(N({ variant: c }), m),
70
+ ...f,
71
+ children: [
72
+ n && /* @__PURE__ */ s(
73
+ "span",
74
+ {
75
+ className: r(
76
+ "shrink-0 flex items-center h-[1.375em]",
77
+ x.iconClasses
78
+ ),
79
+ children: n
80
+ }
81
+ ),
82
+ /* @__PURE__ */ t(
83
+ "div",
84
+ {
85
+ className: r(
86
+ "flex min-w-0 flex-1 items-center justify-between gap-3",
87
+ !i && "pt-px"
88
+ ),
89
+ children: [
90
+ /* @__PURE__ */ t("div", { className: "flex flex-col gap-0.5", children: [
91
+ i && /* @__PURE__ */ s("p", { className: "font-medium leading-snug", children: i }),
92
+ a && /* @__PURE__ */ s("div", { className: "text-sm leading-snug", children: u(a) ? a : /* @__PURE__ */ s("p", { children: a }) })
93
+ ] }),
94
+ d && /* @__PURE__ */ s("div", { className: "flex shrink-0 items-center gap-2", children: d })
95
+ ]
96
+ }
97
+ )
98
+ ]
99
+ }
100
+ );
101
+ const o = E ?? R, b = u(o) ? o : /* @__PURE__ */ s("p", { children: o });
102
+ return /* @__PURE__ */ t(
103
+ "div",
104
+ {
105
+ ref: g,
106
+ className: r(N({ variant: c }), m),
107
+ ...f,
108
+ children: [
109
+ n && /* @__PURE__ */ s("span", { className: r("shrink-0", x.iconClasses), children: n }),
110
+ b
111
+ ]
112
+ }
113
+ );
114
+ });
115
+ T.displayName = "Banner";
116
+ export {
117
+ T as B,
118
+ A as a
119
+ };
120
+ //# sourceMappingURL=banner-kis9h1yq636liunc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"banner-kis9h1yq636liunc.js","sources":["../../src/components/banner/banner.tsx"],"sourcesContent":["import {\n type HTMLAttributes,\n type ReactNode,\n isValidElement,\n forwardRef,\n} from \"react\";\nimport { cn } from \"../../utils/cn\";\nimport { resolveVariant } from \"../../utils/resolve-variant\";\n\n/** Base styles applied to all banner variants. */\nexport const REKI_BANNER_BASE_STYLES =\n \"flex w-full items-start gap-3 rounded-lg px-4 py-3 text-base\";\n\n/** Banner variant definitions mapping style options to their Tailwind classes and descriptions. */\nexport const REKI_BANNER_VARIANTS = {\n variant: {\n default: {\n classes: \"bg-reki-banner-info text-reki-info\",\n iconClasses: \"text-reki-info\",\n description: \"Informational banner for general messages\",\n },\n alert: {\n classes: \"bg-reki-banner-warning text-reki-warning\",\n iconClasses: \"text-reki-warning\",\n description: \"Warning banner for cautionary messages\",\n },\n error: {\n classes: \"bg-reki-danger-tint/60 text-reki-danger\",\n iconClasses: \"text-reki-danger\",\n description: \"Error banner for critical issues\",\n },\n secondary: {\n classes: \"bg-reki-contrast/5 text-reki-subtle\",\n iconClasses: \"text-reki-subtle\",\n description: \"Neutral banner for secondary messages\",\n },\n },\n} as const;\n\nexport const REKI_BANNER_DEFAULT_VARIANTS = {\n variant: \"default\",\n} as const;\n\n// Derived types from REKI_BANNER_VARIANTS\nexport type RekiBannerVariant = keyof typeof REKI_BANNER_VARIANTS.variant;\n\nexport interface RekiBannerVariantsProps {\n /**\n * Visual style of the banner.\n * - `\"default\"` — Informational banner for general messages\n * - `\"alert\"` — Warning banner for cautionary messages\n * - `\"error\"` — Error banner for critical issues\n * - `\"secondary\"` — Neutral banner for secondary messages\n * @default \"default\"\n */\n variant?: RekiBannerVariant;\n}\n\nexport function bannerVariants({\n variant = REKI_BANNER_DEFAULT_VARIANTS.variant,\n}: RekiBannerVariantsProps = {}) {\n const resolvedVariant = resolveVariant(\n REKI_BANNER_VARIANTS.variant,\n variant,\n REKI_BANNER_DEFAULT_VARIANTS.variant,\n );\n\n return cn(\n // Base styles (exported as REKI_BANNER_BASE_STYLES for Figma plugin)\n REKI_BANNER_BASE_STYLES,\n // Apply variant styles from REKI_BANNER_VARIANTS\n resolvedVariant.classes,\n );\n}\n\n// Legacy enum for backwards compatibility\nexport enum BannerVariant {\n DEFAULT,\n ALERT,\n ERROR,\n}\n\n/**\n * Banner component props.\n *\n * @example\n * ```tsx\n * <Banner title=\"Update available\" description=\"A new version is ready to install.\" />\n * <Banner variant=\"alert\" title=\"Session expiring\" description=\"Your session will expire soon.\" />\n * <Banner variant=\"error\" title=\"Save failed\" description=\"We couldn't save your changes.\" />\n * ```\n */\nexport interface BannerProps\n extends Omit<HTMLAttributes<HTMLDivElement>, \"children\" | \"title\"> {\n /** Icon element rendered before the banner content (e.g. from `@phosphor-icons/react`). */\n icon?: ReactNode;\n /** Primary heading text for the banner. Use for i18n string injection. */\n title?: string;\n /** Secondary description text displayed below the title. Use for i18n string injection. */\n description?: ReactNode;\n /** Action slot rendered at the trailing end of the banner (e.g. a CTA button or link). Only used in structured mode (with `title` or `description`). */\n action?: ReactNode;\n /** @deprecated Use `title` and `description` instead. Will be removed in a future major version. */\n text?: string;\n /** @deprecated Use `title` and `description` instead for better i18n support. */\n children?: ReactNode;\n /**\n * Visual style of the banner.\n * - `\"default\"` — Informational blue banner for general messages\n * - `\"alert\"` — Warning yellow banner for cautionary messages\n * - `\"error\"` — Error red banner for critical issues\n * - `\"secondary\"` — Neutral banner for secondary messages\n * @default \"default\"\n */\n variant?: RekiBannerVariant;\n /** Additional CSS classes merged via `cn()`. */\n className?: string;\n}\n\n/**\n * Full-width message bar for informational, warning, or error notices.\n * Supports structured title/description for i18n, or simple children for basic usage.\n *\n * @example\n * ```tsx\n * // Structured (recommended for i18n)\n * <Banner\n * variant=\"alert\"\n * icon={<WarningCircle />}\n * title=\"Review required\"\n * description=\"Please review your billing information.\"\n * />\n *\n * // Simple (backwards compatible)\n * <Banner variant=\"alert\" icon={<WarningCircle />}>\n * Review your billing information.\n * </Banner>\n * ```\n */\nexport const Banner = forwardRef<HTMLDivElement, BannerProps>(function Banner(\n {\n icon,\n title,\n description,\n action,\n children,\n text,\n variant = REKI_BANNER_DEFAULT_VARIANTS.variant,\n className,\n ...props\n },\n ref,\n) {\n const variantConfig = resolveVariant(\n REKI_BANNER_VARIANTS.variant,\n variant,\n REKI_BANNER_DEFAULT_VARIANTS.variant,\n );\n\n // Structured mode: title and/or description provided\n if (title || description) {\n return (\n <div\n ref={ref}\n className={cn(bannerVariants({ variant }), className)}\n {...props}\n >\n {icon && (\n <span\n className={cn(\n \"shrink-0 flex items-center h-[1.375em]\",\n variantConfig.iconClasses,\n )}\n >\n {icon}\n </span>\n )}\n <div\n className={cn(\n \"flex min-w-0 flex-1 items-center justify-between gap-3\",\n !title && \"pt-px\",\n )}\n >\n <div className=\"flex flex-col gap-0.5\">\n {title && <p className=\"font-medium leading-snug\">{title}</p>}\n {description && (\n <div className=\"text-sm leading-snug\">\n {isValidElement(description) ? (\n description\n ) : (\n <p>{description}</p>\n )}\n </div>\n )}\n </div>\n {action && (\n <div className=\"flex shrink-0 items-center gap-2\">{action}</div>\n )}\n </div>\n </div>\n );\n }\n\n // Legacy mode: children or text prop\n const value = children ?? text;\n const content = isValidElement(value) ? value : <p>{value}</p>;\n\n return (\n <div\n ref={ref}\n className={cn(bannerVariants({ variant }), className)}\n {...props}\n >\n {icon && (\n <span className={cn(\"shrink-0\", variantConfig.iconClasses)}>\n {icon}\n </span>\n )}\n {content}\n </div>\n );\n});\n\nBanner.displayName = \"Banner\";\n"],"names":["REKI_BANNER_BASE_STYLES","REKI_BANNER_VARIANTS","REKI_BANNER_DEFAULT_VARIANTS","bannerVariants","variant","resolvedVariant","resolveVariant","cn","BannerVariant","Banner","forwardRef","icon","title","description","action","children","text","className","props","ref","variantConfig","jsxs","jsx","isValidElement","value","content"],"mappings":";;;;;AAUO,MAAMA,IACX,gEAGWC,IAAuB;AAAA,EAClC,SAAS;AAAA,IACP,SAAS;AAAA,MACP,SAAS;AAAA,MACT,aAAa;AAAA,MACb,aAAa;AAAA,IAAA;AAAA,IAEf,OAAO;AAAA,MACL,SAAS;AAAA,MACT,aAAa;AAAA,MACb,aAAa;AAAA,IAAA;AAAA,IAEf,OAAO;AAAA,MACL,SAAS;AAAA,MACT,aAAa;AAAA,MACb,aAAa;AAAA,IAAA;AAAA,IAEf,WAAW;AAAA,MACT,SAAS;AAAA,MACT,aAAa;AAAA,MACb,aAAa;AAAA,IAAA;AAAA,EACf;AAEJ,GAEaC,IAA+B;AAAA,EAC1C,SAAS;AACX;AAiBO,SAASC,EAAe;AAAA,EAC7B,SAAAC,IAAUF,EAA6B;AACzC,IAA6B,IAAI;AAC/B,QAAMG,IAAkBC;AAAA,IACtBL,EAAqB;AAAA,IACrBG;AAAA,IACAF,EAA6B;AAAA,EAAA;AAG/B,SAAOK;AAAA;AAAA,IAELP;AAAA;AAAA,IAEAK,EAAgB;AAAA,EAAA;AAEpB;AAGO,IAAKG,sBAAAA,OACVA,EAAAA,EAAA,UAAA,CAAA,IAAA,WACAA,EAAAA,EAAA,QAAA,CAAA,IAAA,SACAA,EAAAA,EAAA,QAAA,CAAA,IAAA,SAHUA,IAAAA,KAAA,CAAA,CAAA;AA+DL,MAAMC,IAASC,EAAwC,SAC5D;AAAA,EACE,MAAAC;AAAA,EACA,OAAAC;AAAA,EACA,aAAAC;AAAA,EACA,QAAAC;AAAA,EACA,UAAAC;AAAA,EACA,MAAAC;AAAA,EACA,SAAAZ,IAAUF,EAA6B;AAAA,EACvC,WAAAe;AAAA,EACA,GAAGC;AACL,GACAC,GACA;AACA,QAAMC,IAAgBd;AAAA,IACpBL,EAAqB;AAAA,IACrBG;AAAA,IACAF,EAA6B;AAAA,EAAA;AAI/B,MAAIU,KAASC;AACX,WACE,gBAAAQ;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,KAAAF;AAAA,QACA,WAAWZ,EAAGJ,EAAe,EAAE,SAAAC,EAAA,CAAS,GAAGa,CAAS;AAAA,QACnD,GAAGC;AAAA,QAEH,UAAA;AAAA,UAAAP,KACC,gBAAAW;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,WAAWf;AAAA,gBACT;AAAA,gBACAa,EAAc;AAAA,cAAA;AAAA,cAGf,UAAAT;AAAA,YAAA;AAAA,UAAA;AAAA,UAGL,gBAAAU;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,WAAWd;AAAA,gBACT;AAAA,gBACA,CAACK,KAAS;AAAA,cAAA;AAAA,cAGZ,UAAA;AAAA,gBAAA,gBAAAS,EAAC,OAAA,EAAI,WAAU,yBACZ,UAAA;AAAA,kBAAAT,KAAS,gBAAAU,EAAC,KAAA,EAAE,WAAU,4BAA4B,UAAAV,GAAM;AAAA,kBACxDC,KACC,gBAAAS,EAAC,OAAA,EAAI,WAAU,wBACZ,UAAAC,EAAeV,CAAW,IACzBA,IAEA,gBAAAS,EAAC,KAAA,EAAG,UAAAT,EAAA,CAAY,EAAA,CAEpB;AAAA,gBAAA,GAEJ;AAAA,gBACCC,KACC,gBAAAQ,EAAC,OAAA,EAAI,WAAU,oCAAoC,UAAAR,EAAA,CAAO;AAAA,cAAA;AAAA,YAAA;AAAA,UAAA;AAAA,QAE9D;AAAA,MAAA;AAAA,IAAA;AAMN,QAAMU,IAAQT,KAAYC,GACpBS,IAAUF,EAAeC,CAAK,IAAIA,IAAQ,gBAAAF,EAAC,OAAG,UAAAE,GAAM;AAE1D,SACE,gBAAAH;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAAF;AAAA,MACA,WAAWZ,EAAGJ,EAAe,EAAE,SAAAC,EAAA,CAAS,GAAGa,CAAS;AAAA,MACnD,GAAGC;AAAA,MAEH,UAAA;AAAA,QAAAP,KACC,gBAAAW,EAAC,UAAK,WAAWf,EAAG,YAAYa,EAAc,WAAW,GACtD,UAAAT,EAAA,CACH;AAAA,QAEDc;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGP,CAAC;AAEDhB,EAAO,cAAc;"}
@@ -0,0 +1,15 @@
1
+ "use client";
2
+ const n = Object.freeze(JSON.parse(`{"displayName":"Shell","name":"shellscript","patterns":[{"include":"#initial_context"}],"repository":{"alias_statement":{"begin":"[\\\\t ]*+(alias)[\\\\t ]*+((?:((?<!\\\\w)-\\\\w+)\\\\b[\\\\t ]*+)*)[\\\\t ]*+((?<!\\\\w)[-0-9A-Z_a-z]+(?!\\\\w))(?:(\\\\[)((?:(?:\\\\$?(?<!\\\\w)[-0-9A-Z_a-z]+(?!\\\\w)|@)|\\\\*)|(-?\\\\d+))(]))?(?:(?:(=)|(\\\\+=))|(-=))","beginCaptures":{"1":{"name":"storage.type.alias.shell"},"2":{"patterns":[{"match":"(?<!\\\\w)-\\\\w+\\\\b","name":"string.unquoted.argument.shell constant.other.option.shell"}]},"3":{"name":"string.unquoted.argument.shell constant.other.option.shell"},"4":{"name":"variable.other.assignment.shell"},"5":{"name":"punctuation.definition.array.access.shell"},"6":{"name":"variable.other.assignment.shell"},"7":{"name":"constant.numeric.shell constant.numeric.integer.shell"},"8":{"name":"punctuation.definition.array.access.shell"},"9":{"name":"keyword.operator.assignment.shell"},"10":{"name":"keyword.operator.assignment.compound.shell"},"11":{"name":"keyword.operator.assignment.compound.shell"}},"end":"(?=[\\\\t ]|$)|(?:(?:(?:(;)|(&&))|(\\\\|\\\\|))|(&))","endCaptures":{"1":{"name":"punctuation.terminator.statement.semicolon.shell"},"2":{"name":"punctuation.separator.statement.and.shell"},"3":{"name":"punctuation.separator.statement.or.shell"},"4":{"name":"punctuation.separator.statement.background.shell"}},"name":"meta.expression.assignment.alias.shell","patterns":[{"include":"#normal_context"}]},"argument":{"begin":"[\\\\t ]++(?![\\\\n#\\\\&(\\\\[|]|$|;)","beginCaptures":{},"end":"(?=[\\\\t \\\\&;|]|$|[\\\\n)\`])","endCaptures":{},"name":"meta.argument.shell","patterns":[{"include":"#argument_context"},{"include":"#line_continuation"}]},"argument_context":{"patterns":[{"captures":{"1":{"name":"string.unquoted.argument.shell","patterns":[{"match":"\\\\*","name":"variable.language.special.wildcard.shell"},{"include":"#variable"},{"include":"#numeric_literal"},{"captures":{"1":{"name":"constant.language.$1.shell"}},"match":"(?<!\\\\w)\\\\b(true|false)\\\\b(?!\\\\w)"}]}},"match":"[\\\\t ]*+([^\\\\t\\\\n \\"$\\\\&-);<>\\\\\\\\\`|]+(?!>))"},{"include":"#normal_context"}]},"arithmetic_double":{"patterns":[{"begin":"\\\\(\\\\(","beginCaptures":{"0":{"name":"punctuation.section.arithmetic.double.shell"}},"end":"\\\\)\\\\s*\\\\)","endCaptures":{"0":{"name":"punctuation.section.arithmetic.double.shell"}},"name":"meta.arithmetic.shell","patterns":[{"include":"#math"},{"include":"#string"}]}]},"arithmetic_no_dollar":{"patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.arithmetic.single.shell"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.arithmetic.single.shell"}},"name":"meta.arithmetic.shell","patterns":[{"include":"#math"},{"include":"#string"}]}]},"array_access_inline":{"captures":{"1":{"name":"punctuation.section.array.shell"},"2":{"patterns":[{"include":"#special_expansion"},{"include":"#string"},{"include":"#variable"}]},"3":{"name":"punctuation.section.array.shell"}},"match":"(\\\\[)([^]\\\\[]+)(])"},"array_value":{"begin":"[\\\\t ]*+((?<!\\\\w)[-0-9A-Z_a-z]+(?!\\\\w))(?:(\\\\[)((?:(?:\\\\$?(?<!\\\\w)[-0-9A-Z_a-z]+(?!\\\\w)|@)|\\\\*)|(-?\\\\d+))(]))?(?:(?:(=)|(\\\\+=))|(-=))[\\\\t ]*+(\\\\()","beginCaptures":{"1":{"name":"variable.other.assignment.shell"},"2":{"name":"punctuation.definition.array.access.shell"},"3":{"name":"variable.other.assignment.shell"},"4":{"name":"constant.numeric.shell constant.numeric.integer.shell"},"5":{"name":"punctuation.definition.array.access.shell"},"6":{"name":"keyword.operator.assignment.shell"},"7":{"name":"keyword.operator.assignment.compound.shell"},"8":{"name":"keyword.operator.assignment.compound.shell"},"9":{"name":"punctuation.definition.array.shell"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.array.shell"}},"patterns":[{"include":"#comment"},{"captures":{"1":{"name":"variable.other.assignment.array.shell entity.other.attribute-name.shell"},"2":{"name":"keyword.operator.assignment.shell punctuation.definition.assignment.shell"}},"match":"((?<!\\\\w)[-0-9A-Z_a-z]+(?!\\\\w))(=)"},{"captures":{"1":{"name":"punctuation.definition.bracket.named-array.shell"},"2":{"name":"string.unquoted.shell entity.other.attribute-name.bracket.shell"},"3":{"name":"punctuation.definition.bracket.named-array.shell"},"4":{"name":"punctuation.definition.assignment.shell"}},"match":"(\\\\[)(.+?)(])(=)"},{"include":"#normal_context"},{"include":"#simple_unquoted"}]},"assignment_statement":{"patterns":[{"include":"#array_value"},{"include":"#modified_assignment_statement"},{"include":"#normal_assignment_statement"}]},"basic_command_name":{"captures":{"1":{"name":"storage.modifier.$1.shell"},"2":{"name":"entity.name.function.call.shell entity.name.command.shell","patterns":[{"match":"(?<!\\\\w)(?:continue|return|break)(?!\\\\w)","name":"keyword.control.$0.shell"},{"match":"(?<!\\\\w)(?:unfunction|continue|autoload|unsetopt|bindkey|builtin|getopts|command|declare|unalias|history|unlimit|typeset|suspend|source|printf|unhash|disown|ulimit|return|which|alias|break|false|print|shift|times|umask|unset|read|type|exec|eval|wait|echo|dirs|jobs|kill|hash|stat|exit|test|trap|true|let|set|pwd|cd|fg|bg|fc|[.:])(?!/)(?!\\\\w)(?!-)","name":"support.function.builtin.shell"},{"include":"#variable"}]}},"match":"(?![\\\\n!#\\\\&()<>\\\\[{|]|$|[\\\\t ;])(?!nocorrect |nocorrect\\\\t|nocorrect$|readonly |readonly\\\\t|readonly$|function |function\\\\t|function$|foreach |foreach\\\\t|foreach$|coproc |coproc\\\\t|coproc$|logout |logout\\\\t|logout$|export |export\\\\t|export$|select |select\\\\t|select$|repeat |repeat\\\\t|repeat$|pushd |pushd\\\\t|pushd$|until |until\\\\t|until$|while |while\\\\t|while$|local |local\\\\t|local$|case |case\\\\t|case$|done |done\\\\t|done$|elif |elif\\\\t|elif$|else |else\\\\t|else$|esac |esac\\\\t|esac$|popd |popd\\\\t|popd$|then |then\\\\t|then$|time |time\\\\t|time$|for |for\\\\t|for$|end |end\\\\t|end$|fi |fi\\\\t|fi$|do |do\\\\t|do$|in |in\\\\t|in$|if |if\\\\t|if$)(?:((?<=^|[\\\\t \\\\&;])(?:readonly|declare|typeset|export|local)(?=[\\\\t \\\\&;]|$))|((?![\\"']|\\\\\\\\\\\\n?$)[^\\\\t\\\\n\\\\r !\\"'<>]+?))(?:(?=[\\\\t ])|(?=[\\\\n\\\\&);\`{|}]|[\\\\t ]*#|])(?<!\\\\\\\\))","name":"meta.statement.command.name.basic.shell"},"block_comment":{"begin":"\\\\s*+(/\\\\*)","beginCaptures":{"1":{"name":"punctuation.definition.comment.begin.shell"}},"end":"\\\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.end.shell"}},"name":"comment.block.shell"},"boolean":{"match":"\\\\b(?:true|false)\\\\b","name":"constant.language.$0.shell"},"case_statement":{"begin":"\\\\b(case)\\\\b[\\\\t ]*+(.+?)[\\\\t ]*+\\\\b(in)\\\\b","beginCaptures":{"1":{"name":"keyword.control.case.shell"},"2":{"patterns":[{"include":"#initial_context"}]},"3":{"name":"keyword.control.in.shell"}},"end":"\\\\besac\\\\b","endCaptures":{"0":{"name":"keyword.control.esac.shell"}},"name":"meta.case.shell","patterns":[{"include":"#comment"},{"captures":{"1":{"name":"keyword.operator.pattern.case.default.shell"}},"match":"[\\\\t ]*+(\\\\* *\\\\))"},{"begin":"(?<!\\\\))(?![\\\\t ]*+(?:esac\\\\b|$))","beginCaptures":{},"end":"(?=\\\\besac\\\\b)|(\\\\))","endCaptures":{"1":{"name":"keyword.operator.pattern.case.shell"}},"name":"meta.case.entry.pattern.shell","patterns":[{"include":"#case_statement_context"}]},{"begin":"(?<=\\\\))","beginCaptures":{},"end":"(;;)|(?=\\\\besac\\\\b)","endCaptures":{"1":{"name":"punctuation.terminator.statement.case.shell"}},"name":"meta.case.entry.body.shell","patterns":[{"include":"#typical_statements"},{"include":"#initial_context"}]}]},"case_statement_context":{"patterns":[{"match":"\\\\*","name":"variable.language.special.quantifier.star.shell keyword.operator.quantifier.star.shell punctuation.definition.arbitrary-repetition.shell punctuation.definition.regex.arbitrary-repetition.shell"},{"match":"\\\\+","name":"variable.language.special.quantifier.plus.shell keyword.operator.quantifier.plus.shell punctuation.definition.arbitrary-repetition.shell punctuation.definition.regex.arbitrary-repetition.shell"},{"match":"\\\\?","name":"variable.language.special.quantifier.question.shell keyword.operator.quantifier.question.shell punctuation.definition.arbitrary-repetition.shell punctuation.definition.regex.arbitrary-repetition.shell"},{"match":"@","name":"variable.language.special.at.shell keyword.operator.at.shell punctuation.definition.regex.at.shell"},{"match":"\\\\|","name":"keyword.operator.orvariable.language.special.or.shell keyword.operator.alternation.ruby.shell punctuation.definition.regex.alternation.shell punctuation.separator.regex.alternation.shell"},{"match":"\\\\\\\\.","name":"constant.character.escape.shell"},{"match":"(?<=\\\\tin| in|[\\\\t ]|;;)\\\\(","name":"keyword.operator.pattern.case.shell"},{"begin":"(?<=\\\\S)(\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.group.shell punctuation.definition.regex.group.shell"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.shell punctuation.definition.regex.group.shell"}},"name":"meta.parenthese.shell","patterns":[{"include":"#case_statement_context"}]},{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.character-class.shell"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.character-class.shell"}},"name":"string.regexp.character-class.shell","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.shell"}]},{"include":"#string"},{"match":"[^\\\\t\\\\n )*?@\\\\[|]","name":"string.unquoted.pattern.shell string.regexp.unquoted.shell"}]},"command_name_range":{"begin":"\\\\G","beginCaptures":{},"end":"(?=[\\\\t \\\\&;|]|$|[\\\\n)\`])|(?=<)","endCaptures":{},"name":"meta.statement.command.name.shell","patterns":[{"match":"(?<!\\\\w)(?:continue|return|break)(?!\\\\w)","name":"entity.name.function.call.shell entity.name.command.shell keyword.control.$0.shell"},{"match":"(?<!\\\\w)(?:unfunction|continue|autoload|unsetopt|bindkey|builtin|getopts|command|declare|unalias|history|unlimit|typeset|suspend|source|printf|unhash|disown|ulimit|return|which|alias|break|false|print|shift|times|umask|unset|read|type|exec|eval|wait|echo|dirs|jobs|kill|hash|stat|exit|test|trap|true|let|set|pwd|cd|fg|bg|fc|[.:])(?!/)(?!\\\\w)(?!-)","name":"entity.name.function.call.shell entity.name.command.shell support.function.builtin.shell"},{"include":"#variable"},{"captures":{"1":{"name":"entity.name.function.call.shell entity.name.command.shell"}},"match":"(?<!\\\\w)(?<=\\\\G|[\\"')}])([^\\\\t\\\\n\\\\r \\"\\\\&');->\`{|]+)"},{"begin":"(?:\\\\G|(?<![\\\\t\\\\n #\\\\&;{|]))(\\\\$?)((\\")|('))","beginCaptures":{"1":{"name":"meta.statement.command.name.quoted.shell punctuation.definition.string.shell entity.name.function.call.shell entity.name.command.shell"},"2":{},"3":{"name":"meta.statement.command.name.quoted.shell string.quoted.double.shell punctuation.definition.string.begin.shell entity.name.function.call.shell entity.name.command.shell"},"4":{"name":"meta.statement.command.name.quoted.shell string.quoted.single.shell punctuation.definition.string.begin.shell entity.name.function.call.shell entity.name.command.shell"}},"end":"(?<!\\\\G)(?<=\\\\2)","endCaptures":{},"patterns":[{"include":"#continuation_of_single_quoted_command_name"},{"include":"#continuation_of_double_quoted_command_name"}]},{"include":"#line_continuation"},{"include":"#simple_unquoted"}]},"command_statement":{"begin":"[\\\\t ]*+(?![\\\\n!#\\\\&()<>\\\\[{|]|$|[\\\\t ;])(?!nocorrect |nocorrect\\\\t|nocorrect$|readonly |readonly\\\\t|readonly$|function |function\\\\t|function$|foreach |foreach\\\\t|foreach$|coproc |coproc\\\\t|coproc$|logout |logout\\\\t|logout$|export |export\\\\t|export$|select |select\\\\t|select$|repeat |repeat\\\\t|repeat$|pushd |pushd\\\\t|pushd$|until |until\\\\t|until$|while |while\\\\t|while$|local |local\\\\t|local$|case |case\\\\t|case$|done |done\\\\t|done$|elif |elif\\\\t|elif$|else |else\\\\t|else$|esac |esac\\\\t|esac$|popd |popd\\\\t|popd$|then |then\\\\t|then$|time |time\\\\t|time$|for |for\\\\t|for$|end |end\\\\t|end$|fi |fi\\\\t|fi$|do |do\\\\t|do$|in |in\\\\t|in$|if |if\\\\t|if$)(?!\\\\\\\\\\\\n?$)","beginCaptures":{},"end":"(?=[\\\\n\\\\&);\`{|}]|[\\\\t ]*#|])(?<!\\\\\\\\)","endCaptures":{},"name":"meta.statement.command.shell","patterns":[{"include":"#command_name_range"},{"include":"#line_continuation"},{"include":"#option"},{"include":"#argument"},{"include":"#string"},{"include":"#heredoc"}]},"comment":{"captures":{"1":{"name":"comment.line.number-sign.shell meta.shebang.shell"},"2":{"name":"punctuation.definition.comment.shebang.shell"},"3":{"name":"comment.line.number-sign.shell"},"4":{"name":"punctuation.definition.comment.shell"}},"match":"(?:^|[\\\\t ]++)(?:((#!).*)|((#).*))"},"comments":{"patterns":[{"include":"#block_comment"},{"include":"#line_comment"}]},"compound-command":{"patterns":[{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.logical-expression.shell"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.logical-expression.shell"}},"name":"meta.scope.logical-expression.shell","patterns":[{"include":"#logical-expression"},{"include":"#initial_context"}]},{"begin":"(?<=\\\\s|^)\\\\{(?=\\\\s|$)","beginCaptures":{"0":{"name":"punctuation.definition.group.shell"}},"end":"(?<=^|;)\\\\s*(})","endCaptures":{"1":{"name":"punctuation.definition.group.shell"}},"name":"meta.scope.group.shell","patterns":[{"include":"#initial_context"}]}]},"continuation_of_double_quoted_command_name":{"begin":"\\\\G(?<=\\")","beginCaptures":{},"contentName":"meta.statement.command.name.continuation string.quoted.double entity.name.function.call entity.name.command","end":"\\"","endCaptures":{"0":{"name":"string.quoted.double.shell punctuation.definition.string.end.shell entity.name.function.call.shell entity.name.command.shell"}},"patterns":[{"match":"\\\\\\\\[\\\\n\\"$\\\\\\\\\`]","name":"constant.character.escape.shell"},{"include":"#variable"},{"include":"#interpolation"}]},"continuation_of_single_quoted_command_name":{"begin":"\\\\G(?<=')","beginCaptures":{},"contentName":"meta.statement.command.name.continuation string.quoted.single entity.name.function.call entity.name.command","end":"'","endCaptures":{"0":{"name":"string.quoted.single.shell punctuation.definition.string.end.shell entity.name.function.call.shell entity.name.command.shell"}}},"custom_command_names":{"patterns":[]},"custom_commands":{"patterns":[]},"double_quote_context":{"patterns":[{"match":"\\\\\\\\[\\\\n\\"$\\\\\\\\\`]","name":"constant.character.escape.shell"},{"include":"#variable"},{"include":"#interpolation"}]},"double_quote_escape_char":{"match":"\\\\\\\\[\\\\n\\"$\\\\\\\\\`]","name":"constant.character.escape.shell"},"floating_keyword":{"patterns":[{"match":"(?<=^|[\\\\t \\\\&;])(?:then|elif|else|done|end|do|if|fi)(?=[\\\\t \\\\&;]|$)","name":"keyword.control.$0.shell"}]},"for_statement":{"patterns":[{"begin":"\\\\b(for)\\\\b[\\\\t ]*+((?<!\\\\w)[-0-9A-Z_a-z]+(?!\\\\w))[\\\\t ]*+\\\\b(in)\\\\b","beginCaptures":{"1":{"name":"keyword.control.for.shell"},"2":{"name":"variable.other.for.shell"},"3":{"name":"keyword.control.in.shell"}},"end":"(?=[\\\\n\\\\&);\`{|}]|[\\\\t ]*#|])(?<!\\\\\\\\)","endCaptures":{},"name":"meta.for.in.shell","patterns":[{"include":"#string"},{"include":"#simple_unquoted"},{"include":"#normal_context"}]},{"begin":"\\\\b(for)\\\\b","beginCaptures":{"1":{"name":"keyword.control.for.shell"}},"end":"(?=[\\\\n\\\\&);\`{|}]|[\\\\t ]*#|])(?<!\\\\\\\\)","endCaptures":{},"name":"meta.for.shell","patterns":[{"include":"#arithmetic_double"},{"include":"#normal_context"}]}]},"function_definition":{"applyEndPatternLast":1,"begin":"[\\\\t ]*+(?:\\\\b(function)\\\\b[\\\\t ]*+([^\\\\t\\\\n\\\\r \\"'()=]+)(?:(\\\\()[\\\\t ]*+(\\\\)))?|([^\\\\t\\\\n\\\\r \\"'()=]+)[\\\\t ]*+(\\\\()[\\\\t ]*+(\\\\)))","beginCaptures":{"1":{"name":"storage.type.function.shell"},"2":{"name":"entity.name.function.shell"},"3":{"name":"punctuation.definition.arguments.shell"},"4":{"name":"punctuation.definition.arguments.shell"},"5":{"name":"entity.name.function.shell"},"6":{"name":"punctuation.definition.arguments.shell"},"7":{"name":"punctuation.definition.arguments.shell"}},"end":"(?<=[)}])","endCaptures":{},"name":"meta.function.shell","patterns":[{"match":"\\\\G[\\\\t\\\\n ]"},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.group.shell punctuation.section.function.definition.shell"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.group.shell punctuation.section.function.definition.shell"}},"name":"meta.function.body.shell","patterns":[{"include":"#initial_context"}]},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.group.shell punctuation.section.function.definition.shell"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.shell punctuation.section.function.definition.shell"}},"name":"meta.function.body.shell","patterns":[{"include":"#initial_context"}]},{"include":"#initial_context"}]},"heredoc":{"patterns":[{"begin":"((?<!<)<<-)[\\\\t ]*+([\\"'])[\\\\t ]*+([^\\"']+?)(?=[\\"\\\\&';<\\\\s])(\\\\2)(.*)","beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"2":{"name":"punctuation.definition.string.heredoc.quote.shell"},"3":{"name":"punctuation.definition.string.heredoc.delimiter.shell"},"4":{"name":"punctuation.definition.string.heredoc.quote.shell"},"5":{"patterns":[{"include":"#redirect_fix"},{"include":"#typical_statements"}]}},"contentName":"string.quoted.heredoc.indent.$3","end":"^\\\\t*\\\\3(?=[\\\\&;\\\\s]|$)","endCaptures":{"0":{"name":"punctuation.definition.string.heredoc.$0.shell"}},"patterns":[]},{"begin":"((?<!<)<<(?!<))[\\\\t ]*+([\\"'])[\\\\t ]*+([^\\"']+?)(?=[\\"\\\\&';<\\\\s])(\\\\2)(.*)","beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"2":{"name":"punctuation.definition.string.heredoc.quote.shell"},"3":{"name":"punctuation.definition.string.heredoc.delimiter.shell"},"4":{"name":"punctuation.definition.string.heredoc.quote.shell"},"5":{"patterns":[{"include":"#redirect_fix"},{"include":"#typical_statements"}]}},"contentName":"string.quoted.heredoc.no-indent.$3","end":"^\\\\3(?=[\\\\&;\\\\s]|$)","endCaptures":{"0":{"name":"punctuation.definition.string.heredoc.delimiter.shell"}},"patterns":[]},{"begin":"((?<!<)<<-)[\\\\t ]*+([^\\\\t \\"']+)(?=[\\"\\\\&';<\\\\s])(.*)","beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"2":{"name":"punctuation.definition.string.heredoc.delimiter.shell"},"3":{"patterns":[{"include":"#redirect_fix"},{"include":"#typical_statements"}]}},"contentName":"string.unquoted.heredoc.indent.$2","end":"^\\\\t*\\\\2(?=[\\\\&;\\\\s]|$)","endCaptures":{"0":{"name":"punctuation.definition.string.heredoc.delimiter.shell"}},"patterns":[{"include":"#double_quote_escape_char"},{"include":"#variable"},{"include":"#interpolation"}]},{"begin":"((?<!<)<<(?!<))[\\\\t ]*+([^\\\\t \\"']+)(?=[\\"\\\\&';<\\\\s])(.*)","beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"2":{"name":"punctuation.definition.string.heredoc.delimiter.shell"},"3":{"patterns":[{"include":"#redirect_fix"},{"include":"#typical_statements"}]}},"contentName":"string.unquoted.heredoc.no-indent.$2","end":"^\\\\2(?=[\\\\&;\\\\s]|$)","endCaptures":{"0":{"name":"punctuation.definition.string.heredoc.delimiter.shell"}},"patterns":[{"include":"#double_quote_escape_char"},{"include":"#variable"},{"include":"#interpolation"}]}]},"herestring":{"patterns":[{"begin":"(<<<)\\\\s*(('))","beginCaptures":{"1":{"name":"keyword.operator.herestring.shell"},"2":{"name":"string.quoted.single.shell"},"3":{"name":"punctuation.definition.string.begin.shell"}},"contentName":"string.quoted.single.shell","end":"(')","endCaptures":{"0":{"name":"string.quoted.single.shell"},"1":{"name":"punctuation.definition.string.end.shell"}},"name":"meta.herestring.shell"},{"begin":"(<<<)\\\\s*((\\"))","beginCaptures":{"1":{"name":"keyword.operator.herestring.shell"},"2":{"name":"string.quoted.double.shell"},"3":{"name":"punctuation.definition.string.begin.shell"}},"contentName":"string.quoted.double.shell","end":"(\\")","endCaptures":{"0":{"name":"string.quoted.double.shell"},"1":{"name":"punctuation.definition.string.end.shell"}},"name":"meta.herestring.shell","patterns":[{"include":"#double_quote_context"}]},{"captures":{"1":{"name":"keyword.operator.herestring.shell"},"2":{"name":"string.unquoted.herestring.shell","patterns":[{"include":"#initial_context"}]}},"match":"(<<<)\\\\s*(([^)\\\\\\\\\\\\s]|\\\\\\\\.)+)","name":"meta.herestring.shell"}]},"initial_context":{"patterns":[{"include":"#comment"},{"include":"#pipeline"},{"include":"#normal_statement_seperator"},{"include":"#logical_expression_double"},{"include":"#logical_expression_single"},{"include":"#assignment_statement"},{"include":"#case_statement"},{"include":"#for_statement"},{"include":"#loop"},{"include":"#function_definition"},{"include":"#line_continuation"},{"include":"#arithmetic_double"},{"include":"#misc_ranges"},{"include":"#variable"},{"include":"#interpolation"},{"include":"#heredoc"},{"include":"#herestring"},{"include":"#redirection"},{"include":"#pathname"},{"include":"#floating_keyword"},{"include":"#alias_statement"},{"include":"#normal_statement"},{"include":"#string"},{"include":"#support"}]},"inline_comment":{"captures":{"1":{"name":"comment.block.shell punctuation.definition.comment.begin.shell"},"2":{"name":"comment.block.shell"},"3":{"patterns":[{"match":"\\\\*/","name":"comment.block.shell punctuation.definition.comment.end.shell"},{"match":"\\\\*","name":"comment.block.shell"}]}},"match":"(/\\\\*)((?:[^*]|\\\\*++[^/])*+(\\\\*++/))"},"interpolation":{"patterns":[{"include":"#arithmetic_dollar"},{"include":"#subshell_dollar"},{"begin":"\`","beginCaptures":{"0":{"name":"punctuation.definition.evaluation.backticks.shell"}},"end":"\`","endCaptures":{"0":{"name":"punctuation.definition.evaluation.backticks.shell"}},"name":"string.interpolated.backtick.shell","patterns":[{"match":"\\\\\\\\[$\\\\\\\\\`]","name":"constant.character.escape.shell"},{"begin":"(?<=\\\\W)(?=#)(?!#\\\\{)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.shell"}},"end":"(?!\\\\G)","patterns":[{"begin":"#","beginCaptures":{"0":{"name":"punctuation.definition.comment.shell"}},"end":"(?=\`)","name":"comment.line.number-sign.shell"}]},{"include":"#initial_context"}]}]},"keyword":{"patterns":[{"match":"(?<=^|[\\\\&;\\\\s])(then|else|elif|fi|for|in|do|done|select|continue|esac|while|until|return)(?=[\\\\&;\\\\s]|$)","name":"keyword.control.shell"},{"match":"(?<=^|[\\\\&;\\\\s])(?:export|declare|typeset|local|readonly)(?=[\\\\&;\\\\s]|$)","name":"storage.modifier.shell"}]},"line_comment":{"begin":"\\\\s*+(//)","beginCaptures":{"1":{"name":"punctuation.definition.comment.shell"}},"end":"(?<=\\\\n)(?<!\\\\\\\\\\\\n)","endCaptures":{},"name":"comment.line.double-slash.shell","patterns":[{"include":"#line_continuation_character"}]},"line_continuation":{"match":"\\\\\\\\(?=\\\\n)","name":"constant.character.escape.line-continuation.shell"},"logical-expression":{"patterns":[{"include":"#arithmetic_no_dollar"},{"match":"=[=~]?|!=?|[<>]|&&|\\\\|\\\\|","name":"keyword.operator.logical.shell"},{"match":"(?<!\\\\S)-(nt|ot|ef|eq|ne|l[et]|g[et]|[GLNOSa-hknopr-uwxz])\\\\b","name":"keyword.operator.logical.shell"}]},"logical_expression_context":{"patterns":[{"include":"#regex_comparison"},{"include":"#arithmetic_no_dollar"},{"include":"#logical-expression"},{"include":"#logical_expression_single"},{"include":"#logical_expression_double"},{"include":"#comment"},{"include":"#boolean"},{"include":"#redirect_number"},{"include":"#numeric_literal"},{"include":"#pipeline"},{"include":"#normal_statement_seperator"},{"include":"#string"},{"include":"#variable"},{"include":"#interpolation"},{"include":"#heredoc"},{"include":"#herestring"},{"include":"#pathname"},{"include":"#floating_keyword"},{"include":"#support"}]},"logical_expression_double":{"begin":"\\\\[\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.logical-expression.shell"}},"end":"]]","endCaptures":{"0":{"name":"punctuation.definition.logical-expression.shell"}},"name":"meta.scope.logical-expression.shell","patterns":[{"include":"#logical_expression_context"}]},"logical_expression_single":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.logical-expression.shell"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.logical-expression.shell"}},"name":"meta.scope.logical-expression.shell","patterns":[{"include":"#logical_expression_context"}]},"loop":{"patterns":[{"begin":"(?<=^|[\\\\&;\\\\s])(for)\\\\s+(.+?)\\\\s+(in)(?=[\\\\&;\\\\s]|$)","beginCaptures":{"1":{"name":"keyword.control.shell"},"2":{"name":"variable.other.loop.shell","patterns":[{"include":"#string"}]},"3":{"name":"keyword.control.shell"}},"end":"(?<=^|[\\\\&;\\\\s])done(?=[\\\\&;\\\\s]|$|\\\\))","endCaptures":{"0":{"name":"keyword.control.shell"}},"name":"meta.scope.for-in-loop.shell","patterns":[{"include":"#initial_context"}]},{"begin":"(?<=^|[\\\\&;\\\\s])(while|until)(?=[\\\\&;\\\\s]|$)","beginCaptures":{"1":{"name":"keyword.control.shell"}},"end":"(?<=^|[\\\\&;\\\\s])done(?=[\\\\&;\\\\s]|$|\\\\))","endCaptures":{"0":{"name":"keyword.control.shell"}},"name":"meta.scope.while-loop.shell","patterns":[{"include":"#initial_context"}]},{"begin":"(?<=^|[\\\\&;\\\\s])(select)\\\\s+((?:[^\\\\\\\\\\\\s]|\\\\\\\\.)+)(?=[\\\\&;\\\\s]|$)","beginCaptures":{"1":{"name":"keyword.control.shell"},"2":{"name":"variable.other.loop.shell"}},"end":"(?<=^|[\\\\&;\\\\s])(done)(?=[\\\\&;\\\\s]|$|\\\\))","endCaptures":{"1":{"name":"keyword.control.shell"}},"name":"meta.scope.select-block.shell","patterns":[{"include":"#initial_context"}]},{"begin":"(?<=^|[\\\\&;\\\\s])if(?=[\\\\&;\\\\s]|$)","beginCaptures":{"0":{"name":"keyword.control.if.shell"}},"end":"(?<=^|[\\\\&;\\\\s])fi(?=[\\\\&;\\\\s]|$)","endCaptures":{"0":{"name":"keyword.control.fi.shell"}},"name":"meta.scope.if-block.shell","patterns":[{"include":"#initial_context"}]}]},"math":{"patterns":[{"include":"#variable"},{"match":"\\\\+{1,2}|-{1,2}|[!~]|\\\\*{1,2}|[%/]|<[<=]?|>[=>]?|==|!=|^|\\\\|{1,2}|&{1,2}|[,:=?]|[-%\\\\&*+/^|]=|<<=|>>=","name":"keyword.operator.arithmetic.shell"},{"match":"0[Xx]\\\\h+","name":"constant.numeric.hex.shell"},{"match":";","name":"punctuation.separator.semicolon.range"},{"match":"0\\\\d+","name":"constant.numeric.octal.shell"},{"match":"\\\\d{1,2}#[0-9@-Z_a-z]+","name":"constant.numeric.other.shell"},{"match":"\\\\d+","name":"constant.numeric.integer.shell"},{"match":"(?<!\\\\w)[0-9A-Z_a-z]+(?!\\\\w)","name":"variable.other.normal.shell"}]},"math_operators":{"patterns":[{"match":"\\\\+{1,2}|-{1,2}|[!~]|\\\\*{1,2}|[%/]|<[<=]?|>[=>]?|==|!=|^|\\\\|{1,2}|&{1,2}|[,:=?]|[-%\\\\&*+/^|]=|<<=|>>=","name":"keyword.operator.arithmetic.shell"},{"match":"0[Xx]\\\\h+","name":"constant.numeric.hex.shell"},{"match":"0\\\\d+","name":"constant.numeric.octal.shell"},{"match":"\\\\d{1,2}#[0-9@-Z_a-z]+","name":"constant.numeric.other.shell"},{"match":"\\\\d+","name":"constant.numeric.integer.shell"}]},"misc_ranges":{"patterns":[{"include":"#logical_expression_single"},{"include":"#logical_expression_double"},{"include":"#subshell_dollar"},{"begin":"(?<![^\\\\t ])(\\\\{)(?![$\\\\w])","beginCaptures":{"1":{"name":"punctuation.definition.group.shell"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.group.shell"}},"name":"meta.scope.group.shell","patterns":[{"include":"#initial_context"}]}]},"modified_assignment_statement":{"begin":"(?<=^|[\\\\t \\\\&;])(?:readonly|declare|typeset|export|local)(?=[\\\\t \\\\&;]|$)","beginCaptures":{"0":{"name":"storage.modifier.$0.shell"}},"end":"(?=[\\\\n\\\\&);\`{|}]|[\\\\t ]*#|])(?<!\\\\\\\\)","endCaptures":{},"name":"meta.statement.shell meta.expression.assignment.modified.shell","patterns":[{"match":"(?<!\\\\w)-\\\\w+\\\\b","name":"string.unquoted.argument.shell constant.other.option.shell"},{"include":"#array_value"},{"captures":{"1":{"name":"variable.other.assignment.shell"},"2":{"name":"punctuation.definition.array.access.shell"},"3":{"name":"variable.other.assignment.shell"},"4":{"name":"constant.numeric.shell constant.numeric.integer.shell"},"5":{"name":"punctuation.definition.array.access.shell"},"6":{"name":"keyword.operator.assignment.shell"},"7":{"name":"keyword.operator.assignment.compound.shell"},"8":{"name":"keyword.operator.assignment.compound.shell"},"9":{"name":"constant.numeric.shell constant.numeric.hex.shell"},"10":{"name":"constant.numeric.shell constant.numeric.octal.shell"},"11":{"name":"constant.numeric.shell constant.numeric.other.shell"},"12":{"name":"constant.numeric.shell constant.numeric.decimal.shell"},"13":{"name":"constant.numeric.shell constant.numeric.version.shell"},"14":{"name":"constant.numeric.shell constant.numeric.integer.shell"}},"match":"((?<!\\\\w)[-0-9A-Z_a-z]+(?!\\\\w))(?:(\\\\[)((?:(?:\\\\$?(?<!\\\\w)[-0-9A-Z_a-z]+(?!\\\\w)|@)|\\\\*)|(-?\\\\d+))(]))?(?:(?:(=)|(\\\\+=))|(-=))?(?:(?<=[\\\\t =]|^|[(\\\\[{])(?:(?:(?:(?:(?:(0[Xx]\\\\h+)|(0\\\\d+))|(\\\\d{1,2}#[0-9@-Z_a-z]+))|(-?\\\\d+\\\\.\\\\d+))|(-?\\\\d+(?:\\\\.\\\\d+)+))|(-?\\\\d+))(?=[\\\\t ]|$|[);}]))?"},{"include":"#normal_context"}]},"modifiers":{"match":"(?<=^|[\\\\t \\\\&;])(?:readonly|declare|typeset|export|local)(?=[\\\\t \\\\&;]|$)","name":"storage.modifier.$0.shell"},"normal_assignment_statement":{"begin":"[\\\\t ]*+((?<!\\\\w)[-0-9A-Z_a-z]+(?!\\\\w))(?:(\\\\[)((?:(?:\\\\$?(?<!\\\\w)[-0-9A-Z_a-z]+(?!\\\\w)|@)|\\\\*)|(-?\\\\d+))(]))?(?:(?:(=)|(\\\\+=))|(-=))","beginCaptures":{"1":{"name":"variable.other.assignment.shell"},"2":{"name":"punctuation.definition.array.access.shell"},"3":{"name":"variable.other.assignment.shell"},"4":{"name":"constant.numeric.shell constant.numeric.integer.shell"},"5":{"name":"punctuation.definition.array.access.shell"},"6":{"name":"keyword.operator.assignment.shell"},"7":{"name":"keyword.operator.assignment.compound.shell"},"8":{"name":"keyword.operator.assignment.compound.shell"}},"end":"(?=[\\\\n\\\\&);\`{|}]|[\\\\t ]*#|])(?<!\\\\\\\\)","endCaptures":{},"name":"meta.expression.assignment.shell","patterns":[{"include":"#comment"},{"include":"#string"},{"include":"#normal_assignment_statement"},{"begin":"(?<=[\\\\t ])(?![\\\\t ]|\\\\w+=)","beginCaptures":{},"end":"(?=[\\\\n\\\\&);\`{|}]|[\\\\t ]*#|])(?<!\\\\\\\\)","endCaptures":{},"name":"meta.statement.command.env.shell","patterns":[{"include":"#command_name_range"},{"include":"#line_continuation"},{"include":"#option"},{"include":"#argument"},{"include":"#string"}]},{"include":"#simple_unquoted"},{"include":"#normal_context"}]},"normal_context":{"patterns":[{"include":"#comment"},{"include":"#pipeline"},{"include":"#normal_statement_seperator"},{"include":"#misc_ranges"},{"include":"#boolean"},{"include":"#redirect_number"},{"include":"#numeric_literal"},{"include":"#string"},{"include":"#variable"},{"include":"#interpolation"},{"include":"#heredoc"},{"include":"#herestring"},{"include":"#redirection"},{"include":"#pathname"},{"include":"#floating_keyword"},{"include":"#support"},{"include":"#parenthese"}]},"normal_statement":{"begin":"(?!^[\\\\t ]*+$)(?:(?<=(?:^until| until|\\\\tuntil|^while| while|\\\\twhile|^elif| elif|\\\\telif|^else| else|\\\\telse|^then| then|\\\\tthen|^do| do|\\\\tdo|^if| if|\\\\tif) )|(?<=^|[!\\\\&(;\`{|]))[\\\\t ]*+(?!nocorrect\\\\W|nocorrect\\\\$|function\\\\W|function\\\\$|foreach\\\\W|foreach\\\\$|repeat\\\\W|repeat\\\\$|logout\\\\W|logout\\\\$|coproc\\\\W|coproc\\\\$|select\\\\W|select\\\\$|while\\\\W|while\\\\$|pushd\\\\W|pushd\\\\$|until\\\\W|until\\\\$|case\\\\W|case\\\\$|done\\\\W|done\\\\$|elif\\\\W|elif\\\\$|else\\\\W|else\\\\$|esac\\\\W|esac\\\\$|popd\\\\W|popd\\\\$|then\\\\W|then\\\\$|time\\\\W|time\\\\$|for\\\\W|for\\\\$|end\\\\W|end\\\\$|fi\\\\W|fi\\\\$|do\\\\W|do\\\\$|in\\\\W|in\\\\$|if\\\\W|if\\\\$)","beginCaptures":{},"end":"(?=[\\\\n\\\\&);\`{|}]|[\\\\t ]*#|])(?<!\\\\\\\\)","endCaptures":{},"name":"meta.statement.shell","patterns":[{"include":"#typical_statements"}]},"normal_statement_seperator":{"captures":{"1":{"name":"punctuation.terminator.statement.semicolon.shell"},"2":{"name":"punctuation.separator.statement.and.shell"},"3":{"name":"punctuation.separator.statement.or.shell"},"4":{"name":"punctuation.separator.statement.background.shell"}},"match":"(?:(?:(;)|(&&))|(\\\\|\\\\|))|(&)"},"numeric_literal":{"captures":{"1":{"name":"constant.numeric.shell constant.numeric.hex.shell"},"2":{"name":"constant.numeric.shell constant.numeric.octal.shell"},"3":{"name":"constant.numeric.shell constant.numeric.other.shell"},"4":{"name":"constant.numeric.shell constant.numeric.decimal.shell"},"5":{"name":"constant.numeric.shell constant.numeric.version.shell"},"6":{"name":"constant.numeric.shell constant.numeric.integer.shell"}},"match":"(?<=[\\\\t =]|^|[(\\\\[{])(?:(?:(?:(?:(?:(0[Xx]\\\\h+)|(0\\\\d+))|(\\\\d{1,2}#[0-9@-Z_a-z]+))|(-?\\\\d+\\\\.\\\\d+))|(-?\\\\d+(?:\\\\.\\\\d+)+))|(-?\\\\d+))(?=[\\\\t ]|$|[);}])"},"option":{"begin":"[\\\\t ]++(-)((?![\\\\n!#\\\\&()<>\\\\[{|]|$|[\\\\t ;]))","beginCaptures":{"1":{"name":"string.unquoted.argument.shell constant.other.option.dash.shell"},"2":{"name":"string.unquoted.argument.shell constant.other.option.shell"}},"contentName":"string.unquoted.argument constant.other.option","end":"(?=[\\\\t ])|(?=[\\\\n\\\\&);\`{|}]|[\\\\t ]*#|])(?<!\\\\\\\\)","endCaptures":{},"patterns":[{"include":"#option_context"}]},"option_context":{"patterns":[{"include":"#misc_ranges"},{"include":"#string"},{"include":"#variable"},{"include":"#interpolation"},{"include":"#heredoc"},{"include":"#herestring"},{"include":"#redirection"},{"include":"#pathname"},{"include":"#floating_keyword"},{"include":"#support"}]},"parenthese":{"patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parenthese.shell"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.parenthese.shell"}},"name":"meta.parenthese.group.shell","patterns":[{"include":"#initial_context"}]}]},"pathname":{"patterns":[{"match":"(?<=[:=\\\\s]|^)~","name":"keyword.operator.tilde.shell"},{"match":"[*?]","name":"keyword.operator.glob.shell"},{"begin":"([!*+?@])(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.extglob.shell"},"2":{"name":"punctuation.definition.extglob.shell"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.extglob.shell"}},"name":"meta.structure.extglob.shell","patterns":[{"include":"#initial_context"}]}]},"pipeline":{"patterns":[{"match":"(?<=^|[\\\\&;\\\\s])(time)(?=[\\\\&;\\\\s]|$)","name":"keyword.other.shell"},{"match":"[!|]","name":"keyword.operator.pipe.shell"}]},"redirect_fix":{"captures":{"1":{"name":"keyword.operator.redirect.shell"},"2":{"name":"string.unquoted.argument.shell"}},"match":"(>>?)[\\\\t ]*+([^\\\\t\\\\n \\"$\\\\&-);<>\\\\\\\\\`|]+)"},"redirect_number":{"captures":{"1":{"name":"keyword.operator.redirect.stdout.shell"},"2":{"name":"keyword.operator.redirect.stderr.shell"},"3":{"name":"keyword.operator.redirect.$3.shell"}},"match":"(?<=[\\\\t ])(?:(1)|(2)|(\\\\d+))(?=>)"},"redirection":{"patterns":[{"begin":"[<>]\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.shell"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.string.end.shell"}},"name":"string.interpolated.process-substitution.shell","patterns":[{"include":"#initial_context"}]},{"match":"(?<![<>])(&>|\\\\d*>&\\\\d*|\\\\d*(>>|[<>])|\\\\d*<&|\\\\d*<>)(?![<>])","name":"keyword.operator.redirect.shell"}]},"regex_comparison":{"match":"=~","name":"keyword.operator.logical.regex.shell"},"regexp":{"patterns":[{"match":".+"}]},"simple_options":{"captures":{"0":{"patterns":[{"captures":{"1":{"name":"string.unquoted.argument.shell constant.other.option.dash.shell"},"2":{"name":"string.unquoted.argument.shell constant.other.option.shell"}},"match":"[\\\\t ]++(-)(\\\\w+)"}]}},"match":"(?:[\\\\t ]++-\\\\w+)*"},"simple_unquoted":{"match":"[^\\\\t\\\\n \\"$\\\\&-);<>\\\\\\\\\`|]","name":"string.unquoted.shell"},"special_expansion":{"match":"!|:[-=?]?|[*@]|##?|%%|[%/]","name":"keyword.operator.expansion.shell"},"start_of_command":{"match":"[\\\\t ]*+(?![\\\\n!#\\\\&()<>\\\\[{|]|$|[\\\\t ;])(?!nocorrect |nocorrect\\\\t|nocorrect$|readonly |readonly\\\\t|readonly$|function |function\\\\t|function$|foreach |foreach\\\\t|foreach$|coproc |coproc\\\\t|coproc$|logout |logout\\\\t|logout$|export |export\\\\t|export$|select |select\\\\t|select$|repeat |repeat\\\\t|repeat$|pushd |pushd\\\\t|pushd$|until |until\\\\t|until$|while |while\\\\t|while$|local |local\\\\t|local$|case |case\\\\t|case$|done |done\\\\t|done$|elif |elif\\\\t|elif$|else |else\\\\t|else$|esac |esac\\\\t|esac$|popd |popd\\\\t|popd$|then |then\\\\t|then$|time |time\\\\t|time$|for |for\\\\t|for$|end |end\\\\t|end$|fi |fi\\\\t|fi$|do |do\\\\t|do$|in |in\\\\t|in$|if |if\\\\t|if$)(?!\\\\\\\\\\\\n?$)"},"string":{"patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.shell"},{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.shell"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.shell"}},"name":"string.quoted.single.shell"},{"begin":"\\\\$?\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.shell"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.shell"}},"name":"string.quoted.double.shell","patterns":[{"match":"\\\\\\\\[\\\\n\\"$\\\\\\\\\`]","name":"constant.character.escape.shell"},{"include":"#variable"},{"include":"#interpolation"}]},{"begin":"\\\\$'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.shell"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.shell"}},"name":"string.quoted.single.dollar.shell","patterns":[{"match":"\\\\\\\\['\\\\\\\\abefnrtv]","name":"constant.character.escape.ansi-c.shell"},{"match":"\\\\\\\\[0-9]{3}\\"","name":"constant.character.escape.octal.shell"},{"match":"\\\\\\\\x\\\\h{2}\\"","name":"constant.character.escape.hex.shell"},{"match":"\\\\\\\\c.\\"","name":"constant.character.escape.control-char.shell"}]}]},"subshell_dollar":{"patterns":[{"begin":"\\\\$\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.subshell.single.shell"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.subshell.single.shell"}},"name":"meta.scope.subshell","patterns":[{"include":"#parenthese"},{"include":"#initial_context"}]}]},"support":{"patterns":[{"match":"(?<=^|[\\\\&;\\\\s])[.:](?=[\\\\&;\\\\s]|$)","name":"support.function.builtin.shell"}]},"typical_statements":{"patterns":[{"include":"#assignment_statement"},{"include":"#case_statement"},{"include":"#for_statement"},{"include":"#while_statement"},{"include":"#function_definition"},{"include":"#command_statement"},{"include":"#line_continuation"},{"include":"#arithmetic_double"},{"include":"#normal_context"}]},"variable":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.variable.shell variable.parameter.positional.all.shell"},"2":{"name":"variable.parameter.positional.all.shell"}},"match":"(\\\\$)(@(?!\\\\w))"},{"captures":{"1":{"name":"punctuation.definition.variable.shell variable.parameter.positional.shell"},"2":{"name":"variable.parameter.positional.shell"}},"match":"(\\\\$)([0-9](?!\\\\w))"},{"captures":{"1":{"name":"punctuation.definition.variable.shell variable.language.special.shell"},"2":{"name":"variable.language.special.shell"}},"match":"(\\\\$)([-!#$*0?_](?!\\\\w))"},{"begin":"(\\\\$)(\\\\{)[\\\\t ]*+(?=\\\\d)","beginCaptures":{"1":{"name":"punctuation.definition.variable.shell variable.parameter.positional.shell"},"2":{"name":"punctuation.section.bracket.curly.variable.begin.shell punctuation.definition.variable.shell variable.parameter.positional.shell"}},"contentName":"meta.parameter-expansion","end":"}","endCaptures":{"0":{"name":"punctuation.section.bracket.curly.variable.end.shell punctuation.definition.variable.shell variable.parameter.positional.shell"}},"patterns":[{"include":"#special_expansion"},{"include":"#array_access_inline"},{"match":"[0-9]+","name":"variable.parameter.positional.shell"},{"match":"(?<!\\\\w)[-0-9A-Z_a-z]+(?!\\\\w)","name":"variable.other.normal.shell"},{"include":"#variable"},{"include":"#string"}]},{"begin":"(\\\\$)(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.variable.shell"},"2":{"name":"punctuation.section.bracket.curly.variable.begin.shell punctuation.definition.variable.shell"}},"contentName":"meta.parameter-expansion","end":"}","endCaptures":{"0":{"name":"punctuation.section.bracket.curly.variable.end.shell punctuation.definition.variable.shell"}},"patterns":[{"include":"#special_expansion"},{"include":"#array_access_inline"},{"match":"(?<!\\\\w)[-0-9A-Z_a-z]+(?!\\\\w)","name":"variable.other.normal.shell"},{"include":"#variable"},{"include":"#string"}]},{"captures":{"1":{"name":"punctuation.definition.variable.shell variable.other.normal.shell"},"2":{"name":"variable.other.normal.shell"}},"match":"(\\\\$)(\\\\w+(?!\\\\w))"}]},"while_statement":{"patterns":[{"begin":"\\\\b(while)\\\\b","beginCaptures":{"1":{"name":"keyword.control.while.shell"}},"end":"(?=[\\\\n\\\\&);\`{|}]|[\\\\t ]*#|])(?<!\\\\\\\\)","endCaptures":{},"name":"meta.while.shell","patterns":[{"include":"#line_continuation"},{"include":"#math_operators"},{"include":"#option"},{"include":"#simple_unquoted"},{"include":"#normal_context"},{"include":"#string"}]}]}},"scopeName":"source.shell","aliases":["bash","sh","shell","zsh"]}`)), e = [
3
+ n
4
+ ], t = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
5
+ __proto__: null,
6
+ default: e
7
+ }, Symbol.toStringTag, { value: "Module" })), a = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
8
+ __proto__: null,
9
+ default: e
10
+ }, Symbol.toStringTag, { value: "Module" }));
11
+ export {
12
+ a as b,
13
+ t as s
14
+ };
15
+ //# sourceMappingURL=bash-g5z23u7me5rx7bzt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bash-g5z23u7me5rx7bzt.js","sources":["../../../../node_modules/.pnpm/@shikijs+langs@4.0.0/node_modules/@shikijs/langs/dist/shellscript.mjs"],"sourcesContent":["const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Shell\\\",\\\"name\\\":\\\"shellscript\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#initial_context\\\"}],\\\"repository\\\":{\\\"alias_statement\\\":{\\\"begin\\\":\\\"[\\\\\\\\t ]*+(alias)[\\\\\\\\t ]*+((?:((?<!\\\\\\\\w)-\\\\\\\\w+)\\\\\\\\b[\\\\\\\\t ]*+)*)[\\\\\\\\t ]*+((?<!\\\\\\\\w)[-0-9A-Z_a-z]+(?!\\\\\\\\w))(?:(\\\\\\\\[)((?:(?:\\\\\\\\$?(?<!\\\\\\\\w)[-0-9A-Z_a-z]+(?!\\\\\\\\w)|@)|\\\\\\\\*)|(-?\\\\\\\\d+))(]))?(?:(?:(=)|(\\\\\\\\+=))|(-=))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.alias.shell\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<!\\\\\\\\w)-\\\\\\\\w+\\\\\\\\b\\\",\\\"name\\\":\\\"string.unquoted.argument.shell constant.other.option.shell\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"string.unquoted.argument.shell constant.other.option.shell\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.other.assignment.shell\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.array.access.shell\\\"},\\\"6\\\":{\\\"name\\\":\\\"variable.other.assignment.shell\\\"},\\\"7\\\":{\\\"name\\\":\\\"constant.numeric.shell constant.numeric.integer.shell\\\"},\\\"8\\\":{\\\"name\\\":\\\"punctuation.definition.array.access.shell\\\"},\\\"9\\\":{\\\"name\\\":\\\"keyword.operator.assignment.shell\\\"},\\\"10\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.shell\\\"},\\\"11\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.shell\\\"}},\\\"end\\\":\\\"(?=[\\\\\\\\t ]|$)|(?:(?:(?:(;)|(&&))|(\\\\\\\\|\\\\\\\\|))|(&))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.statement.semicolon.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.statement.and.shell\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.statement.or.shell\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.separator.statement.background.shell\\\"}},\\\"name\\\":\\\"meta.expression.assignment.alias.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#normal_context\\\"}]},\\\"argument\\\":{\\\"begin\\\":\\\"[\\\\\\\\t ]++(?![\\\\\\\\n#\\\\\\\\&(\\\\\\\\[|]|$|;)\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"(?=[\\\\\\\\t \\\\\\\\&;|]|$|[\\\\\\\\n)`])\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.argument.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#argument_context\\\"},{\\\"include\\\":\\\"#line_continuation\\\"}]},\\\"argument_context\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.unquoted.argument.shell\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"variable.language.special.wildcard.shell\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#numeric_literal\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.language.$1.shell\\\"}},\\\"match\\\":\\\"(?<!\\\\\\\\w)\\\\\\\\b(true|false)\\\\\\\\b(?!\\\\\\\\w)\\\"}]}},\\\"match\\\":\\\"[\\\\\\\\t ]*+([^\\\\\\\\t\\\\\\\\n \\\\\\\"$\\\\\\\\&-);<>\\\\\\\\\\\\\\\\`|]+(?!>))\\\"},{\\\"include\\\":\\\"#normal_context\\\"}]},\\\"arithmetic_double\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.arithmetic.double.shell\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\\\\\\s*\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.arithmetic.double.shell\\\"}},\\\"name\\\":\\\"meta.arithmetic.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#math\\\"},{\\\"include\\\":\\\"#string\\\"}]}]},\\\"arithmetic_no_dollar\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.arithmetic.single.shell\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.arithmetic.single.shell\\\"}},\\\"name\\\":\\\"meta.arithmetic.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#math\\\"},{\\\"include\\\":\\\"#string\\\"}]}]},\\\"array_access_inline\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.array.shell\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#special_expansion\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#variable\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.section.array.shell\\\"}},\\\"match\\\":\\\"(\\\\\\\\[)([^]\\\\\\\\[]+)(])\\\"},\\\"array_value\\\":{\\\"begin\\\":\\\"[\\\\\\\\t ]*+((?<!\\\\\\\\w)[-0-9A-Z_a-z]+(?!\\\\\\\\w))(?:(\\\\\\\\[)((?:(?:\\\\\\\\$?(?<!\\\\\\\\w)[-0-9A-Z_a-z]+(?!\\\\\\\\w)|@)|\\\\\\\\*)|(-?\\\\\\\\d+))(]))?(?:(?:(=)|(\\\\\\\\+=))|(-=))[\\\\\\\\t ]*+(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.assignment.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.array.access.shell\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.assignment.shell\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.numeric.shell constant.numeric.integer.shell\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.array.access.shell\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.operator.assignment.shell\\\"},\\\"7\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.shell\\\"},\\\"8\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.shell\\\"},\\\"9\\\":{\\\"name\\\":\\\"punctuation.definition.array.shell\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.array.shell\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.assignment.array.shell entity.other.attribute-name.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.assignment.shell punctuation.definition.assignment.shell\\\"}},\\\"match\\\":\\\"((?<!\\\\\\\\w)[-0-9A-Z_a-z]+(?!\\\\\\\\w))(=)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.named-array.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.unquoted.shell entity.other.attribute-name.bracket.shell\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.named-array.shell\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.assignment.shell\\\"}},\\\"match\\\":\\\"(\\\\\\\\[)(.+?)(])(=)\\\"},{\\\"include\\\":\\\"#normal_context\\\"},{\\\"include\\\":\\\"#simple_unquoted\\\"}]},\\\"assignment_statement\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#array_value\\\"},{\\\"include\\\":\\\"#modified_assignment_statement\\\"},{\\\"include\\\":\\\"#normal_assignment_statement\\\"}]},\\\"basic_command_name\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.$1.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.call.shell entity.name.command.shell\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:continue|return|break)(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"keyword.control.$0.shell\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:unfunction|continue|autoload|unsetopt|bindkey|builtin|getopts|command|declare|unalias|history|unlimit|typeset|suspend|source|printf|unhash|disown|ulimit|return|which|alias|break|false|print|shift|times|umask|unset|read|type|exec|eval|wait|echo|dirs|jobs|kill|hash|stat|exit|test|trap|true|let|set|pwd|cd|fg|bg|fc|[.:])(?!/)(?!\\\\\\\\w)(?!-)\\\",\\\"name\\\":\\\"support.function.builtin.shell\\\"},{\\\"include\\\":\\\"#variable\\\"}]}},\\\"match\\\":\\\"(?![\\\\\\\\n!#\\\\\\\\&()<>\\\\\\\\[{|]|$|[\\\\\\\\t ;])(?!nocorrect |nocorrect\\\\\\\\t|nocorrect$|readonly |readonly\\\\\\\\t|readonly$|function |function\\\\\\\\t|function$|foreach |foreach\\\\\\\\t|foreach$|coproc |coproc\\\\\\\\t|coproc$|logout |logout\\\\\\\\t|logout$|export |export\\\\\\\\t|export$|select |select\\\\\\\\t|select$|repeat |repeat\\\\\\\\t|repeat$|pushd |pushd\\\\\\\\t|pushd$|until |until\\\\\\\\t|until$|while |while\\\\\\\\t|while$|local |local\\\\\\\\t|local$|case |case\\\\\\\\t|case$|done |done\\\\\\\\t|done$|elif |elif\\\\\\\\t|elif$|else |else\\\\\\\\t|else$|esac |esac\\\\\\\\t|esac$|popd |popd\\\\\\\\t|popd$|then |then\\\\\\\\t|then$|time |time\\\\\\\\t|time$|for |for\\\\\\\\t|for$|end |end\\\\\\\\t|end$|fi |fi\\\\\\\\t|fi$|do |do\\\\\\\\t|do$|in |in\\\\\\\\t|in$|if |if\\\\\\\\t|if$)(?:((?<=^|[\\\\\\\\t \\\\\\\\&;])(?:readonly|declare|typeset|export|local)(?=[\\\\\\\\t \\\\\\\\&;]|$))|((?![\\\\\\\"']|\\\\\\\\\\\\\\\\\\\\\\\\n?$)[^\\\\\\\\t\\\\\\\\n\\\\\\\\r !\\\\\\\"'<>]+?))(?:(?=[\\\\\\\\t ])|(?=[\\\\\\\\n\\\\\\\\&);`{|}]|[\\\\\\\\t ]*#|])(?<!\\\\\\\\\\\\\\\\))\\\",\\\"name\\\":\\\"meta.statement.command.name.basic.shell\\\"},\\\"block_comment\\\":{\\\"begin\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.begin.shell\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.end.shell\\\"}},\\\"name\\\":\\\"comment.block.shell\\\"},\\\"boolean\\\":{\\\"match\\\":\\\"\\\\\\\\b(?:true|false)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.$0.shell\\\"},\\\"case_statement\\\":{\\\"begin\\\":\\\"\\\\\\\\b(case)\\\\\\\\b[\\\\\\\\t ]*+(.+?)[\\\\\\\\t ]*+\\\\\\\\b(in)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.case.shell\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#initial_context\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.in.shell\\\"}},\\\"end\\\":\\\"\\\\\\\\besac\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.esac.shell\\\"}},\\\"name\\\":\\\"meta.case.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.pattern.case.default.shell\\\"}},\\\"match\\\":\\\"[\\\\\\\\t ]*+(\\\\\\\\* *\\\\\\\\))\\\"},{\\\"begin\\\":\\\"(?<!\\\\\\\\))(?![\\\\\\\\t ]*+(?:esac\\\\\\\\b|$))\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"(?=\\\\\\\\besac\\\\\\\\b)|(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.pattern.case.shell\\\"}},\\\"name\\\":\\\"meta.case.entry.pattern.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#case_statement_context\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\))\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"(;;)|(?=\\\\\\\\besac\\\\\\\\b)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.statement.case.shell\\\"}},\\\"name\\\":\\\"meta.case.entry.body.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#typical_statements\\\"},{\\\"include\\\":\\\"#initial_context\\\"}]}]},\\\"case_statement_context\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"variable.language.special.quantifier.star.shell keyword.operator.quantifier.star.shell punctuation.definition.arbitrary-repetition.shell punctuation.definition.regex.arbitrary-repetition.shell\\\"},{\\\"match\\\":\\\"\\\\\\\\+\\\",\\\"name\\\":\\\"variable.language.special.quantifier.plus.shell keyword.operator.quantifier.plus.shell punctuation.definition.arbitrary-repetition.shell punctuation.definition.regex.arbitrary-repetition.shell\\\"},{\\\"match\\\":\\\"\\\\\\\\?\\\",\\\"name\\\":\\\"variable.language.special.quantifier.question.shell keyword.operator.quantifier.question.shell punctuation.definition.arbitrary-repetition.shell punctuation.definition.regex.arbitrary-repetition.shell\\\"},{\\\"match\\\":\\\"@\\\",\\\"name\\\":\\\"variable.language.special.at.shell keyword.operator.at.shell punctuation.definition.regex.at.shell\\\"},{\\\"match\\\":\\\"\\\\\\\\|\\\",\\\"name\\\":\\\"keyword.operator.orvariable.language.special.or.shell keyword.operator.alternation.ruby.shell punctuation.definition.regex.alternation.shell punctuation.separator.regex.alternation.shell\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.escape.shell\\\"},{\\\"match\\\":\\\"(?<=\\\\\\\\tin| in|[\\\\\\\\t ]|;;)\\\\\\\\(\\\",\\\"name\\\":\\\"keyword.operator.pattern.case.shell\\\"},{\\\"begin\\\":\\\"(?<=\\\\\\\\S)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.group.shell punctuation.definition.regex.group.shell\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.shell punctuation.definition.regex.group.shell\\\"}},\\\"name\\\":\\\"meta.parenthese.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#case_statement_context\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.character-class.shell\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.character-class.shell\\\"}},\\\"name\\\":\\\"string.regexp.character-class.shell\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.escape.shell\\\"}]},{\\\"include\\\":\\\"#string\\\"},{\\\"match\\\":\\\"[^\\\\\\\\t\\\\\\\\n )*?@\\\\\\\\[|]\\\",\\\"name\\\":\\\"string.unquoted.pattern.shell string.regexp.unquoted.shell\\\"}]},\\\"command_name_range\\\":{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"(?=[\\\\\\\\t \\\\\\\\&;|]|$|[\\\\\\\\n)`])|(?=<)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.statement.command.name.shell\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:continue|return|break)(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"entity.name.function.call.shell entity.name.command.shell keyword.control.$0.shell\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:unfunction|continue|autoload|unsetopt|bindkey|builtin|getopts|command|declare|unalias|history|unlimit|typeset|suspend|source|printf|unhash|disown|ulimit|return|which|alias|break|false|print|shift|times|umask|unset|read|type|exec|eval|wait|echo|dirs|jobs|kill|hash|stat|exit|test|trap|true|let|set|pwd|cd|fg|bg|fc|[.:])(?!/)(?!\\\\\\\\w)(?!-)\\\",\\\"name\\\":\\\"entity.name.function.call.shell entity.name.command.shell support.function.builtin.shell\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.call.shell entity.name.command.shell\\\"}},\\\"match\\\":\\\"(?<!\\\\\\\\w)(?<=\\\\\\\\G|[\\\\\\\"')}])([^\\\\\\\\t\\\\\\\\n\\\\\\\\r \\\\\\\"\\\\\\\\&');->`{|]+)\\\"},{\\\"begin\\\":\\\"(?:\\\\\\\\G|(?<![\\\\\\\\t\\\\\\\\n #\\\\\\\\&;{|]))(\\\\\\\\$?)((\\\\\\\")|('))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.statement.command.name.quoted.shell punctuation.definition.string.shell entity.name.function.call.shell entity.name.command.shell\\\"},\\\"2\\\":{},\\\"3\\\":{\\\"name\\\":\\\"meta.statement.command.name.quoted.shell string.quoted.double.shell punctuation.definition.string.begin.shell entity.name.function.call.shell entity.name.command.shell\\\"},\\\"4\\\":{\\\"name\\\":\\\"meta.statement.command.name.quoted.shell string.quoted.single.shell punctuation.definition.string.begin.shell entity.name.function.call.shell entity.name.command.shell\\\"}},\\\"end\\\":\\\"(?<!\\\\\\\\G)(?<=\\\\\\\\2)\\\",\\\"endCaptures\\\":{},\\\"patterns\\\":[{\\\"include\\\":\\\"#continuation_of_single_quoted_command_name\\\"},{\\\"include\\\":\\\"#continuation_of_double_quoted_command_name\\\"}]},{\\\"include\\\":\\\"#line_continuation\\\"},{\\\"include\\\":\\\"#simple_unquoted\\\"}]},\\\"command_statement\\\":{\\\"begin\\\":\\\"[\\\\\\\\t ]*+(?![\\\\\\\\n!#\\\\\\\\&()<>\\\\\\\\[{|]|$|[\\\\\\\\t ;])(?!nocorrect |nocorrect\\\\\\\\t|nocorrect$|readonly |readonly\\\\\\\\t|readonly$|function |function\\\\\\\\t|function$|foreach |foreach\\\\\\\\t|foreach$|coproc |coproc\\\\\\\\t|coproc$|logout |logout\\\\\\\\t|logout$|export |export\\\\\\\\t|export$|select |select\\\\\\\\t|select$|repeat |repeat\\\\\\\\t|repeat$|pushd |pushd\\\\\\\\t|pushd$|until |until\\\\\\\\t|until$|while |while\\\\\\\\t|while$|local |local\\\\\\\\t|local$|case |case\\\\\\\\t|case$|done |done\\\\\\\\t|done$|elif |elif\\\\\\\\t|elif$|else |else\\\\\\\\t|else$|esac |esac\\\\\\\\t|esac$|popd |popd\\\\\\\\t|popd$|then |then\\\\\\\\t|then$|time |time\\\\\\\\t|time$|for |for\\\\\\\\t|for$|end |end\\\\\\\\t|end$|fi |fi\\\\\\\\t|fi$|do |do\\\\\\\\t|do$|in |in\\\\\\\\t|in$|if |if\\\\\\\\t|if$)(?!\\\\\\\\\\\\\\\\\\\\\\\\n?$)\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"(?=[\\\\\\\\n\\\\\\\\&);`{|}]|[\\\\\\\\t ]*#|])(?<!\\\\\\\\\\\\\\\\)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.statement.command.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#command_name_range\\\"},{\\\"include\\\":\\\"#line_continuation\\\"},{\\\"include\\\":\\\"#option\\\"},{\\\"include\\\":\\\"#argument\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#heredoc\\\"}]},\\\"comment\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.line.number-sign.shell meta.shebang.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.comment.shebang.shell\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.line.number-sign.shell\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.comment.shell\\\"}},\\\"match\\\":\\\"(?:^|[\\\\\\\\t ]++)(?:((#!).*)|((#).*))\\\"},\\\"comments\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#block_comment\\\"},{\\\"include\\\":\\\"#line_comment\\\"}]},\\\"compound-command\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.logical-expression.shell\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.logical-expression.shell\\\"}},\\\"name\\\":\\\"meta.scope.logical-expression.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#logical-expression\\\"},{\\\"include\\\":\\\"#initial_context\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\s|^)\\\\\\\\{(?=\\\\\\\\s|$)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.shell\\\"}},\\\"end\\\":\\\"(?<=^|;)\\\\\\\\s*(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.group.shell\\\"}},\\\"name\\\":\\\"meta.scope.group.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#initial_context\\\"}]}]},\\\"continuation_of_double_quoted_command_name\\\":{\\\"begin\\\":\\\"\\\\\\\\G(?<=\\\\\\\")\\\",\\\"beginCaptures\\\":{},\\\"contentName\\\":\\\"meta.statement.command.name.continuation string.quoted.double entity.name.function.call entity.name.command\\\",\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.quoted.double.shell punctuation.definition.string.end.shell entity.name.function.call.shell entity.name.command.shell\\\"}},\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[\\\\\\\\n\\\\\\\"$\\\\\\\\\\\\\\\\`]\\\",\\\"name\\\":\\\"constant.character.escape.shell\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#interpolation\\\"}]},\\\"continuation_of_single_quoted_command_name\\\":{\\\"begin\\\":\\\"\\\\\\\\G(?<=')\\\",\\\"beginCaptures\\\":{},\\\"contentName\\\":\\\"meta.statement.command.name.continuation string.quoted.single entity.name.function.call entity.name.command\\\",\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.quoted.single.shell punctuation.definition.string.end.shell entity.name.function.call.shell entity.name.command.shell\\\"}}},\\\"custom_command_names\\\":{\\\"patterns\\\":[]},\\\"custom_commands\\\":{\\\"patterns\\\":[]},\\\"double_quote_context\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[\\\\\\\\n\\\\\\\"$\\\\\\\\\\\\\\\\`]\\\",\\\"name\\\":\\\"constant.character.escape.shell\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#interpolation\\\"}]},\\\"double_quote_escape_char\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[\\\\\\\\n\\\\\\\"$\\\\\\\\\\\\\\\\`]\\\",\\\"name\\\":\\\"constant.character.escape.shell\\\"},\\\"floating_keyword\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=^|[\\\\\\\\t \\\\\\\\&;])(?:then|elif|else|done|end|do|if|fi)(?=[\\\\\\\\t \\\\\\\\&;]|$)\\\",\\\"name\\\":\\\"keyword.control.$0.shell\\\"}]},\\\"for_statement\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(for)\\\\\\\\b[\\\\\\\\t ]*+((?<!\\\\\\\\w)[-0-9A-Z_a-z]+(?!\\\\\\\\w))[\\\\\\\\t ]*+\\\\\\\\b(in)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.for.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.for.shell\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.in.shell\\\"}},\\\"end\\\":\\\"(?=[\\\\\\\\n\\\\\\\\&);`{|}]|[\\\\\\\\t ]*#|])(?<!\\\\\\\\\\\\\\\\)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.for.in.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#simple_unquoted\\\"},{\\\"include\\\":\\\"#normal_context\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\b(for)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.for.shell\\\"}},\\\"end\\\":\\\"(?=[\\\\\\\\n\\\\\\\\&);`{|}]|[\\\\\\\\t ]*#|])(?<!\\\\\\\\\\\\\\\\)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.for.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#arithmetic_double\\\"},{\\\"include\\\":\\\"#normal_context\\\"}]}]},\\\"function_definition\\\":{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"[\\\\\\\\t ]*+(?:\\\\\\\\b(function)\\\\\\\\b[\\\\\\\\t ]*+([^\\\\\\\\t\\\\\\\\n\\\\\\\\r \\\\\\\"'()=]+)(?:(\\\\\\\\()[\\\\\\\\t ]*+(\\\\\\\\)))?|([^\\\\\\\\t\\\\\\\\n\\\\\\\\r \\\\\\\"'()=]+)[\\\\\\\\t ]*+(\\\\\\\\()[\\\\\\\\t ]*+(\\\\\\\\)))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.function.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.shell\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.shell\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.shell\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.name.function.shell\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.shell\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.shell\\\"}},\\\"end\\\":\\\"(?<=[)}])\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.function.shell\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\G[\\\\\\\\t\\\\\\\\n ]\\\"},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.shell punctuation.section.function.definition.shell\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.shell punctuation.section.function.definition.shell\\\"}},\\\"name\\\":\\\"meta.function.body.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#initial_context\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.shell punctuation.section.function.definition.shell\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.shell punctuation.section.function.definition.shell\\\"}},\\\"name\\\":\\\"meta.function.body.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#initial_context\\\"}]},{\\\"include\\\":\\\"#initial_context\\\"}]},\\\"heredoc\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"((?<!<)<<-)[\\\\\\\\t ]*+([\\\\\\\"'])[\\\\\\\\t ]*+([^\\\\\\\"']+?)(?=[\\\\\\\"\\\\\\\\&';<\\\\\\\\s])(\\\\\\\\2)(.*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.heredoc.quote.shell\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.string.heredoc.delimiter.shell\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.string.heredoc.quote.shell\\\"},\\\"5\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#redirect_fix\\\"},{\\\"include\\\":\\\"#typical_statements\\\"}]}},\\\"contentName\\\":\\\"string.quoted.heredoc.indent.$3\\\",\\\"end\\\":\\\"^\\\\\\\\t*\\\\\\\\3(?=[\\\\\\\\&;\\\\\\\\s]|$)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.heredoc.$0.shell\\\"}},\\\"patterns\\\":[]},{\\\"begin\\\":\\\"((?<!<)<<(?!<))[\\\\\\\\t ]*+([\\\\\\\"'])[\\\\\\\\t ]*+([^\\\\\\\"']+?)(?=[\\\\\\\"\\\\\\\\&';<\\\\\\\\s])(\\\\\\\\2)(.*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.heredoc.quote.shell\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.string.heredoc.delimiter.shell\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.string.heredoc.quote.shell\\\"},\\\"5\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#redirect_fix\\\"},{\\\"include\\\":\\\"#typical_statements\\\"}]}},\\\"contentName\\\":\\\"string.quoted.heredoc.no-indent.$3\\\",\\\"end\\\":\\\"^\\\\\\\\3(?=[\\\\\\\\&;\\\\\\\\s]|$)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.heredoc.delimiter.shell\\\"}},\\\"patterns\\\":[]},{\\\"begin\\\":\\\"((?<!<)<<-)[\\\\\\\\t ]*+([^\\\\\\\\t \\\\\\\"']+)(?=[\\\\\\\"\\\\\\\\&';<\\\\\\\\s])(.*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.heredoc.delimiter.shell\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#redirect_fix\\\"},{\\\"include\\\":\\\"#typical_statements\\\"}]}},\\\"contentName\\\":\\\"string.unquoted.heredoc.indent.$2\\\",\\\"end\\\":\\\"^\\\\\\\\t*\\\\\\\\2(?=[\\\\\\\\&;\\\\\\\\s]|$)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.heredoc.delimiter.shell\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#double_quote_escape_char\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#interpolation\\\"}]},{\\\"begin\\\":\\\"((?<!<)<<(?!<))[\\\\\\\\t ]*+([^\\\\\\\\t \\\\\\\"']+)(?=[\\\\\\\"\\\\\\\\&';<\\\\\\\\s])(.*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.heredoc.delimiter.shell\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#redirect_fix\\\"},{\\\"include\\\":\\\"#typical_statements\\\"}]}},\\\"contentName\\\":\\\"string.unquoted.heredoc.no-indent.$2\\\",\\\"end\\\":\\\"^\\\\\\\\2(?=[\\\\\\\\&;\\\\\\\\s]|$)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.heredoc.delimiter.shell\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#double_quote_escape_char\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#interpolation\\\"}]}]},\\\"herestring\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(<<<)\\\\\\\\s*(('))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.herestring.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.quoted.single.shell\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.shell\\\"}},\\\"contentName\\\":\\\"string.quoted.single.shell\\\",\\\"end\\\":\\\"(')\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.quoted.single.shell\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.shell\\\"}},\\\"name\\\":\\\"meta.herestring.shell\\\"},{\\\"begin\\\":\\\"(<<<)\\\\\\\\s*((\\\\\\\"))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.herestring.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.quoted.double.shell\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.shell\\\"}},\\\"contentName\\\":\\\"string.quoted.double.shell\\\",\\\"end\\\":\\\"(\\\\\\\")\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.quoted.double.shell\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.shell\\\"}},\\\"name\\\":\\\"meta.herestring.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#double_quote_context\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.herestring.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.unquoted.herestring.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#initial_context\\\"}]}},\\\"match\\\":\\\"(<<<)\\\\\\\\s*(([^)\\\\\\\\\\\\\\\\\\\\\\\\s]|\\\\\\\\\\\\\\\\.)+)\\\",\\\"name\\\":\\\"meta.herestring.shell\\\"}]},\\\"initial_context\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#pipeline\\\"},{\\\"include\\\":\\\"#normal_statement_seperator\\\"},{\\\"include\\\":\\\"#logical_expression_double\\\"},{\\\"include\\\":\\\"#logical_expression_single\\\"},{\\\"include\\\":\\\"#assignment_statement\\\"},{\\\"include\\\":\\\"#case_statement\\\"},{\\\"include\\\":\\\"#for_statement\\\"},{\\\"include\\\":\\\"#loop\\\"},{\\\"include\\\":\\\"#function_definition\\\"},{\\\"include\\\":\\\"#line_continuation\\\"},{\\\"include\\\":\\\"#arithmetic_double\\\"},{\\\"include\\\":\\\"#misc_ranges\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#interpolation\\\"},{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"#herestring\\\"},{\\\"include\\\":\\\"#redirection\\\"},{\\\"include\\\":\\\"#pathname\\\"},{\\\"include\\\":\\\"#floating_keyword\\\"},{\\\"include\\\":\\\"#alias_statement\\\"},{\\\"include\\\":\\\"#normal_statement\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#support\\\"}]},\\\"inline_comment\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.shell punctuation.definition.comment.begin.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.shell\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block.shell punctuation.definition.comment.end.shell\\\"},{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"comment.block.shell\\\"}]}},\\\"match\\\":\\\"(/\\\\\\\\*)((?:[^*]|\\\\\\\\*++[^/])*+(\\\\\\\\*++/))\\\"},\\\"interpolation\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#arithmetic_dollar\\\"},{\\\"include\\\":\\\"#subshell_dollar\\\"},{\\\"begin\\\":\\\"`\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.evaluation.backticks.shell\\\"}},\\\"end\\\":\\\"`\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.evaluation.backticks.shell\\\"}},\\\"name\\\":\\\"string.interpolated.backtick.shell\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[$\\\\\\\\\\\\\\\\`]\\\",\\\"name\\\":\\\"constant.character.escape.shell\\\"},{\\\"begin\\\":\\\"(?<=\\\\\\\\W)(?=#)(?!#\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.shell\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"#\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.shell\\\"}},\\\"end\\\":\\\"(?=`)\\\",\\\"name\\\":\\\"comment.line.number-sign.shell\\\"}]},{\\\"include\\\":\\\"#initial_context\\\"}]}]},\\\"keyword\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=^|[\\\\\\\\&;\\\\\\\\s])(then|else|elif|fi|for|in|do|done|select|continue|esac|while|until|return)(?=[\\\\\\\\&;\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"keyword.control.shell\\\"},{\\\"match\\\":\\\"(?<=^|[\\\\\\\\&;\\\\\\\\s])(?:export|declare|typeset|local|readonly)(?=[\\\\\\\\&;\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"storage.modifier.shell\\\"}]},\\\"line_comment\\\":{\\\"begin\\\":\\\"\\\\\\\\s*+(//)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.shell\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\n)(?<!\\\\\\\\\\\\\\\\\\\\\\\\n)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"comment.line.double-slash.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#line_continuation_character\\\"}]},\\\"line_continuation\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(?=\\\\\\\\n)\\\",\\\"name\\\":\\\"constant.character.escape.line-continuation.shell\\\"},\\\"logical-expression\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#arithmetic_no_dollar\\\"},{\\\"match\\\":\\\"=[=~]?|!=?|[<>]|&&|\\\\\\\\|\\\\\\\\|\\\",\\\"name\\\":\\\"keyword.operator.logical.shell\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\S)-(nt|ot|ef|eq|ne|l[et]|g[et]|[GLNOSa-hknopr-uwxz])\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.logical.shell\\\"}]},\\\"logical_expression_context\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#regex_comparison\\\"},{\\\"include\\\":\\\"#arithmetic_no_dollar\\\"},{\\\"include\\\":\\\"#logical-expression\\\"},{\\\"include\\\":\\\"#logical_expression_single\\\"},{\\\"include\\\":\\\"#logical_expression_double\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#boolean\\\"},{\\\"include\\\":\\\"#redirect_number\\\"},{\\\"include\\\":\\\"#numeric_literal\\\"},{\\\"include\\\":\\\"#pipeline\\\"},{\\\"include\\\":\\\"#normal_statement_seperator\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#interpolation\\\"},{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"#herestring\\\"},{\\\"include\\\":\\\"#pathname\\\"},{\\\"include\\\":\\\"#floating_keyword\\\"},{\\\"include\\\":\\\"#support\\\"}]},\\\"logical_expression_double\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.logical-expression.shell\\\"}},\\\"end\\\":\\\"]]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.logical-expression.shell\\\"}},\\\"name\\\":\\\"meta.scope.logical-expression.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#logical_expression_context\\\"}]},\\\"logical_expression_single\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.logical-expression.shell\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.logical-expression.shell\\\"}},\\\"name\\\":\\\"meta.scope.logical-expression.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#logical_expression_context\\\"}]},\\\"loop\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=^|[\\\\\\\\&;\\\\\\\\s])(for)\\\\\\\\s+(.+?)\\\\\\\\s+(in)(?=[\\\\\\\\&;\\\\\\\\s]|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.loop.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.shell\\\"}},\\\"end\\\":\\\"(?<=^|[\\\\\\\\&;\\\\\\\\s])done(?=[\\\\\\\\&;\\\\\\\\s]|$|\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.shell\\\"}},\\\"name\\\":\\\"meta.scope.for-in-loop.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#initial_context\\\"}]},{\\\"begin\\\":\\\"(?<=^|[\\\\\\\\&;\\\\\\\\s])(while|until)(?=[\\\\\\\\&;\\\\\\\\s]|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.shell\\\"}},\\\"end\\\":\\\"(?<=^|[\\\\\\\\&;\\\\\\\\s])done(?=[\\\\\\\\&;\\\\\\\\s]|$|\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.shell\\\"}},\\\"name\\\":\\\"meta.scope.while-loop.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#initial_context\\\"}]},{\\\"begin\\\":\\\"(?<=^|[\\\\\\\\&;\\\\\\\\s])(select)\\\\\\\\s+((?:[^\\\\\\\\\\\\\\\\\\\\\\\\s]|\\\\\\\\\\\\\\\\.)+)(?=[\\\\\\\\&;\\\\\\\\s]|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.loop.shell\\\"}},\\\"end\\\":\\\"(?<=^|[\\\\\\\\&;\\\\\\\\s])(done)(?=[\\\\\\\\&;\\\\\\\\s]|$|\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.shell\\\"}},\\\"name\\\":\\\"meta.scope.select-block.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#initial_context\\\"}]},{\\\"begin\\\":\\\"(?<=^|[\\\\\\\\&;\\\\\\\\s])if(?=[\\\\\\\\&;\\\\\\\\s]|$)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.if.shell\\\"}},\\\"end\\\":\\\"(?<=^|[\\\\\\\\&;\\\\\\\\s])fi(?=[\\\\\\\\&;\\\\\\\\s]|$)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.fi.shell\\\"}},\\\"name\\\":\\\"meta.scope.if-block.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#initial_context\\\"}]}]},\\\"math\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#variable\\\"},{\\\"match\\\":\\\"\\\\\\\\+{1,2}|-{1,2}|[!~]|\\\\\\\\*{1,2}|[%/]|<[<=]?|>[=>]?|==|!=|^|\\\\\\\\|{1,2}|&{1,2}|[,:=?]|[-%\\\\\\\\&*+/^|]=|<<=|>>=\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.shell\\\"},{\\\"match\\\":\\\"0[Xx]\\\\\\\\h+\\\",\\\"name\\\":\\\"constant.numeric.hex.shell\\\"},{\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"punctuation.separator.semicolon.range\\\"},{\\\"match\\\":\\\"0\\\\\\\\d+\\\",\\\"name\\\":\\\"constant.numeric.octal.shell\\\"},{\\\"match\\\":\\\"\\\\\\\\d{1,2}#[0-9@-Z_a-z]+\\\",\\\"name\\\":\\\"constant.numeric.other.shell\\\"},{\\\"match\\\":\\\"\\\\\\\\d+\\\",\\\"name\\\":\\\"constant.numeric.integer.shell\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)[0-9A-Z_a-z]+(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"variable.other.normal.shell\\\"}]},\\\"math_operators\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\+{1,2}|-{1,2}|[!~]|\\\\\\\\*{1,2}|[%/]|<[<=]?|>[=>]?|==|!=|^|\\\\\\\\|{1,2}|&{1,2}|[,:=?]|[-%\\\\\\\\&*+/^|]=|<<=|>>=\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.shell\\\"},{\\\"match\\\":\\\"0[Xx]\\\\\\\\h+\\\",\\\"name\\\":\\\"constant.numeric.hex.shell\\\"},{\\\"match\\\":\\\"0\\\\\\\\d+\\\",\\\"name\\\":\\\"constant.numeric.octal.shell\\\"},{\\\"match\\\":\\\"\\\\\\\\d{1,2}#[0-9@-Z_a-z]+\\\",\\\"name\\\":\\\"constant.numeric.other.shell\\\"},{\\\"match\\\":\\\"\\\\\\\\d+\\\",\\\"name\\\":\\\"constant.numeric.integer.shell\\\"}]},\\\"misc_ranges\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#logical_expression_single\\\"},{\\\"include\\\":\\\"#logical_expression_double\\\"},{\\\"include\\\":\\\"#subshell_dollar\\\"},{\\\"begin\\\":\\\"(?<![^\\\\\\\\t ])(\\\\\\\\{)(?![$\\\\\\\\w])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.group.shell\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.shell\\\"}},\\\"name\\\":\\\"meta.scope.group.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#initial_context\\\"}]}]},\\\"modified_assignment_statement\\\":{\\\"begin\\\":\\\"(?<=^|[\\\\\\\\t \\\\\\\\&;])(?:readonly|declare|typeset|export|local)(?=[\\\\\\\\t \\\\\\\\&;]|$)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"storage.modifier.$0.shell\\\"}},\\\"end\\\":\\\"(?=[\\\\\\\\n\\\\\\\\&);`{|}]|[\\\\\\\\t ]*#|])(?<!\\\\\\\\\\\\\\\\)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.statement.shell meta.expression.assignment.modified.shell\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?<!\\\\\\\\w)-\\\\\\\\w+\\\\\\\\b\\\",\\\"name\\\":\\\"string.unquoted.argument.shell constant.other.option.shell\\\"},{\\\"include\\\":\\\"#array_value\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.assignment.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.array.access.shell\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.assignment.shell\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.numeric.shell constant.numeric.integer.shell\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.array.access.shell\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.operator.assignment.shell\\\"},\\\"7\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.shell\\\"},\\\"8\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.shell\\\"},\\\"9\\\":{\\\"name\\\":\\\"constant.numeric.shell constant.numeric.hex.shell\\\"},\\\"10\\\":{\\\"name\\\":\\\"constant.numeric.shell constant.numeric.octal.shell\\\"},\\\"11\\\":{\\\"name\\\":\\\"constant.numeric.shell constant.numeric.other.shell\\\"},\\\"12\\\":{\\\"name\\\":\\\"constant.numeric.shell constant.numeric.decimal.shell\\\"},\\\"13\\\":{\\\"name\\\":\\\"constant.numeric.shell constant.numeric.version.shell\\\"},\\\"14\\\":{\\\"name\\\":\\\"constant.numeric.shell constant.numeric.integer.shell\\\"}},\\\"match\\\":\\\"((?<!\\\\\\\\w)[-0-9A-Z_a-z]+(?!\\\\\\\\w))(?:(\\\\\\\\[)((?:(?:\\\\\\\\$?(?<!\\\\\\\\w)[-0-9A-Z_a-z]+(?!\\\\\\\\w)|@)|\\\\\\\\*)|(-?\\\\\\\\d+))(]))?(?:(?:(=)|(\\\\\\\\+=))|(-=))?(?:(?<=[\\\\\\\\t =]|^|[(\\\\\\\\[{])(?:(?:(?:(?:(?:(0[Xx]\\\\\\\\h+)|(0\\\\\\\\d+))|(\\\\\\\\d{1,2}#[0-9@-Z_a-z]+))|(-?\\\\\\\\d+\\\\\\\\.\\\\\\\\d+))|(-?\\\\\\\\d+(?:\\\\\\\\.\\\\\\\\d+)+))|(-?\\\\\\\\d+))(?=[\\\\\\\\t ]|$|[);}]))?\\\"},{\\\"include\\\":\\\"#normal_context\\\"}]},\\\"modifiers\\\":{\\\"match\\\":\\\"(?<=^|[\\\\\\\\t \\\\\\\\&;])(?:readonly|declare|typeset|export|local)(?=[\\\\\\\\t \\\\\\\\&;]|$)\\\",\\\"name\\\":\\\"storage.modifier.$0.shell\\\"},\\\"normal_assignment_statement\\\":{\\\"begin\\\":\\\"[\\\\\\\\t ]*+((?<!\\\\\\\\w)[-0-9A-Z_a-z]+(?!\\\\\\\\w))(?:(\\\\\\\\[)((?:(?:\\\\\\\\$?(?<!\\\\\\\\w)[-0-9A-Z_a-z]+(?!\\\\\\\\w)|@)|\\\\\\\\*)|(-?\\\\\\\\d+))(]))?(?:(?:(=)|(\\\\\\\\+=))|(-=))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.assignment.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.array.access.shell\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.assignment.shell\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.numeric.shell constant.numeric.integer.shell\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.array.access.shell\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.operator.assignment.shell\\\"},\\\"7\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.shell\\\"},\\\"8\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.shell\\\"}},\\\"end\\\":\\\"(?=[\\\\\\\\n\\\\\\\\&);`{|}]|[\\\\\\\\t ]*#|])(?<!\\\\\\\\\\\\\\\\)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.expression.assignment.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#normal_assignment_statement\\\"},{\\\"begin\\\":\\\"(?<=[\\\\\\\\t ])(?![\\\\\\\\t ]|\\\\\\\\w+=)\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"(?=[\\\\\\\\n\\\\\\\\&);`{|}]|[\\\\\\\\t ]*#|])(?<!\\\\\\\\\\\\\\\\)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.statement.command.env.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#command_name_range\\\"},{\\\"include\\\":\\\"#line_continuation\\\"},{\\\"include\\\":\\\"#option\\\"},{\\\"include\\\":\\\"#argument\\\"},{\\\"include\\\":\\\"#string\\\"}]},{\\\"include\\\":\\\"#simple_unquoted\\\"},{\\\"include\\\":\\\"#normal_context\\\"}]},\\\"normal_context\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#pipeline\\\"},{\\\"include\\\":\\\"#normal_statement_seperator\\\"},{\\\"include\\\":\\\"#misc_ranges\\\"},{\\\"include\\\":\\\"#boolean\\\"},{\\\"include\\\":\\\"#redirect_number\\\"},{\\\"include\\\":\\\"#numeric_literal\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#interpolation\\\"},{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"#herestring\\\"},{\\\"include\\\":\\\"#redirection\\\"},{\\\"include\\\":\\\"#pathname\\\"},{\\\"include\\\":\\\"#floating_keyword\\\"},{\\\"include\\\":\\\"#support\\\"},{\\\"include\\\":\\\"#parenthese\\\"}]},\\\"normal_statement\\\":{\\\"begin\\\":\\\"(?!^[\\\\\\\\t ]*+$)(?:(?<=(?:^until| until|\\\\\\\\tuntil|^while| while|\\\\\\\\twhile|^elif| elif|\\\\\\\\telif|^else| else|\\\\\\\\telse|^then| then|\\\\\\\\tthen|^do| do|\\\\\\\\tdo|^if| if|\\\\\\\\tif) )|(?<=^|[!\\\\\\\\&(;`{|]))[\\\\\\\\t ]*+(?!nocorrect\\\\\\\\W|nocorrect\\\\\\\\$|function\\\\\\\\W|function\\\\\\\\$|foreach\\\\\\\\W|foreach\\\\\\\\$|repeat\\\\\\\\W|repeat\\\\\\\\$|logout\\\\\\\\W|logout\\\\\\\\$|coproc\\\\\\\\W|coproc\\\\\\\\$|select\\\\\\\\W|select\\\\\\\\$|while\\\\\\\\W|while\\\\\\\\$|pushd\\\\\\\\W|pushd\\\\\\\\$|until\\\\\\\\W|until\\\\\\\\$|case\\\\\\\\W|case\\\\\\\\$|done\\\\\\\\W|done\\\\\\\\$|elif\\\\\\\\W|elif\\\\\\\\$|else\\\\\\\\W|else\\\\\\\\$|esac\\\\\\\\W|esac\\\\\\\\$|popd\\\\\\\\W|popd\\\\\\\\$|then\\\\\\\\W|then\\\\\\\\$|time\\\\\\\\W|time\\\\\\\\$|for\\\\\\\\W|for\\\\\\\\$|end\\\\\\\\W|end\\\\\\\\$|fi\\\\\\\\W|fi\\\\\\\\$|do\\\\\\\\W|do\\\\\\\\$|in\\\\\\\\W|in\\\\\\\\$|if\\\\\\\\W|if\\\\\\\\$)\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"(?=[\\\\\\\\n\\\\\\\\&);`{|}]|[\\\\\\\\t ]*#|])(?<!\\\\\\\\\\\\\\\\)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.statement.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#typical_statements\\\"}]},\\\"normal_statement_seperator\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.statement.semicolon.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.statement.and.shell\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.statement.or.shell\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.separator.statement.background.shell\\\"}},\\\"match\\\":\\\"(?:(?:(;)|(&&))|(\\\\\\\\|\\\\\\\\|))|(&)\\\"},\\\"numeric_literal\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.numeric.shell constant.numeric.hex.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.numeric.shell constant.numeric.octal.shell\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.numeric.shell constant.numeric.other.shell\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.numeric.shell constant.numeric.decimal.shell\\\"},\\\"5\\\":{\\\"name\\\":\\\"constant.numeric.shell constant.numeric.version.shell\\\"},\\\"6\\\":{\\\"name\\\":\\\"constant.numeric.shell constant.numeric.integer.shell\\\"}},\\\"match\\\":\\\"(?<=[\\\\\\\\t =]|^|[(\\\\\\\\[{])(?:(?:(?:(?:(?:(0[Xx]\\\\\\\\h+)|(0\\\\\\\\d+))|(\\\\\\\\d{1,2}#[0-9@-Z_a-z]+))|(-?\\\\\\\\d+\\\\\\\\.\\\\\\\\d+))|(-?\\\\\\\\d+(?:\\\\\\\\.\\\\\\\\d+)+))|(-?\\\\\\\\d+))(?=[\\\\\\\\t ]|$|[);}])\\\"},\\\"option\\\":{\\\"begin\\\":\\\"[\\\\\\\\t ]++(-)((?![\\\\\\\\n!#\\\\\\\\&()<>\\\\\\\\[{|]|$|[\\\\\\\\t ;]))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.unquoted.argument.shell constant.other.option.dash.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.unquoted.argument.shell constant.other.option.shell\\\"}},\\\"contentName\\\":\\\"string.unquoted.argument constant.other.option\\\",\\\"end\\\":\\\"(?=[\\\\\\\\t ])|(?=[\\\\\\\\n\\\\\\\\&);`{|}]|[\\\\\\\\t ]*#|])(?<!\\\\\\\\\\\\\\\\)\\\",\\\"endCaptures\\\":{},\\\"patterns\\\":[{\\\"include\\\":\\\"#option_context\\\"}]},\\\"option_context\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#misc_ranges\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#interpolation\\\"},{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"#herestring\\\"},{\\\"include\\\":\\\"#redirection\\\"},{\\\"include\\\":\\\"#pathname\\\"},{\\\"include\\\":\\\"#floating_keyword\\\"},{\\\"include\\\":\\\"#support\\\"}]},\\\"parenthese\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parenthese.shell\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parenthese.shell\\\"}},\\\"name\\\":\\\"meta.parenthese.group.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#initial_context\\\"}]}]},\\\"pathname\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=[:=\\\\\\\\s]|^)~\\\",\\\"name\\\":\\\"keyword.operator.tilde.shell\\\"},{\\\"match\\\":\\\"[*?]\\\",\\\"name\\\":\\\"keyword.operator.glob.shell\\\"},{\\\"begin\\\":\\\"([!*+?@])(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.extglob.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.extglob.shell\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.extglob.shell\\\"}},\\\"name\\\":\\\"meta.structure.extglob.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#initial_context\\\"}]}]},\\\"pipeline\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=^|[\\\\\\\\&;\\\\\\\\s])(time)(?=[\\\\\\\\&;\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"keyword.other.shell\\\"},{\\\"match\\\":\\\"[!|]\\\",\\\"name\\\":\\\"keyword.operator.pipe.shell\\\"}]},\\\"redirect_fix\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.redirect.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.unquoted.argument.shell\\\"}},\\\"match\\\":\\\"(>>?)[\\\\\\\\t ]*+([^\\\\\\\\t\\\\\\\\n \\\\\\\"$\\\\\\\\&-);<>\\\\\\\\\\\\\\\\`|]+)\\\"},\\\"redirect_number\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.redirect.stdout.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.redirect.stderr.shell\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.redirect.$3.shell\\\"}},\\\"match\\\":\\\"(?<=[\\\\\\\\t ])(?:(1)|(2)|(\\\\\\\\d+))(?=>)\\\"},\\\"redirection\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"[<>]\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.shell\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.shell\\\"}},\\\"name\\\":\\\"string.interpolated.process-substitution.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#initial_context\\\"}]},{\\\"match\\\":\\\"(?<![<>])(&>|\\\\\\\\d*>&\\\\\\\\d*|\\\\\\\\d*(>>|[<>])|\\\\\\\\d*<&|\\\\\\\\d*<>)(?![<>])\\\",\\\"name\\\":\\\"keyword.operator.redirect.shell\\\"}]},\\\"regex_comparison\\\":{\\\"match\\\":\\\"=~\\\",\\\"name\\\":\\\"keyword.operator.logical.regex.shell\\\"},\\\"regexp\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\".+\\\"}]},\\\"simple_options\\\":{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.unquoted.argument.shell constant.other.option.dash.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.unquoted.argument.shell constant.other.option.shell\\\"}},\\\"match\\\":\\\"[\\\\\\\\t ]++(-)(\\\\\\\\w+)\\\"}]}},\\\"match\\\":\\\"(?:[\\\\\\\\t ]++-\\\\\\\\w+)*\\\"},\\\"simple_unquoted\\\":{\\\"match\\\":\\\"[^\\\\\\\\t\\\\\\\\n \\\\\\\"$\\\\\\\\&-);<>\\\\\\\\\\\\\\\\`|]\\\",\\\"name\\\":\\\"string.unquoted.shell\\\"},\\\"special_expansion\\\":{\\\"match\\\":\\\"!|:[-=?]?|[*@]|##?|%%|[%/]\\\",\\\"name\\\":\\\"keyword.operator.expansion.shell\\\"},\\\"start_of_command\\\":{\\\"match\\\":\\\"[\\\\\\\\t ]*+(?![\\\\\\\\n!#\\\\\\\\&()<>\\\\\\\\[{|]|$|[\\\\\\\\t ;])(?!nocorrect |nocorrect\\\\\\\\t|nocorrect$|readonly |readonly\\\\\\\\t|readonly$|function |function\\\\\\\\t|function$|foreach |foreach\\\\\\\\t|foreach$|coproc |coproc\\\\\\\\t|coproc$|logout |logout\\\\\\\\t|logout$|export |export\\\\\\\\t|export$|select |select\\\\\\\\t|select$|repeat |repeat\\\\\\\\t|repeat$|pushd |pushd\\\\\\\\t|pushd$|until |until\\\\\\\\t|until$|while |while\\\\\\\\t|while$|local |local\\\\\\\\t|local$|case |case\\\\\\\\t|case$|done |done\\\\\\\\t|done$|elif |elif\\\\\\\\t|elif$|else |else\\\\\\\\t|else$|esac |esac\\\\\\\\t|esac$|popd |popd\\\\\\\\t|popd$|then |then\\\\\\\\t|then$|time |time\\\\\\\\t|time$|for |for\\\\\\\\t|for$|end |end\\\\\\\\t|end$|fi |fi\\\\\\\\t|fi$|do |do\\\\\\\\t|do$|in |in\\\\\\\\t|in$|if |if\\\\\\\\t|if$)(?!\\\\\\\\\\\\\\\\\\\\\\\\n?$)\\\"},\\\"string\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.escape.shell\\\"},{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.shell\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.shell\\\"}},\\\"name\\\":\\\"string.quoted.single.shell\\\"},{\\\"begin\\\":\\\"\\\\\\\\$?\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.shell\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.shell\\\"}},\\\"name\\\":\\\"string.quoted.double.shell\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[\\\\\\\\n\\\\\\\"$\\\\\\\\\\\\\\\\`]\\\",\\\"name\\\":\\\"constant.character.escape.shell\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#interpolation\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\$'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.shell\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.shell\\\"}},\\\"name\\\":\\\"string.quoted.single.dollar.shell\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\['\\\\\\\\\\\\\\\\abefnrtv]\\\",\\\"name\\\":\\\"constant.character.escape.ansi-c.shell\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[0-9]{3}\\\\\\\"\\\",\\\"name\\\":\\\"constant.character.escape.octal.shell\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\x\\\\\\\\h{2}\\\\\\\"\\\",\\\"name\\\":\\\"constant.character.escape.hex.shell\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\c.\\\\\\\"\\\",\\\"name\\\":\\\"constant.character.escape.control-char.shell\\\"}]}]},\\\"subshell_dollar\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\$\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.subshell.single.shell\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.subshell.single.shell\\\"}},\\\"name\\\":\\\"meta.scope.subshell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#parenthese\\\"},{\\\"include\\\":\\\"#initial_context\\\"}]}]},\\\"support\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=^|[\\\\\\\\&;\\\\\\\\s])[.:](?=[\\\\\\\\&;\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"support.function.builtin.shell\\\"}]},\\\"typical_statements\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#assignment_statement\\\"},{\\\"include\\\":\\\"#case_statement\\\"},{\\\"include\\\":\\\"#for_statement\\\"},{\\\"include\\\":\\\"#while_statement\\\"},{\\\"include\\\":\\\"#function_definition\\\"},{\\\"include\\\":\\\"#command_statement\\\"},{\\\"include\\\":\\\"#line_continuation\\\"},{\\\"include\\\":\\\"#arithmetic_double\\\"},{\\\"include\\\":\\\"#normal_context\\\"}]},\\\"variable\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.shell variable.parameter.positional.all.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.positional.all.shell\\\"}},\\\"match\\\":\\\"(\\\\\\\\$)(@(?!\\\\\\\\w))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.shell variable.parameter.positional.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.positional.shell\\\"}},\\\"match\\\":\\\"(\\\\\\\\$)([0-9](?!\\\\\\\\w))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.shell variable.language.special.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.language.special.shell\\\"}},\\\"match\\\":\\\"(\\\\\\\\$)([-!#$*0?_](?!\\\\\\\\w))\\\"},{\\\"begin\\\":\\\"(\\\\\\\\$)(\\\\\\\\{)[\\\\\\\\t ]*+(?=\\\\\\\\d)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.shell variable.parameter.positional.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.bracket.curly.variable.begin.shell punctuation.definition.variable.shell variable.parameter.positional.shell\\\"}},\\\"contentName\\\":\\\"meta.parameter-expansion\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.bracket.curly.variable.end.shell punctuation.definition.variable.shell variable.parameter.positional.shell\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#special_expansion\\\"},{\\\"include\\\":\\\"#array_access_inline\\\"},{\\\"match\\\":\\\"[0-9]+\\\",\\\"name\\\":\\\"variable.parameter.positional.shell\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)[-0-9A-Z_a-z]+(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"variable.other.normal.shell\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#string\\\"}]},{\\\"begin\\\":\\\"(\\\\\\\\$)(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.bracket.curly.variable.begin.shell punctuation.definition.variable.shell\\\"}},\\\"contentName\\\":\\\"meta.parameter-expansion\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.bracket.curly.variable.end.shell punctuation.definition.variable.shell\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#special_expansion\\\"},{\\\"include\\\":\\\"#array_access_inline\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)[-0-9A-Z_a-z]+(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"variable.other.normal.shell\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#string\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.shell variable.other.normal.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.normal.shell\\\"}},\\\"match\\\":\\\"(\\\\\\\\$)(\\\\\\\\w+(?!\\\\\\\\w))\\\"}]},\\\"while_statement\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(while)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.while.shell\\\"}},\\\"end\\\":\\\"(?=[\\\\\\\\n\\\\\\\\&);`{|}]|[\\\\\\\\t ]*#|])(?<!\\\\\\\\\\\\\\\\)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.while.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#line_continuation\\\"},{\\\"include\\\":\\\"#math_operators\\\"},{\\\"include\\\":\\\"#option\\\"},{\\\"include\\\":\\\"#simple_unquoted\\\"},{\\\"include\\\":\\\"#normal_context\\\"},{\\\"include\\\":\\\"#string\\\"}]}]}},\\\"scopeName\\\":\\\"source.shell\\\",\\\"aliases\\\":[\\\"bash\\\",\\\"sh\\\",\\\"shell\\\",\\\"zsh\\\"]}\"))\n\nexport default [\nlang\n]\n"],"names":["lang","shellscript"],"mappings":";AAAA,MAAMA,IAAO,OAAO,OAAO,KAAK,MAAM,u8wCAA2y4C,CAAC,GAEl14CC,IAAe;AAAA,EACfD;AACA;;;;;;;","x_google_ignoreList":[0]}