groove-dev 0.15.0 → 0.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (334) hide show
  1. package/docs/FILE-EDITOR-PLAN.md +253 -0
  2. package/node_modules/@codemirror/autocomplete/.github/workflows/dispatch.yml +16 -0
  3. package/node_modules/@codemirror/autocomplete/CHANGELOG.md +639 -0
  4. package/node_modules/@codemirror/autocomplete/LICENSE +21 -0
  5. package/node_modules/@codemirror/autocomplete/README.md +43 -0
  6. package/node_modules/@codemirror/autocomplete/dist/index.cjs +2151 -0
  7. package/node_modules/@codemirror/autocomplete/dist/index.d.cts +648 -0
  8. package/node_modules/@codemirror/autocomplete/dist/index.d.ts +648 -0
  9. package/node_modules/@codemirror/autocomplete/dist/index.js +2120 -0
  10. package/node_modules/@codemirror/autocomplete/package.json +41 -0
  11. package/node_modules/@codemirror/commands/.github/workflows/dispatch.yml +16 -0
  12. package/node_modules/@codemirror/commands/CHANGELOG.md +386 -0
  13. package/node_modules/@codemirror/commands/LICENSE +21 -0
  14. package/node_modules/@codemirror/commands/README.md +35 -0
  15. package/node_modules/@codemirror/commands/dist/index.cjs +1909 -0
  16. package/node_modules/@codemirror/commands/dist/index.d.cts +650 -0
  17. package/node_modules/@codemirror/commands/dist/index.d.ts +650 -0
  18. package/node_modules/@codemirror/commands/dist/index.js +1795 -0
  19. package/node_modules/@codemirror/commands/package.json +42 -0
  20. package/node_modules/@codemirror/lang-css/.github/workflows/dispatch.yml +16 -0
  21. package/node_modules/@codemirror/lang-css/CHANGELOG.md +106 -0
  22. package/node_modules/@codemirror/lang-css/LICENSE +21 -0
  23. package/node_modules/@codemirror/lang-css/README.md +50 -0
  24. package/node_modules/@codemirror/lang-css/dist/index.cjs +269 -0
  25. package/node_modules/@codemirror/lang-css/dist/index.d.cts +28 -0
  26. package/node_modules/@codemirror/lang-css/dist/index.d.ts +28 -0
  27. package/node_modules/@codemirror/lang-css/dist/index.js +264 -0
  28. package/node_modules/@codemirror/lang-css/package.json +42 -0
  29. package/node_modules/@codemirror/lang-html/.github/workflows/dispatch.yml +16 -0
  30. package/node_modules/@codemirror/lang-html/CHANGELOG.md +210 -0
  31. package/node_modules/@codemirror/lang-html/LICENSE +21 -0
  32. package/node_modules/@codemirror/lang-html/README.md +147 -0
  33. package/node_modules/@codemirror/lang-html/dist/index.cjs +667 -0
  34. package/node_modules/@codemirror/lang-html/dist/index.d.cts +115 -0
  35. package/node_modules/@codemirror/lang-html/dist/index.d.ts +115 -0
  36. package/node_modules/@codemirror/lang-html/dist/index.js +661 -0
  37. package/node_modules/@codemirror/lang-html/package.json +46 -0
  38. package/node_modules/@codemirror/lang-javascript/.github/workflows/dispatch.yml +16 -0
  39. package/node_modules/@codemirror/lang-javascript/CHANGELOG.md +206 -0
  40. package/node_modules/@codemirror/lang-javascript/LICENSE +21 -0
  41. package/node_modules/@codemirror/lang-javascript/README.md +125 -0
  42. package/node_modules/@codemirror/lang-javascript/dist/index.cjs +526 -0
  43. package/node_modules/@codemirror/lang-javascript/dist/index.d.cts +93 -0
  44. package/node_modules/@codemirror/lang-javascript/dist/index.d.ts +93 -0
  45. package/node_modules/@codemirror/lang-javascript/dist/index.js +513 -0
  46. package/node_modules/@codemirror/lang-javascript/package.json +45 -0
  47. package/node_modules/@codemirror/lang-json/.github/workflows/dispatch.yml +16 -0
  48. package/node_modules/@codemirror/lang-json/CHANGELOG.md +59 -0
  49. package/node_modules/@codemirror/lang-json/LICENSE +21 -0
  50. package/node_modules/@codemirror/lang-json/README.md +56 -0
  51. package/node_modules/@codemirror/lang-json/dist/index.cjs +68 -0
  52. package/node_modules/@codemirror/lang-json/dist/index.d.cts +22 -0
  53. package/node_modules/@codemirror/lang-json/dist/index.d.ts +22 -0
  54. package/node_modules/@codemirror/lang-json/dist/index.js +64 -0
  55. package/node_modules/@codemirror/lang-json/package.json +39 -0
  56. package/node_modules/@codemirror/lang-markdown/.github/workflows/dispatch.yml +16 -0
  57. package/node_modules/@codemirror/lang-markdown/CHANGELOG.md +246 -0
  58. package/node_modules/@codemirror/lang-markdown/LICENSE +21 -0
  59. package/node_modules/@codemirror/lang-markdown/README.md +162 -0
  60. package/node_modules/@codemirror/lang-markdown/dist/index.cjs +501 -0
  61. package/node_modules/@codemirror/lang-markdown/dist/index.d.cts +124 -0
  62. package/node_modules/@codemirror/lang-markdown/dist/index.d.ts +124 -0
  63. package/node_modules/@codemirror/lang-markdown/dist/index.js +492 -0
  64. package/node_modules/@codemirror/lang-markdown/package.json +44 -0
  65. package/node_modules/@codemirror/lang-python/.github/workflows/dispatch.yml +16 -0
  66. package/node_modules/@codemirror/lang-python/CHANGELOG.md +174 -0
  67. package/node_modules/@codemirror/lang-python/LICENSE +21 -0
  68. package/node_modules/@codemirror/lang-python/README.md +61 -0
  69. package/node_modules/@codemirror/lang-python/dist/index.cjs +313 -0
  70. package/node_modules/@codemirror/lang-python/dist/index.d.cts +26 -0
  71. package/node_modules/@codemirror/lang-python/dist/index.d.ts +26 -0
  72. package/node_modules/@codemirror/lang-python/dist/index.js +308 -0
  73. package/node_modules/@codemirror/lang-python/package.json +42 -0
  74. package/node_modules/@codemirror/language/.github/workflows/dispatch.yml +16 -0
  75. package/node_modules/@codemirror/language/CHANGELOG.md +412 -0
  76. package/node_modules/@codemirror/language/LICENSE +21 -0
  77. package/node_modules/@codemirror/language/README.md +66 -0
  78. package/node_modules/@codemirror/language/dist/index.cjs +2742 -0
  79. package/node_modules/@codemirror/language/dist/index.d.cts +1220 -0
  80. package/node_modules/@codemirror/language/dist/index.d.ts +1220 -0
  81. package/node_modules/@codemirror/language/dist/index.js +2687 -0
  82. package/node_modules/@codemirror/language/package.json +44 -0
  83. package/node_modules/@codemirror/lint/.github/workflows/dispatch.yml +16 -0
  84. package/node_modules/@codemirror/lint/CHANGELOG.md +318 -0
  85. package/node_modules/@codemirror/lint/LICENSE +21 -0
  86. package/node_modules/@codemirror/lint/README.md +18 -0
  87. package/node_modules/@codemirror/lint/dist/index.cjs +958 -0
  88. package/node_modules/@codemirror/lint/dist/index.d.cts +195 -0
  89. package/node_modules/@codemirror/lint/dist/index.d.ts +195 -0
  90. package/node_modules/@codemirror/lint/dist/index.js +945 -0
  91. package/node_modules/@codemirror/lint/package.json +40 -0
  92. package/node_modules/@codemirror/search/.github/workflows/dispatch.yml +16 -0
  93. package/node_modules/@codemirror/search/CHANGELOG.md +324 -0
  94. package/node_modules/@codemirror/search/LICENSE +21 -0
  95. package/node_modules/@codemirror/search/README.md +18 -0
  96. package/node_modules/@codemirror/search/dist/index.cjs +1237 -0
  97. package/node_modules/@codemirror/search/dist/index.d.cts +385 -0
  98. package/node_modules/@codemirror/search/dist/index.d.ts +385 -0
  99. package/node_modules/@codemirror/search/dist/index.js +1217 -0
  100. package/node_modules/@codemirror/search/package.json +40 -0
  101. package/node_modules/@codemirror/state/.github/workflows/dispatch.yml +16 -0
  102. package/node_modules/@codemirror/state/CHANGELOG.md +308 -0
  103. package/node_modules/@codemirror/state/LICENSE +21 -0
  104. package/node_modules/@codemirror/state/README.md +18 -0
  105. package/node_modules/@codemirror/state/dist/index.cjs +3922 -0
  106. package/node_modules/@codemirror/state/dist/index.d.cts +1713 -0
  107. package/node_modules/@codemirror/state/dist/index.d.ts +1713 -0
  108. package/node_modules/@codemirror/state/dist/index.js +3892 -0
  109. package/node_modules/@codemirror/state/package.json +38 -0
  110. package/node_modules/@codemirror/theme-one-dark/.github/workflows/dispatch.yml +16 -0
  111. package/node_modules/@codemirror/theme-one-dark/CHANGELOG.md +97 -0
  112. package/node_modules/@codemirror/theme-one-dark/LICENSE +21 -0
  113. package/node_modules/@codemirror/theme-one-dark/README.md +46 -0
  114. package/node_modules/@codemirror/theme-one-dark/dist/index.cjs +139 -0
  115. package/node_modules/@codemirror/theme-one-dark/dist/index.d.cts +39 -0
  116. package/node_modules/@codemirror/theme-one-dark/dist/index.d.ts +39 -0
  117. package/node_modules/@codemirror/theme-one-dark/dist/index.js +134 -0
  118. package/node_modules/@codemirror/theme-one-dark/package.json +41 -0
  119. package/node_modules/@codemirror/view/.github/workflows/dispatch.yml +16 -0
  120. package/node_modules/@codemirror/view/CHANGELOG.md +2284 -0
  121. package/node_modules/@codemirror/view/LICENSE +21 -0
  122. package/node_modules/@codemirror/view/README.md +37 -0
  123. package/node_modules/@codemirror/view/dist/index.cjs +11796 -0
  124. package/node_modules/@codemirror/view/dist/index.d.cts +2389 -0
  125. package/node_modules/@codemirror/view/dist/index.d.ts +2389 -0
  126. package/node_modules/@codemirror/view/dist/index.js +11745 -0
  127. package/node_modules/@codemirror/view/package.json +41 -0
  128. package/node_modules/@groove-dev/daemon/src/api.js +157 -2
  129. package/node_modules/@groove-dev/daemon/src/filewatcher.js +59 -0
  130. package/node_modules/@groove-dev/daemon/src/index.js +28 -1
  131. package/node_modules/@groove-dev/daemon/src/skills.js +20 -0
  132. package/node_modules/@groove-dev/gui/dist/assets/index-Dxg9hdf3.js +103 -0
  133. package/node_modules/@groove-dev/gui/dist/index.html +1 -1
  134. package/node_modules/@groove-dev/gui/package.json +15 -2
  135. package/node_modules/@groove-dev/gui/src/App.jsx +3 -0
  136. package/node_modules/@groove-dev/gui/src/components/CodeEditor.jsx +143 -0
  137. package/node_modules/@groove-dev/gui/src/components/EditorTabs.jsx +83 -0
  138. package/node_modules/@groove-dev/gui/src/components/FileTree.jsx +193 -0
  139. package/node_modules/@groove-dev/gui/src/stores/groove.js +158 -1
  140. package/node_modules/@groove-dev/gui/src/views/FileEditor.jsx +142 -0
  141. package/node_modules/@groove-dev/gui/src/views/SkillsMarketplace.jsx +112 -1
  142. package/node_modules/@lezer/common/LICENSE +21 -0
  143. package/node_modules/@lezer/common/README.md +14 -0
  144. package/node_modules/@lezer/common/dist/index.cjs +2209 -0
  145. package/node_modules/@lezer/common/dist/index.d.cts +1174 -0
  146. package/node_modules/@lezer/common/dist/index.d.ts +1174 -0
  147. package/node_modules/@lezer/common/dist/index.js +2196 -0
  148. package/node_modules/@lezer/common/package.json +32 -0
  149. package/node_modules/@lezer/css/CHANGELOG.md +307 -0
  150. package/node_modules/@lezer/css/LICENSE +21 -0
  151. package/node_modules/@lezer/css/README.md +6 -0
  152. package/node_modules/@lezer/css/dist/index.cjs +151 -0
  153. package/node_modules/@lezer/css/dist/index.d.cts +3 -0
  154. package/node_modules/@lezer/css/dist/index.d.ts +3 -0
  155. package/node_modules/@lezer/css/dist/index.js +147 -0
  156. package/node_modules/@lezer/css/package.json +36 -0
  157. package/node_modules/@lezer/css/rollup.config.js +16 -0
  158. package/node_modules/@lezer/css/src/css.grammar +290 -0
  159. package/node_modules/@lezer/css/src/highlight.js +36 -0
  160. package/node_modules/@lezer/css/src/parser.js +31 -0
  161. package/node_modules/@lezer/css/src/parser.terms.js +63 -0
  162. package/node_modules/@lezer/css/src/tokens.js +75 -0
  163. package/node_modules/@lezer/css/test/declarations.txt +241 -0
  164. package/node_modules/@lezer/css/test/selector.txt +178 -0
  165. package/node_modules/@lezer/css/test/statements.txt +227 -0
  166. package/node_modules/@lezer/css/test/test-css.js +16 -0
  167. package/node_modules/@lezer/highlight/LICENSE +21 -0
  168. package/node_modules/@lezer/highlight/README.md +14 -0
  169. package/node_modules/@lezer/highlight/dist/index.cjs +936 -0
  170. package/node_modules/@lezer/highlight/dist/index.d.cts +623 -0
  171. package/node_modules/@lezer/highlight/dist/index.d.ts +623 -0
  172. package/node_modules/@lezer/highlight/dist/index.js +927 -0
  173. package/node_modules/@lezer/highlight/package.json +31 -0
  174. package/node_modules/@lezer/html/CHANGELOG.md +303 -0
  175. package/node_modules/@lezer/html/LICENSE +21 -0
  176. package/node_modules/@lezer/html/README.md +37 -0
  177. package/node_modules/@lezer/html/dist/index.cjs +354 -0
  178. package/node_modules/@lezer/html/dist/index.d.cts +14 -0
  179. package/node_modules/@lezer/html/dist/index.d.ts +14 -0
  180. package/node_modules/@lezer/html/dist/index.js +349 -0
  181. package/node_modules/@lezer/html/package.json +37 -0
  182. package/node_modules/@lezer/html/rollup.config.js +16 -0
  183. package/node_modules/@lezer/html/src/.tern-port +1 -0
  184. package/node_modules/@lezer/html/src/content.js +87 -0
  185. package/node_modules/@lezer/html/src/highlight.js +15 -0
  186. package/node_modules/@lezer/html/src/html.grammar +181 -0
  187. package/node_modules/@lezer/html/src/index.js +2 -0
  188. package/node_modules/@lezer/html/src/parser.js +27 -0
  189. package/node_modules/@lezer/html/src/parser.terms.js +53 -0
  190. package/node_modules/@lezer/html/src/tokens.js +199 -0
  191. package/node_modules/@lezer/html/test/mixed.txt +69 -0
  192. package/node_modules/@lezer/html/test/tags.txt +370 -0
  193. package/node_modules/@lezer/html/test/test-html.js +29 -0
  194. package/node_modules/@lezer/html/test/test-incremental.js +97 -0
  195. package/node_modules/@lezer/html/test/vue.txt +56 -0
  196. package/node_modules/@lezer/javascript/CHANGELOG.md +485 -0
  197. package/node_modules/@lezer/javascript/LICENSE +21 -0
  198. package/node_modules/@lezer/javascript/README.md +14 -0
  199. package/node_modules/@lezer/javascript/dist/index.cjs +196 -0
  200. package/node_modules/@lezer/javascript/dist/index.d.cts +3 -0
  201. package/node_modules/@lezer/javascript/dist/index.d.ts +3 -0
  202. package/node_modules/@lezer/javascript/dist/index.js +192 -0
  203. package/node_modules/@lezer/javascript/package.json +36 -0
  204. package/node_modules/@lezer/javascript/rollup.config.js +16 -0
  205. package/node_modules/@lezer/javascript/src/highlight.js +62 -0
  206. package/node_modules/@lezer/javascript/src/javascript.grammar +735 -0
  207. package/node_modules/@lezer/javascript/src/parser.js +33 -0
  208. package/node_modules/@lezer/javascript/src/parser.terms.js +177 -0
  209. package/node_modules/@lezer/javascript/src/tokens.js +87 -0
  210. package/node_modules/@lezer/javascript/test/decorator.txt +64 -0
  211. package/node_modules/@lezer/javascript/test/expression.txt +686 -0
  212. package/node_modules/@lezer/javascript/test/jsx.txt +79 -0
  213. package/node_modules/@lezer/javascript/test/semicolon.txt +77 -0
  214. package/node_modules/@lezer/javascript/test/statement.txt +404 -0
  215. package/node_modules/@lezer/javascript/test/test-javascript.js +17 -0
  216. package/node_modules/@lezer/javascript/test/typescript.txt +401 -0
  217. package/node_modules/@lezer/json/CHANGELOG.md +79 -0
  218. package/node_modules/@lezer/json/LICENSE +21 -0
  219. package/node_modules/@lezer/json/README.md +7 -0
  220. package/node_modules/@lezer/json/dist/index.cjs +41 -0
  221. package/node_modules/@lezer/json/dist/index.d.cts +3 -0
  222. package/node_modules/@lezer/json/dist/index.d.ts +3 -0
  223. package/node_modules/@lezer/json/dist/index.js +37 -0
  224. package/node_modules/@lezer/json/package.json +36 -0
  225. package/node_modules/@lezer/json/rollup.config.js +15 -0
  226. package/node_modules/@lezer/json/src/highlight.js +12 -0
  227. package/node_modules/@lezer/json/src/json.grammar +38 -0
  228. package/node_modules/@lezer/json/src/parser.js +23 -0
  229. package/node_modules/@lezer/json/src/parser.terms.js +12 -0
  230. package/node_modules/@lezer/json/test/arrays.txt +34 -0
  231. package/node_modules/@lezer/json/test/literals.txt +23 -0
  232. package/node_modules/@lezer/json/test/numbers.txt +87 -0
  233. package/node_modules/@lezer/json/test/objects.txt +34 -0
  234. package/node_modules/@lezer/json/test/strings.txt +50 -0
  235. package/node_modules/@lezer/json/test/test-json.js +17 -0
  236. package/node_modules/@lezer/lr/LICENSE +21 -0
  237. package/node_modules/@lezer/lr/README.md +25 -0
  238. package/node_modules/@lezer/lr/dist/constants.d.ts +45 -0
  239. package/node_modules/@lezer/lr/dist/constants.js +5 -0
  240. package/node_modules/@lezer/lr/dist/index.cjs +1891 -0
  241. package/node_modules/@lezer/lr/dist/index.d.cts +303 -0
  242. package/node_modules/@lezer/lr/dist/index.d.ts +303 -0
  243. package/node_modules/@lezer/lr/dist/index.js +1884 -0
  244. package/node_modules/@lezer/lr/package.json +32 -0
  245. package/node_modules/@lezer/markdown/CHANGELOG.md +279 -0
  246. package/node_modules/@lezer/markdown/LICENSE +21 -0
  247. package/node_modules/@lezer/markdown/README.md +725 -0
  248. package/node_modules/@lezer/markdown/bin/build-readme.cjs +39 -0
  249. package/node_modules/@lezer/markdown/build.js +16 -0
  250. package/node_modules/@lezer/markdown/dist/index.cjs +2352 -0
  251. package/node_modules/@lezer/markdown/dist/index.d.cts +600 -0
  252. package/node_modules/@lezer/markdown/dist/index.d.ts +600 -0
  253. package/node_modules/@lezer/markdown/dist/index.js +2335 -0
  254. package/node_modules/@lezer/markdown/package.json +37 -0
  255. package/node_modules/@lezer/markdown/src/README.md +83 -0
  256. package/node_modules/@lezer/markdown/src/extension.ts +301 -0
  257. package/node_modules/@lezer/markdown/src/index.ts +5 -0
  258. package/node_modules/@lezer/markdown/src/markdown.ts +1961 -0
  259. package/node_modules/@lezer/markdown/src/nest.ts +46 -0
  260. package/node_modules/@lezer/markdown/test/compare-tree.ts +14 -0
  261. package/node_modules/@lezer/markdown/test/spec.ts +79 -0
  262. package/node_modules/@lezer/markdown/test/test-extension.ts +269 -0
  263. package/node_modules/@lezer/markdown/test/test-incremental.ts +265 -0
  264. package/node_modules/@lezer/markdown/test/test-markdown.ts +3574 -0
  265. package/node_modules/@lezer/markdown/test/test-nesting.ts +86 -0
  266. package/node_modules/@lezer/markdown/test/tsconfig.json +12 -0
  267. package/node_modules/@lezer/markdown/tsconfig.json +14 -0
  268. package/node_modules/@lezer/python/CHANGELOG.md +243 -0
  269. package/node_modules/@lezer/python/LICENSE +21 -0
  270. package/node_modules/@lezer/python/README.md +6 -0
  271. package/node_modules/@lezer/python/dist/index.cjs +330 -0
  272. package/node_modules/@lezer/python/dist/index.d.cts +3 -0
  273. package/node_modules/@lezer/python/dist/index.d.ts +3 -0
  274. package/node_modules/@lezer/python/dist/index.js +326 -0
  275. package/node_modules/@lezer/python/package.json +36 -0
  276. package/node_modules/@lezer/python/rollup.config.js +16 -0
  277. package/node_modules/@lezer/python/src/highlight.js +35 -0
  278. package/node_modules/@lezer/python/src/python.grammar +381 -0
  279. package/node_modules/@lezer/python/src/tokens.js +224 -0
  280. package/node_modules/@lezer/python/test/expression.txt +231 -0
  281. package/node_modules/@lezer/python/test/statement.txt +442 -0
  282. package/node_modules/@lezer/python/test/test-incremental.js +33 -0
  283. package/node_modules/@lezer/python/test/test-python.js +17 -0
  284. package/node_modules/@marijn/find-cluster-break/LICENSE +21 -0
  285. package/node_modules/@marijn/find-cluster-break/README.md +28 -0
  286. package/node_modules/@marijn/find-cluster-break/dist/index.cjs +85 -0
  287. package/node_modules/@marijn/find-cluster-break/dist/index.d.cts +15 -0
  288. package/node_modules/@marijn/find-cluster-break/package.json +35 -0
  289. package/node_modules/@marijn/find-cluster-break/rollup.config.js +7 -0
  290. package/node_modules/@marijn/find-cluster-break/src/index.d.ts +15 -0
  291. package/node_modules/@marijn/find-cluster-break/src/index.js +87 -0
  292. package/node_modules/@marijn/find-cluster-break/test/test-cluster.js +30 -0
  293. package/node_modules/crelt/LICENSE +19 -0
  294. package/node_modules/crelt/README.md +23 -0
  295. package/node_modules/crelt/dist/index.cjs +31 -0
  296. package/node_modules/crelt/dist/index.d.cts +4 -0
  297. package/node_modules/crelt/index.d.ts +4 -0
  298. package/node_modules/crelt/index.js +28 -0
  299. package/node_modules/crelt/package.json +35 -0
  300. package/node_modules/crelt/rollup.config.js +13 -0
  301. package/node_modules/style-mod/LICENSE +19 -0
  302. package/node_modules/style-mod/README.md +98 -0
  303. package/node_modules/style-mod/dist/style-mod.cjs +165 -0
  304. package/node_modules/style-mod/dist/style-mod.d.cts +16 -0
  305. package/node_modules/style-mod/package.json +39 -0
  306. package/node_modules/style-mod/src/README.md +34 -0
  307. package/node_modules/style-mod/src/style-mod.d.ts +16 -0
  308. package/node_modules/style-mod/src/style-mod.js +172 -0
  309. package/node_modules/style-mod/test/test-style-mod.js +104 -0
  310. package/node_modules/w3c-keyname/.tern-port +1 -0
  311. package/node_modules/w3c-keyname/LICENSE +19 -0
  312. package/node_modules/w3c-keyname/README.md +18 -0
  313. package/node_modules/w3c-keyname/index.cjs +127 -0
  314. package/node_modules/w3c-keyname/index.d.cts +5 -0
  315. package/node_modules/w3c-keyname/index.d.ts +5 -0
  316. package/node_modules/w3c-keyname/index.js +119 -0
  317. package/node_modules/w3c-keyname/package.json +37 -0
  318. package/package.json +1 -1
  319. package/packages/daemon/src/api.js +157 -2
  320. package/packages/daemon/src/filewatcher.js +59 -0
  321. package/packages/daemon/src/index.js +28 -1
  322. package/packages/daemon/src/skills.js +20 -0
  323. package/packages/gui/dist/assets/index-Dxg9hdf3.js +103 -0
  324. package/packages/gui/dist/index.html +1 -1
  325. package/packages/gui/package.json +15 -2
  326. package/packages/gui/src/App.jsx +3 -0
  327. package/packages/gui/src/components/CodeEditor.jsx +143 -0
  328. package/packages/gui/src/components/EditorTabs.jsx +83 -0
  329. package/packages/gui/src/components/FileTree.jsx +193 -0
  330. package/packages/gui/src/stores/groove.js +158 -1
  331. package/packages/gui/src/views/FileEditor.jsx +142 -0
  332. package/packages/gui/src/views/SkillsMarketplace.jsx +112 -1
  333. package/node_modules/@groove-dev/gui/dist/assets/index-CNCSwHwH.js +0 -74
  334. package/packages/gui/dist/assets/index-CNCSwHwH.js +0 -74
@@ -0,0 +1,648 @@
1
+ import * as _codemirror_state from '@codemirror/state';
2
+ import { EditorState, ChangeDesc, TransactionSpec, Transaction, StateCommand, Facet, Extension, StateEffect } from '@codemirror/state';
3
+ import { EditorView, Rect, KeyBinding, Command } from '@codemirror/view';
4
+ import * as _lezer_common from '@lezer/common';
5
+
6
+ /**
7
+ Objects type used to represent individual completions.
8
+ */
9
+ interface Completion {
10
+ /**
11
+ The label to show in the completion picker. This is what input
12
+ is matched against to determine whether a completion matches (and
13
+ how well it matches).
14
+ */
15
+ label: string;
16
+ /**
17
+ An optional override for the completion's visible label. When
18
+ using this, matched characters will only be highlighted if you
19
+ provide a [`getMatch`](https://codemirror.net/6/docs/ref/#autocomplete.CompletionResult.getMatch)
20
+ function.
21
+ */
22
+ displayLabel?: string;
23
+ /**
24
+ Overrides the text that is used to sort completions. Will
25
+ default to `label` if not given.
26
+ */
27
+ sortText?: string;
28
+ /**
29
+ An optional short piece of information to show (with a different
30
+ style) after the label.
31
+ */
32
+ detail?: string;
33
+ /**
34
+ Additional info to show when the completion is selected. Can be
35
+ a plain string or a function that'll render the DOM structure to
36
+ show when invoked.
37
+ */
38
+ info?: string | ((completion: Completion) => CompletionInfo | Promise<CompletionInfo>);
39
+ /**
40
+ How to apply the completion. The default is to replace it with
41
+ its [label](https://codemirror.net/6/docs/ref/#autocomplete.Completion.label). When this holds a
42
+ string, the completion range is replaced by that string. When it
43
+ is a function, that function is called to perform the
44
+ completion. If it fires a transaction, it is responsible for
45
+ adding the [`pickedCompletion`](https://codemirror.net/6/docs/ref/#autocomplete.pickedCompletion)
46
+ annotation to it.
47
+ */
48
+ apply?: string | ((view: EditorView, completion: Completion, from: number, to: number) => void);
49
+ /**
50
+ The type of the completion. This is used to pick an icon to show
51
+ for the completion. Icons are styled with a CSS class created by
52
+ appending the type name to `"cm-completionIcon-"`. You can
53
+ define or restyle icons by defining these selectors. The base
54
+ library defines simple icons for `class`, `constant`, `enum`,
55
+ `function`, `interface`, `keyword`, `method`, `namespace`,
56
+ `property`, `text`, `type`, and `variable`.
57
+
58
+ Multiple types can be provided by separating them with spaces.
59
+ */
60
+ type?: string;
61
+ /**
62
+ When this option is selected, and one of these characters is
63
+ typed, insert the completion before typing the character.
64
+ */
65
+ commitCharacters?: readonly string[];
66
+ /**
67
+ When given, should be a number from -99 to 99 that adjusts how
68
+ this completion is ranked compared to other completions that
69
+ match the input as well as this one. A negative number moves it
70
+ down the list, a positive number moves it up.
71
+ */
72
+ boost?: number;
73
+ /**
74
+ Can be used to divide the completion list into sections.
75
+ Completions in a given section (matched by name) will be grouped
76
+ together, with a heading above them. Options without section
77
+ will appear above all sections. A string value is equivalent to
78
+ a `{name}` object.
79
+ */
80
+ section?: string | CompletionSection;
81
+ }
82
+ /**
83
+ The type returned from
84
+ [`Completion.info`](https://codemirror.net/6/docs/ref/#autocomplete.Completion.info). May be a DOM
85
+ node, null to indicate there is no info, or an object with an
86
+ optional `destroy` method that cleans up the node.
87
+ */
88
+ type CompletionInfo = Node | null | {
89
+ dom: Node;
90
+ destroy?(): void;
91
+ };
92
+ /**
93
+ Object used to describe a completion
94
+ [section](https://codemirror.net/6/docs/ref/#autocomplete.Completion.section). It is recommended to
95
+ create a shared object used by all the completions in a given
96
+ section.
97
+ */
98
+ interface CompletionSection {
99
+ /**
100
+ The name of the section. If no `render` method is present, this
101
+ will be displayed above the options.
102
+ */
103
+ name: string;
104
+ /**
105
+ An optional function that renders the section header. Since the
106
+ headers are shown inside a list, you should make sure the
107
+ resulting element has a `display: list-item` style.
108
+ */
109
+ header?: (section: CompletionSection) => HTMLElement;
110
+ /**
111
+ By default, sections are ordered alphabetically by name. To
112
+ specify an explicit order, `rank` can be used. Sections with a
113
+ lower rank will be shown above sections with a higher rank.
114
+
115
+ When set to `"dynamic"`, the section's position compared to
116
+ other dynamic sections depends on the matching score of the
117
+ best-matching option in the sections.
118
+ */
119
+ rank?: number | "dynamic";
120
+ }
121
+ /**
122
+ An instance of this is passed to completion source functions.
123
+ */
124
+ declare class CompletionContext {
125
+ /**
126
+ The editor state that the completion happens in.
127
+ */
128
+ readonly state: EditorState;
129
+ /**
130
+ The position at which the completion is happening.
131
+ */
132
+ readonly pos: number;
133
+ /**
134
+ Indicates whether completion was activated explicitly, or
135
+ implicitly by typing. The usual way to respond to this is to
136
+ only return completions when either there is part of a
137
+ completable entity before the cursor, or `explicit` is true.
138
+ */
139
+ readonly explicit: boolean;
140
+ /**
141
+ The editor view. May be undefined if the context was created
142
+ in a situation where there is no such view available, such as
143
+ in synchronous updates via
144
+ [`CompletionResult.update`](https://codemirror.net/6/docs/ref/#autocomplete.CompletionResult.update)
145
+ or when called by test code.
146
+ */
147
+ readonly view?: EditorView | undefined;
148
+ /**
149
+ Create a new completion context. (Mostly useful for testing
150
+ completion sources—in the editor, the extension will create
151
+ these for you.)
152
+ */
153
+ constructor(
154
+ /**
155
+ The editor state that the completion happens in.
156
+ */
157
+ state: EditorState,
158
+ /**
159
+ The position at which the completion is happening.
160
+ */
161
+ pos: number,
162
+ /**
163
+ Indicates whether completion was activated explicitly, or
164
+ implicitly by typing. The usual way to respond to this is to
165
+ only return completions when either there is part of a
166
+ completable entity before the cursor, or `explicit` is true.
167
+ */
168
+ explicit: boolean,
169
+ /**
170
+ The editor view. May be undefined if the context was created
171
+ in a situation where there is no such view available, such as
172
+ in synchronous updates via
173
+ [`CompletionResult.update`](https://codemirror.net/6/docs/ref/#autocomplete.CompletionResult.update)
174
+ or when called by test code.
175
+ */
176
+ view?: EditorView | undefined);
177
+ /**
178
+ Get the extent, content, and (if there is a token) type of the
179
+ token before `this.pos`.
180
+ */
181
+ tokenBefore(types: readonly string[]): {
182
+ from: number;
183
+ to: number;
184
+ text: string;
185
+ type: _lezer_common.NodeType;
186
+ } | null;
187
+ /**
188
+ Get the match of the given expression directly before the
189
+ cursor.
190
+ */
191
+ matchBefore(expr: RegExp): {
192
+ from: number;
193
+ to: number;
194
+ text: string;
195
+ } | null;
196
+ /**
197
+ Yields true when the query has been aborted. Can be useful in
198
+ asynchronous queries to avoid doing work that will be ignored.
199
+ */
200
+ get aborted(): boolean;
201
+ /**
202
+ Allows you to register abort handlers, which will be called when
203
+ the query is
204
+ [aborted](https://codemirror.net/6/docs/ref/#autocomplete.CompletionContext.aborted).
205
+
206
+ By default, running queries will not be aborted for regular
207
+ typing or backspacing, on the assumption that they are likely to
208
+ return a result with a
209
+ [`validFor`](https://codemirror.net/6/docs/ref/#autocomplete.CompletionResult.validFor) field that
210
+ allows the result to be used after all. Passing `onDocChange:
211
+ true` will cause this query to be aborted for any document
212
+ change.
213
+ */
214
+ addEventListener(type: "abort", listener: () => void, options?: {
215
+ onDocChange: boolean;
216
+ }): void;
217
+ }
218
+ /**
219
+ Given a a fixed array of options, return an autocompleter that
220
+ completes them.
221
+ */
222
+ declare function completeFromList(list: readonly (string | Completion)[]): CompletionSource;
223
+ /**
224
+ Wrap the given completion source so that it will only fire when the
225
+ cursor is in a syntax node with one of the given names.
226
+ */
227
+ declare function ifIn(nodes: readonly string[], source: CompletionSource): CompletionSource;
228
+ /**
229
+ Wrap the given completion source so that it will not fire when the
230
+ cursor is in a syntax node with one of the given names.
231
+ */
232
+ declare function ifNotIn(nodes: readonly string[], source: CompletionSource): CompletionSource;
233
+ /**
234
+ The function signature for a completion source. Such a function
235
+ may return its [result](https://codemirror.net/6/docs/ref/#autocomplete.CompletionResult)
236
+ synchronously or as a promise. Returning null indicates no
237
+ completions are available.
238
+ */
239
+ type CompletionSource = (context: CompletionContext) => CompletionResult | null | Promise<CompletionResult | null>;
240
+ /**
241
+ Interface for objects returned by completion sources.
242
+ */
243
+ interface CompletionResult {
244
+ /**
245
+ The start of the range that is being completed.
246
+ */
247
+ from: number;
248
+ /**
249
+ The end of the range that is being completed. Defaults to the
250
+ main cursor position.
251
+ */
252
+ to?: number;
253
+ /**
254
+ The completions returned. These don't have to be compared with
255
+ the input by the source—the autocompletion system will do its
256
+ own matching (against the text between `from` and `to`) and
257
+ sorting.
258
+ */
259
+ options: readonly Completion[];
260
+ /**
261
+ When given, further typing or deletion that causes the part of
262
+ the document between ([mapped](https://codemirror.net/6/docs/ref/#state.ChangeDesc.mapPos)) `from`
263
+ and `to` to match this regular expression or predicate function
264
+ will not query the completion source again, but continue with
265
+ this list of options. This can help a lot with responsiveness,
266
+ since it allows the completion list to be updated synchronously.
267
+ */
268
+ validFor?: RegExp | ((text: string, from: number, to: number, state: EditorState) => boolean);
269
+ /**
270
+ By default, the library filters and scores completions. Set
271
+ `filter` to `false` to disable this, and cause your completions
272
+ to all be included, in the order they were given. When there are
273
+ other sources, unfiltered completions appear at the top of the
274
+ list of completions. `validFor` must not be given when `filter`
275
+ is `false`, because it only works when filtering.
276
+ */
277
+ filter?: boolean;
278
+ /**
279
+ When [`filter`](https://codemirror.net/6/docs/ref/#autocomplete.CompletionResult.filter) is set to
280
+ `false` or a completion has a
281
+ [`displayLabel`](https://codemirror.net/6/docs/ref/#autocomplete.Completion.displayLabel), this
282
+ may be provided to compute the ranges on the label that match
283
+ the input. Should return an array of numbers where each pair of
284
+ adjacent numbers provide the start and end of a range. The
285
+ second argument, the match found by the library, is only passed
286
+ when `filter` isn't `false`.
287
+ */
288
+ getMatch?: (completion: Completion, matched?: readonly number[]) => readonly number[];
289
+ /**
290
+ Synchronously update the completion result after typing or
291
+ deletion. If given, this should not do any expensive work, since
292
+ it will be called during editor state updates. The function
293
+ should make sure (similar to
294
+ [`validFor`](https://codemirror.net/6/docs/ref/#autocomplete.CompletionResult.validFor)) that the
295
+ completion still applies in the new state.
296
+ */
297
+ update?: (current: CompletionResult, from: number, to: number, context: CompletionContext) => CompletionResult | null;
298
+ /**
299
+ When results contain position-dependent information in, for
300
+ example, `apply` methods, you can provide this method to update
301
+ the result for transactions that happen after the query. It is
302
+ not necessary to update `from` and `to`—those are tracked
303
+ automatically.
304
+ */
305
+ map?: (current: CompletionResult, changes: ChangeDesc) => CompletionResult | null;
306
+ /**
307
+ Set a default set of [commit
308
+ characters](https://codemirror.net/6/docs/ref/#autocomplete.Completion.commitCharacters) for all
309
+ options in this result.
310
+ */
311
+ commitCharacters?: readonly string[];
312
+ }
313
+ /**
314
+ This annotation is added to transactions that are produced by
315
+ picking a completion.
316
+ */
317
+ declare const pickedCompletion: _codemirror_state.AnnotationType<Completion>;
318
+ /**
319
+ Helper function that returns a transaction spec which inserts a
320
+ completion's text in the main selection range, and any other
321
+ selection range that has the same text in front of it.
322
+ */
323
+ declare function insertCompletionText(state: EditorState, text: string, from: number, to: number): TransactionSpec;
324
+
325
+ interface CompletionConfig {
326
+ /**
327
+ When enabled (defaults to true), autocompletion will start
328
+ whenever the user types something that can be completed.
329
+ */
330
+ activateOnTyping?: boolean;
331
+ /**
332
+ When given, if a completion that matches the predicate is
333
+ picked, reactivate completion again as if it was typed normally.
334
+ */
335
+ activateOnCompletion?: (completion: Completion) => boolean;
336
+ /**
337
+ The amount of time to wait for further typing before querying
338
+ completion sources via
339
+ [`activateOnTyping`](https://codemirror.net/6/docs/ref/#autocomplete.autocompletion^config.activateOnTyping).
340
+ Defaults to 100, which should be fine unless your completion
341
+ source is very slow and/or doesn't use `validFor`.
342
+ */
343
+ activateOnTypingDelay?: number;
344
+ /**
345
+ By default, when completion opens, the first option is selected
346
+ and can be confirmed with
347
+ [`acceptCompletion`](https://codemirror.net/6/docs/ref/#autocomplete.acceptCompletion). When this
348
+ is set to false, the completion widget starts with no completion
349
+ selected, and the user has to explicitly move to a completion
350
+ before you can confirm one.
351
+ */
352
+ selectOnOpen?: boolean;
353
+ /**
354
+ Override the completion sources used. By default, they will be
355
+ taken from the `"autocomplete"` [language
356
+ data](https://codemirror.net/6/docs/ref/#state.EditorState.languageDataAt) (which should hold
357
+ [completion sources](https://codemirror.net/6/docs/ref/#autocomplete.CompletionSource) or arrays
358
+ of [completions](https://codemirror.net/6/docs/ref/#autocomplete.Completion)).
359
+ */
360
+ override?: readonly CompletionSource[] | null;
361
+ /**
362
+ Determines whether the completion tooltip is closed when the
363
+ editor loses focus. Defaults to true.
364
+ */
365
+ closeOnBlur?: boolean;
366
+ /**
367
+ The maximum number of options to render to the DOM.
368
+ */
369
+ maxRenderedOptions?: number;
370
+ /**
371
+ Set this to false to disable the [default completion
372
+ keymap](https://codemirror.net/6/docs/ref/#autocomplete.completionKeymap). (This requires you to
373
+ add bindings to control completion yourself. The bindings should
374
+ probably have a higher precedence than other bindings for the
375
+ same keys.)
376
+ */
377
+ defaultKeymap?: boolean;
378
+ /**
379
+ By default, completions are shown below the cursor when there is
380
+ space. Setting this to true will make the extension put the
381
+ completions above the cursor when possible.
382
+ */
383
+ aboveCursor?: boolean;
384
+ /**
385
+ When given, this may return an additional CSS class to add to
386
+ the completion dialog element.
387
+ */
388
+ tooltipClass?: (state: EditorState) => string;
389
+ /**
390
+ This can be used to add additional CSS classes to completion
391
+ options.
392
+ */
393
+ optionClass?: (completion: Completion) => string;
394
+ /**
395
+ By default, the library will render icons based on the
396
+ completion's [type](https://codemirror.net/6/docs/ref/#autocomplete.Completion.type) in front of
397
+ each option. Set this to false to turn that off.
398
+ */
399
+ icons?: boolean;
400
+ /**
401
+ This option can be used to inject additional content into
402
+ options. The `render` function will be called for each visible
403
+ completion, and should produce a DOM node to show. `position`
404
+ determines where in the DOM the result appears, relative to
405
+ other added widgets and the standard content. The default icons
406
+ have position 20, the label position 50, and the detail position
407
+ 80.
408
+ */
409
+ addToOptions?: {
410
+ render: (completion: Completion, state: EditorState, view: EditorView) => Node | null;
411
+ position: number;
412
+ }[];
413
+ /**
414
+ By default, [info](https://codemirror.net/6/docs/ref/#autocomplete.Completion.info) tooltips are
415
+ placed to the side of the selected completion. This option can
416
+ be used to override that. It will be given rectangles for the
417
+ list of completions, the selected option, the info element, and
418
+ the availble [tooltip
419
+ space](https://codemirror.net/6/docs/ref/#view.tooltips^config.tooltipSpace), and should return
420
+ style and/or class strings for the info element.
421
+ */
422
+ positionInfo?: (view: EditorView, list: Rect, option: Rect, info: Rect, space: Rect) => {
423
+ style?: string;
424
+ class?: string;
425
+ };
426
+ /**
427
+ The comparison function to use when sorting completions with the same
428
+ match score. Defaults to using
429
+ [`localeCompare`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/localeCompare).
430
+ */
431
+ compareCompletions?: (a: Completion, b: Completion) => number;
432
+ /**
433
+ When set to true (the default is false), turn off fuzzy matching
434
+ of completions and only show those that start with the text the
435
+ user typed. Only takes effect for results where
436
+ [`filter`](https://codemirror.net/6/docs/ref/#autocomplete.CompletionResult.filter) isn't false.
437
+ */
438
+ filterStrict?: boolean;
439
+ /**
440
+ By default, commands relating to an open completion only take
441
+ effect 75 milliseconds after the completion opened, so that key
442
+ presses made before the user is aware of the tooltip don't go to
443
+ the tooltip. This option can be used to configure that delay.
444
+ */
445
+ interactionDelay?: number;
446
+ /**
447
+ When there are multiple asynchronous completion sources, this
448
+ controls how long the extension waits for a slow source before
449
+ displaying results from faster sources. Defaults to 100
450
+ milliseconds.
451
+ */
452
+ updateSyncTime?: number;
453
+ }
454
+
455
+ /**
456
+ Convert a snippet template to a function that can
457
+ [apply](https://codemirror.net/6/docs/ref/#autocomplete.Completion.apply) it. Snippets are written
458
+ using syntax like this:
459
+
460
+ "for (let ${index} = 0; ${index} < ${end}; ${index}++) {\n\t${}\n}"
461
+
462
+ Each `${}` placeholder (you may also use `#{}`) indicates a field
463
+ that the user can fill in. Its name, if any, will be the default
464
+ content for the field.
465
+
466
+ When the snippet is activated by calling the returned function,
467
+ the code is inserted at the given position. Newlines in the
468
+ template are indented by the indentation of the start line, plus
469
+ one [indent unit](https://codemirror.net/6/docs/ref/#language.indentUnit) per tab character after
470
+ the newline.
471
+
472
+ On activation, (all instances of) the first field are selected.
473
+ The user can move between fields with Tab and Shift-Tab as long as
474
+ the fields are active. Moving to the last field or moving the
475
+ cursor out of the current field deactivates the fields.
476
+
477
+ The order of fields defaults to textual order, but you can add
478
+ numbers to placeholders (`${1}` or `${1:defaultText}`) to provide
479
+ a custom order.
480
+
481
+ To include a literal `{` or `}` in your template, put a backslash
482
+ in front of it. This will be removed and the brace will not be
483
+ interpreted as indicating a placeholder.
484
+ */
485
+ declare function snippet(template: string): (editor: {
486
+ state: EditorState;
487
+ dispatch: (tr: Transaction) => void;
488
+ }, completion: Completion | null, from: number, to: number) => void;
489
+ /**
490
+ A command that clears the active snippet, if any.
491
+ */
492
+ declare const clearSnippet: StateCommand;
493
+ /**
494
+ Move to the next snippet field, if available.
495
+ */
496
+ declare const nextSnippetField: StateCommand;
497
+ /**
498
+ Move to the previous snippet field, if available.
499
+ */
500
+ declare const prevSnippetField: StateCommand;
501
+ /**
502
+ Check if there is an active snippet with a next field for
503
+ `nextSnippetField` to move to.
504
+ */
505
+ declare function hasNextSnippetField(state: EditorState): boolean;
506
+ /**
507
+ Returns true if there is an active snippet and a previous field
508
+ for `prevSnippetField` to move to.
509
+ */
510
+ declare function hasPrevSnippetField(state: EditorState): boolean;
511
+ /**
512
+ A facet that can be used to configure the key bindings used by
513
+ snippets. The default binds Tab to
514
+ [`nextSnippetField`](https://codemirror.net/6/docs/ref/#autocomplete.nextSnippetField), Shift-Tab to
515
+ [`prevSnippetField`](https://codemirror.net/6/docs/ref/#autocomplete.prevSnippetField), and Escape
516
+ to [`clearSnippet`](https://codemirror.net/6/docs/ref/#autocomplete.clearSnippet).
517
+ */
518
+ declare const snippetKeymap: Facet<readonly KeyBinding[], readonly KeyBinding[]>;
519
+ /**
520
+ Create a completion from a snippet. Returns an object with the
521
+ properties from `completion`, plus an `apply` function that
522
+ applies the snippet.
523
+ */
524
+ declare function snippetCompletion(template: string, completion: Completion): Completion;
525
+
526
+ /**
527
+ Returns a command that moves the completion selection forward or
528
+ backward by the given amount.
529
+ */
530
+ declare function moveCompletionSelection(forward: boolean, by?: "option" | "page"): Command;
531
+ /**
532
+ Accept the current completion.
533
+ */
534
+ declare const acceptCompletion: Command;
535
+ /**
536
+ Explicitly start autocompletion.
537
+ */
538
+ declare const startCompletion: Command;
539
+ /**
540
+ Close the currently active completion.
541
+ */
542
+ declare const closeCompletion: Command;
543
+
544
+ /**
545
+ A completion source that will scan the document for words (using a
546
+ [character categorizer](https://codemirror.net/6/docs/ref/#state.EditorState.charCategorizer)), and
547
+ return those as completions.
548
+ */
549
+ declare const completeAnyWord: CompletionSource;
550
+
551
+ /**
552
+ Configures bracket closing behavior for a syntax (via
553
+ [language data](https://codemirror.net/6/docs/ref/#state.EditorState.languageDataAt)) using the `"closeBrackets"`
554
+ identifier.
555
+ */
556
+ interface CloseBracketConfig {
557
+ /**
558
+ The opening brackets to close. Defaults to `["(", "[", "{", "'",
559
+ '"']`. Brackets may be single characters or a triple of quotes
560
+ (as in `"'''"`).
561
+ */
562
+ brackets?: string[];
563
+ /**
564
+ Characters in front of which newly opened brackets are
565
+ automatically closed. Closing always happens in front of
566
+ whitespace. Defaults to `")]}:;>"`.
567
+ */
568
+ before?: string;
569
+ /**
570
+ When determining whether a given node may be a string, recognize
571
+ these prefixes before the opening quote.
572
+ */
573
+ stringPrefixes?: string[];
574
+ }
575
+ /**
576
+ Extension to enable bracket-closing behavior. When a closeable
577
+ bracket is typed, its closing bracket is immediately inserted
578
+ after the cursor. When closing a bracket directly in front of a
579
+ closing bracket inserted by the extension, the cursor moves over
580
+ that bracket.
581
+ */
582
+ declare function closeBrackets(): Extension;
583
+ /**
584
+ Command that implements deleting a pair of matching brackets when
585
+ the cursor is between them.
586
+ */
587
+ declare const deleteBracketPair: StateCommand;
588
+ /**
589
+ Close-brackets related key bindings. Binds Backspace to
590
+ [`deleteBracketPair`](https://codemirror.net/6/docs/ref/#autocomplete.deleteBracketPair).
591
+ */
592
+ declare const closeBracketsKeymap: readonly KeyBinding[];
593
+ /**
594
+ Implements the extension's behavior on text insertion. If the
595
+ given string counts as a bracket in the language around the
596
+ selection, and replacing the selection with it requires custom
597
+ behavior (inserting a closing version or skipping past a
598
+ previously-closed bracket), this function returns a transaction
599
+ representing that custom behavior. (You only need this if you want
600
+ to programmatically insert brackets—the
601
+ [`closeBrackets`](https://codemirror.net/6/docs/ref/#autocomplete.closeBrackets) extension will
602
+ take care of running this for user input.)
603
+ */
604
+ declare function insertBracket(state: EditorState, bracket: string): Transaction | null;
605
+
606
+ /**
607
+ Returns an extension that enables autocompletion.
608
+ */
609
+ declare function autocompletion(config?: CompletionConfig): Extension;
610
+ /**
611
+ Basic keybindings for autocompletion.
612
+
613
+ - Ctrl-Space (and Alt-\` or Alt-i on macOS): [`startCompletion`](https://codemirror.net/6/docs/ref/#autocomplete.startCompletion)
614
+ - Escape: [`closeCompletion`](https://codemirror.net/6/docs/ref/#autocomplete.closeCompletion)
615
+ - ArrowDown: [`moveCompletionSelection`](https://codemirror.net/6/docs/ref/#autocomplete.moveCompletionSelection)`(true)`
616
+ - ArrowUp: [`moveCompletionSelection`](https://codemirror.net/6/docs/ref/#autocomplete.moveCompletionSelection)`(false)`
617
+ - PageDown: [`moveCompletionSelection`](https://codemirror.net/6/docs/ref/#autocomplete.moveCompletionSelection)`(true, "page")`
618
+ - PageUp: [`moveCompletionSelection`](https://codemirror.net/6/docs/ref/#autocomplete.moveCompletionSelection)`(false, "page")`
619
+ - Enter: [`acceptCompletion`](https://codemirror.net/6/docs/ref/#autocomplete.acceptCompletion)
620
+ */
621
+ declare const completionKeymap: readonly KeyBinding[];
622
+ /**
623
+ Get the current completion status. When completions are available,
624
+ this will return `"active"`. When completions are pending (in the
625
+ process of being queried), this returns `"pending"`. Otherwise, it
626
+ returns `null`.
627
+ */
628
+ declare function completionStatus(state: EditorState): null | "active" | "pending";
629
+ /**
630
+ Returns the available completions as an array.
631
+ */
632
+ declare function currentCompletions(state: EditorState): readonly Completion[];
633
+ /**
634
+ Return the currently selected completion, if any.
635
+ */
636
+ declare function selectedCompletion(state: EditorState): Completion | null;
637
+ /**
638
+ Returns the currently selected position in the active completion
639
+ list, or null if no completions are active.
640
+ */
641
+ declare function selectedCompletionIndex(state: EditorState): number | null;
642
+ /**
643
+ Create an effect that can be attached to a transaction to change
644
+ the currently selected completion.
645
+ */
646
+ declare function setSelectedCompletion(index: number): StateEffect<unknown>;
647
+
648
+ export { type CloseBracketConfig, type Completion, CompletionContext, type CompletionInfo, type CompletionResult, type CompletionSection, type CompletionSource, acceptCompletion, autocompletion, clearSnippet, closeBrackets, closeBracketsKeymap, closeCompletion, completeAnyWord, completeFromList, completionKeymap, completionStatus, currentCompletions, deleteBracketPair, hasNextSnippetField, hasPrevSnippetField, ifIn, ifNotIn, insertBracket, insertCompletionText, moveCompletionSelection, nextSnippetField, pickedCompletion, prevSnippetField, selectedCompletion, selectedCompletionIndex, setSelectedCompletion, snippet, snippetCompletion, snippetKeymap, startCompletion };