groove-dev 0.15.1 → 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 (330) 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 +147 -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/gui/dist/assets/index-Dxg9hdf3.js +103 -0
  132. package/node_modules/@groove-dev/gui/dist/index.html +1 -1
  133. package/node_modules/@groove-dev/gui/package.json +15 -2
  134. package/node_modules/@groove-dev/gui/src/App.jsx +3 -0
  135. package/node_modules/@groove-dev/gui/src/components/CodeEditor.jsx +143 -0
  136. package/node_modules/@groove-dev/gui/src/components/EditorTabs.jsx +83 -0
  137. package/node_modules/@groove-dev/gui/src/components/FileTree.jsx +193 -0
  138. package/node_modules/@groove-dev/gui/src/stores/groove.js +158 -1
  139. package/node_modules/@groove-dev/gui/src/views/FileEditor.jsx +142 -0
  140. package/node_modules/@lezer/common/LICENSE +21 -0
  141. package/node_modules/@lezer/common/README.md +14 -0
  142. package/node_modules/@lezer/common/dist/index.cjs +2209 -0
  143. package/node_modules/@lezer/common/dist/index.d.cts +1174 -0
  144. package/node_modules/@lezer/common/dist/index.d.ts +1174 -0
  145. package/node_modules/@lezer/common/dist/index.js +2196 -0
  146. package/node_modules/@lezer/common/package.json +32 -0
  147. package/node_modules/@lezer/css/CHANGELOG.md +307 -0
  148. package/node_modules/@lezer/css/LICENSE +21 -0
  149. package/node_modules/@lezer/css/README.md +6 -0
  150. package/node_modules/@lezer/css/dist/index.cjs +151 -0
  151. package/node_modules/@lezer/css/dist/index.d.cts +3 -0
  152. package/node_modules/@lezer/css/dist/index.d.ts +3 -0
  153. package/node_modules/@lezer/css/dist/index.js +147 -0
  154. package/node_modules/@lezer/css/package.json +36 -0
  155. package/node_modules/@lezer/css/rollup.config.js +16 -0
  156. package/node_modules/@lezer/css/src/css.grammar +290 -0
  157. package/node_modules/@lezer/css/src/highlight.js +36 -0
  158. package/node_modules/@lezer/css/src/parser.js +31 -0
  159. package/node_modules/@lezer/css/src/parser.terms.js +63 -0
  160. package/node_modules/@lezer/css/src/tokens.js +75 -0
  161. package/node_modules/@lezer/css/test/declarations.txt +241 -0
  162. package/node_modules/@lezer/css/test/selector.txt +178 -0
  163. package/node_modules/@lezer/css/test/statements.txt +227 -0
  164. package/node_modules/@lezer/css/test/test-css.js +16 -0
  165. package/node_modules/@lezer/highlight/LICENSE +21 -0
  166. package/node_modules/@lezer/highlight/README.md +14 -0
  167. package/node_modules/@lezer/highlight/dist/index.cjs +936 -0
  168. package/node_modules/@lezer/highlight/dist/index.d.cts +623 -0
  169. package/node_modules/@lezer/highlight/dist/index.d.ts +623 -0
  170. package/node_modules/@lezer/highlight/dist/index.js +927 -0
  171. package/node_modules/@lezer/highlight/package.json +31 -0
  172. package/node_modules/@lezer/html/CHANGELOG.md +303 -0
  173. package/node_modules/@lezer/html/LICENSE +21 -0
  174. package/node_modules/@lezer/html/README.md +37 -0
  175. package/node_modules/@lezer/html/dist/index.cjs +354 -0
  176. package/node_modules/@lezer/html/dist/index.d.cts +14 -0
  177. package/node_modules/@lezer/html/dist/index.d.ts +14 -0
  178. package/node_modules/@lezer/html/dist/index.js +349 -0
  179. package/node_modules/@lezer/html/package.json +37 -0
  180. package/node_modules/@lezer/html/rollup.config.js +16 -0
  181. package/node_modules/@lezer/html/src/.tern-port +1 -0
  182. package/node_modules/@lezer/html/src/content.js +87 -0
  183. package/node_modules/@lezer/html/src/highlight.js +15 -0
  184. package/node_modules/@lezer/html/src/html.grammar +181 -0
  185. package/node_modules/@lezer/html/src/index.js +2 -0
  186. package/node_modules/@lezer/html/src/parser.js +27 -0
  187. package/node_modules/@lezer/html/src/parser.terms.js +53 -0
  188. package/node_modules/@lezer/html/src/tokens.js +199 -0
  189. package/node_modules/@lezer/html/test/mixed.txt +69 -0
  190. package/node_modules/@lezer/html/test/tags.txt +370 -0
  191. package/node_modules/@lezer/html/test/test-html.js +29 -0
  192. package/node_modules/@lezer/html/test/test-incremental.js +97 -0
  193. package/node_modules/@lezer/html/test/vue.txt +56 -0
  194. package/node_modules/@lezer/javascript/CHANGELOG.md +485 -0
  195. package/node_modules/@lezer/javascript/LICENSE +21 -0
  196. package/node_modules/@lezer/javascript/README.md +14 -0
  197. package/node_modules/@lezer/javascript/dist/index.cjs +196 -0
  198. package/node_modules/@lezer/javascript/dist/index.d.cts +3 -0
  199. package/node_modules/@lezer/javascript/dist/index.d.ts +3 -0
  200. package/node_modules/@lezer/javascript/dist/index.js +192 -0
  201. package/node_modules/@lezer/javascript/package.json +36 -0
  202. package/node_modules/@lezer/javascript/rollup.config.js +16 -0
  203. package/node_modules/@lezer/javascript/src/highlight.js +62 -0
  204. package/node_modules/@lezer/javascript/src/javascript.grammar +735 -0
  205. package/node_modules/@lezer/javascript/src/parser.js +33 -0
  206. package/node_modules/@lezer/javascript/src/parser.terms.js +177 -0
  207. package/node_modules/@lezer/javascript/src/tokens.js +87 -0
  208. package/node_modules/@lezer/javascript/test/decorator.txt +64 -0
  209. package/node_modules/@lezer/javascript/test/expression.txt +686 -0
  210. package/node_modules/@lezer/javascript/test/jsx.txt +79 -0
  211. package/node_modules/@lezer/javascript/test/semicolon.txt +77 -0
  212. package/node_modules/@lezer/javascript/test/statement.txt +404 -0
  213. package/node_modules/@lezer/javascript/test/test-javascript.js +17 -0
  214. package/node_modules/@lezer/javascript/test/typescript.txt +401 -0
  215. package/node_modules/@lezer/json/CHANGELOG.md +79 -0
  216. package/node_modules/@lezer/json/LICENSE +21 -0
  217. package/node_modules/@lezer/json/README.md +7 -0
  218. package/node_modules/@lezer/json/dist/index.cjs +41 -0
  219. package/node_modules/@lezer/json/dist/index.d.cts +3 -0
  220. package/node_modules/@lezer/json/dist/index.d.ts +3 -0
  221. package/node_modules/@lezer/json/dist/index.js +37 -0
  222. package/node_modules/@lezer/json/package.json +36 -0
  223. package/node_modules/@lezer/json/rollup.config.js +15 -0
  224. package/node_modules/@lezer/json/src/highlight.js +12 -0
  225. package/node_modules/@lezer/json/src/json.grammar +38 -0
  226. package/node_modules/@lezer/json/src/parser.js +23 -0
  227. package/node_modules/@lezer/json/src/parser.terms.js +12 -0
  228. package/node_modules/@lezer/json/test/arrays.txt +34 -0
  229. package/node_modules/@lezer/json/test/literals.txt +23 -0
  230. package/node_modules/@lezer/json/test/numbers.txt +87 -0
  231. package/node_modules/@lezer/json/test/objects.txt +34 -0
  232. package/node_modules/@lezer/json/test/strings.txt +50 -0
  233. package/node_modules/@lezer/json/test/test-json.js +17 -0
  234. package/node_modules/@lezer/lr/LICENSE +21 -0
  235. package/node_modules/@lezer/lr/README.md +25 -0
  236. package/node_modules/@lezer/lr/dist/constants.d.ts +45 -0
  237. package/node_modules/@lezer/lr/dist/constants.js +5 -0
  238. package/node_modules/@lezer/lr/dist/index.cjs +1891 -0
  239. package/node_modules/@lezer/lr/dist/index.d.cts +303 -0
  240. package/node_modules/@lezer/lr/dist/index.d.ts +303 -0
  241. package/node_modules/@lezer/lr/dist/index.js +1884 -0
  242. package/node_modules/@lezer/lr/package.json +32 -0
  243. package/node_modules/@lezer/markdown/CHANGELOG.md +279 -0
  244. package/node_modules/@lezer/markdown/LICENSE +21 -0
  245. package/node_modules/@lezer/markdown/README.md +725 -0
  246. package/node_modules/@lezer/markdown/bin/build-readme.cjs +39 -0
  247. package/node_modules/@lezer/markdown/build.js +16 -0
  248. package/node_modules/@lezer/markdown/dist/index.cjs +2352 -0
  249. package/node_modules/@lezer/markdown/dist/index.d.cts +600 -0
  250. package/node_modules/@lezer/markdown/dist/index.d.ts +600 -0
  251. package/node_modules/@lezer/markdown/dist/index.js +2335 -0
  252. package/node_modules/@lezer/markdown/package.json +37 -0
  253. package/node_modules/@lezer/markdown/src/README.md +83 -0
  254. package/node_modules/@lezer/markdown/src/extension.ts +301 -0
  255. package/node_modules/@lezer/markdown/src/index.ts +5 -0
  256. package/node_modules/@lezer/markdown/src/markdown.ts +1961 -0
  257. package/node_modules/@lezer/markdown/src/nest.ts +46 -0
  258. package/node_modules/@lezer/markdown/test/compare-tree.ts +14 -0
  259. package/node_modules/@lezer/markdown/test/spec.ts +79 -0
  260. package/node_modules/@lezer/markdown/test/test-extension.ts +269 -0
  261. package/node_modules/@lezer/markdown/test/test-incremental.ts +265 -0
  262. package/node_modules/@lezer/markdown/test/test-markdown.ts +3574 -0
  263. package/node_modules/@lezer/markdown/test/test-nesting.ts +86 -0
  264. package/node_modules/@lezer/markdown/test/tsconfig.json +12 -0
  265. package/node_modules/@lezer/markdown/tsconfig.json +14 -0
  266. package/node_modules/@lezer/python/CHANGELOG.md +243 -0
  267. package/node_modules/@lezer/python/LICENSE +21 -0
  268. package/node_modules/@lezer/python/README.md +6 -0
  269. package/node_modules/@lezer/python/dist/index.cjs +330 -0
  270. package/node_modules/@lezer/python/dist/index.d.cts +3 -0
  271. package/node_modules/@lezer/python/dist/index.d.ts +3 -0
  272. package/node_modules/@lezer/python/dist/index.js +326 -0
  273. package/node_modules/@lezer/python/package.json +36 -0
  274. package/node_modules/@lezer/python/rollup.config.js +16 -0
  275. package/node_modules/@lezer/python/src/highlight.js +35 -0
  276. package/node_modules/@lezer/python/src/python.grammar +381 -0
  277. package/node_modules/@lezer/python/src/tokens.js +224 -0
  278. package/node_modules/@lezer/python/test/expression.txt +231 -0
  279. package/node_modules/@lezer/python/test/statement.txt +442 -0
  280. package/node_modules/@lezer/python/test/test-incremental.js +33 -0
  281. package/node_modules/@lezer/python/test/test-python.js +17 -0
  282. package/node_modules/@marijn/find-cluster-break/LICENSE +21 -0
  283. package/node_modules/@marijn/find-cluster-break/README.md +28 -0
  284. package/node_modules/@marijn/find-cluster-break/dist/index.cjs +85 -0
  285. package/node_modules/@marijn/find-cluster-break/dist/index.d.cts +15 -0
  286. package/node_modules/@marijn/find-cluster-break/package.json +35 -0
  287. package/node_modules/@marijn/find-cluster-break/rollup.config.js +7 -0
  288. package/node_modules/@marijn/find-cluster-break/src/index.d.ts +15 -0
  289. package/node_modules/@marijn/find-cluster-break/src/index.js +87 -0
  290. package/node_modules/@marijn/find-cluster-break/test/test-cluster.js +30 -0
  291. package/node_modules/crelt/LICENSE +19 -0
  292. package/node_modules/crelt/README.md +23 -0
  293. package/node_modules/crelt/dist/index.cjs +31 -0
  294. package/node_modules/crelt/dist/index.d.cts +4 -0
  295. package/node_modules/crelt/index.d.ts +4 -0
  296. package/node_modules/crelt/index.js +28 -0
  297. package/node_modules/crelt/package.json +35 -0
  298. package/node_modules/crelt/rollup.config.js +13 -0
  299. package/node_modules/style-mod/LICENSE +19 -0
  300. package/node_modules/style-mod/README.md +98 -0
  301. package/node_modules/style-mod/dist/style-mod.cjs +165 -0
  302. package/node_modules/style-mod/dist/style-mod.d.cts +16 -0
  303. package/node_modules/style-mod/package.json +39 -0
  304. package/node_modules/style-mod/src/README.md +34 -0
  305. package/node_modules/style-mod/src/style-mod.d.ts +16 -0
  306. package/node_modules/style-mod/src/style-mod.js +172 -0
  307. package/node_modules/style-mod/test/test-style-mod.js +104 -0
  308. package/node_modules/w3c-keyname/.tern-port +1 -0
  309. package/node_modules/w3c-keyname/LICENSE +19 -0
  310. package/node_modules/w3c-keyname/README.md +18 -0
  311. package/node_modules/w3c-keyname/index.cjs +127 -0
  312. package/node_modules/w3c-keyname/index.d.cts +5 -0
  313. package/node_modules/w3c-keyname/index.d.ts +5 -0
  314. package/node_modules/w3c-keyname/index.js +119 -0
  315. package/node_modules/w3c-keyname/package.json +37 -0
  316. package/package.json +1 -1
  317. package/packages/daemon/src/api.js +147 -2
  318. package/packages/daemon/src/filewatcher.js +59 -0
  319. package/packages/daemon/src/index.js +28 -1
  320. package/packages/gui/dist/assets/index-Dxg9hdf3.js +103 -0
  321. package/packages/gui/dist/index.html +1 -1
  322. package/packages/gui/package.json +15 -2
  323. package/packages/gui/src/App.jsx +3 -0
  324. package/packages/gui/src/components/CodeEditor.jsx +143 -0
  325. package/packages/gui/src/components/EditorTabs.jsx +83 -0
  326. package/packages/gui/src/components/FileTree.jsx +193 -0
  327. package/packages/gui/src/stores/groove.js +158 -1
  328. package/packages/gui/src/views/FileEditor.jsx +142 -0
  329. package/node_modules/@groove-dev/gui/dist/assets/index-8Kqi_LVo.js +0 -74
  330. package/packages/gui/dist/assets/index-8Kqi_LVo.js +0 -74
@@ -0,0 +1,79 @@
1
+ # Self-closing element {"dialect": "jsx"}
2
+
3
+ <img/>
4
+
5
+ ==>
6
+
7
+ Script(ExpressionStatement(JSXElement(JSXSelfClosingTag(JSXStartTag,JSXBuiltin(JSXIdentifier),JSXSelfCloseEndTag))))
8
+
9
+ # Regular element {"dialect": "jsx"}
10
+
11
+ <Foo>bar</Foo>
12
+
13
+ ==>
14
+
15
+ Script(ExpressionStatement(JSXElement(
16
+ JSXOpenTag(JSXStartTag, JSXIdentifier, JSXEndTag),
17
+ JSXText,
18
+ JSXCloseTag(JSXStartCloseTag, JSXIdentifier, JSXEndTag))))
19
+
20
+ # Fragment {"dialect": "jsx"}
21
+
22
+ <>bar</>
23
+
24
+ ==>
25
+
26
+ Script(ExpressionStatement(JSXElement(
27
+ JSXFragmentTag(JSXStartTag, JSXEndTag),
28
+ JSXText,
29
+ JSXCloseTag(JSXStartCloseTag, JSXEndTag))))
30
+
31
+ # Namespaced name {"dialect": "jsx"}
32
+
33
+ <blah-namespace:img/>
34
+
35
+ ==>
36
+
37
+ Script(ExpressionStatement(JSXElement(
38
+ JSXSelfClosingTag(JSXStartTag,JSXNamespacedName(JSXIdentifier, JSXIdentifier),JSXSelfCloseEndTag))))
39
+
40
+ # Member name {"dialect": "jsx"}
41
+
42
+ <pkg.Component/>
43
+
44
+ ==>
45
+
46
+ Script(ExpressionStatement(JSXElement(
47
+ JSXSelfClosingTag(JSXStartTag,JSXMemberExpression(JSXIdentifier, JSXIdentifier),JSXSelfCloseEndTag))))
48
+
49
+ # Nested tags {"dialect": "jsx"}
50
+
51
+ <a><b.C>text</b.C>{x} {...y}</a>
52
+
53
+ ==>
54
+
55
+ Script(ExpressionStatement(JSXElement(
56
+ JSXOpenTag(JSXStartTag, JSXBuiltin(JSXIdentifier), JSXEndTag),
57
+ JSXElement(
58
+ JSXOpenTag(JSXStartTag, JSXMemberExpression(JSXIdentifier, JSXIdentifier), JSXEndTag),
59
+ JSXText,
60
+ JSXCloseTag(JSXStartCloseTag, JSXMemberExpression(JSXIdentifier, JSXIdentifier), JSXEndTag)),
61
+ JSXEscape(VariableName),
62
+ JSXText,
63
+ JSXEscape(Spread, VariableName),
64
+ JSXCloseTag(JSXStartCloseTag, JSXBuiltin(JSXIdentifier), JSXEndTag))))
65
+
66
+ # Attributes {"dialect": "jsx"}
67
+
68
+ <Foo a="1" b {...attrs} c={c}></Foo>
69
+
70
+ ==>
71
+
72
+ Script(ExpressionStatement(JSXElement(
73
+ JSXOpenTag(JSXStartTag, JSXIdentifier,
74
+ JSXAttribute(JSXIdentifier, Equals, JSXAttributeValue),
75
+ JSXAttribute(JSXIdentifier),
76
+ JSXSpreadAttribute(Spread, VariableName),
77
+ JSXAttribute(JSXIdentifier, Equals, JSXEscape(VariableName)),
78
+ JSXEndTag),
79
+ JSXCloseTag(JSXStartCloseTag, JSXIdentifier, JSXEndTag))))
@@ -0,0 +1,77 @@
1
+ # No semicolons
2
+
3
+ x
4
+ if (a) {
5
+ var b = c
6
+ d
7
+ } else
8
+ e
9
+
10
+ ==>
11
+
12
+ Script(
13
+ ExpressionStatement(VariableName),
14
+ IfStatement(if,ParenthesizedExpression(VariableName),Block(
15
+ VariableDeclaration(var,VariableDefinition,Equals,VariableName),
16
+ ExpressionStatement(VariableName)),
17
+ else,ExpressionStatement(VariableName)))
18
+
19
+ # Continued expressions on new line
20
+
21
+ x
22
+ + 2
23
+ foo
24
+ (bar)
25
+
26
+ ==>
27
+
28
+ Script(
29
+ ExpressionStatement(BinaryExpression(VariableName,ArithOp,Number)),
30
+ ExpressionStatement(CallExpression(VariableName,ArgList(VariableName))))
31
+
32
+ # Doesn't parse postfix ops on a new line
33
+
34
+ x
35
+ ++y
36
+
37
+ ==>
38
+
39
+ Script(
40
+ ExpressionStatement(VariableName),
41
+ ExpressionStatement(UnaryExpression(ArithOp,VariableName)))
42
+
43
+ # Eagerly cut return/break/continue
44
+
45
+ return 2
46
+ return
47
+ 2
48
+ continue foo
49
+ continue
50
+ foo
51
+ break bar
52
+ break
53
+ bar
54
+
55
+ ==>
56
+
57
+ Script(
58
+ ReturnStatement(return,Number),
59
+ ReturnStatement(return),
60
+ ExpressionStatement(Number),
61
+ ContinueStatement(continue,Label),
62
+ ContinueStatement(continue),
63
+ ExpressionStatement(VariableName),
64
+ BreakStatement(break,Label),
65
+ BreakStatement(break),
66
+ ExpressionStatement(VariableName))
67
+
68
+ # Cut return regardless of whitespace
69
+
70
+ { return }
71
+
72
+ return // foo
73
+ ;
74
+
75
+ ==>
76
+
77
+ Script(Block(ReturnStatement(return)),ReturnStatement(return,LineComment))
@@ -0,0 +1,404 @@
1
+ # Variable declaration
2
+
3
+ var a = b
4
+ , c = d;
5
+ const [x] = y = 3;
6
+
7
+ ==>
8
+
9
+ Script(
10
+ VariableDeclaration(var,VariableDefinition,Equals,VariableName,VariableDefinition,Equals,VariableName),
11
+ VariableDeclaration(const,ArrayPattern(VariableDefinition),Equals,AssignmentExpression(VariableName,Equals,Number)))
12
+
13
+ # Function declaration
14
+
15
+ function a(a, b) { return 3; }
16
+ function b({b}, c = d, e = f) {}
17
+
18
+ ==>
19
+
20
+ Script(
21
+ FunctionDeclaration(function,VariableDefinition,ParamList(VariableDefinition,VariableDefinition),Block(ReturnStatement(return,Number))),
22
+ FunctionDeclaration(function,VariableDefinition,ParamList(
23
+ ObjectPattern(PatternProperty(PropertyName)),VariableDefinition,Equals,VariableName,VariableDefinition,Equals,VariableName),Block))
24
+
25
+ # Async functions
26
+
27
+ async function foo() {}
28
+
29
+ class Foo { async bar() {} }
30
+
31
+ async (a) => { return foo; };
32
+
33
+ ==>
34
+
35
+ Script(
36
+ FunctionDeclaration(async,function,VariableDefinition,ParamList,Block),
37
+ ClassDeclaration(class,VariableDefinition,ClassBody(MethodDeclaration(async,PropertyDefinition,ParamList,Block))),
38
+ ExpressionStatement(ArrowFunction(async,ParamList(VariableDefinition),Arrow,Block(ReturnStatement(return,VariableName)))))
39
+
40
+ # If statements
41
+
42
+ if (x) log(y);
43
+
44
+ if (a.b) {
45
+ d;
46
+ }
47
+
48
+ if (a) {
49
+ c;
50
+ d;
51
+ } else {
52
+ e;
53
+ }
54
+
55
+ if (1) if (2) b; else c;
56
+
57
+ ==>
58
+
59
+ Script(
60
+ IfStatement(if,ParenthesizedExpression(VariableName),ExpressionStatement(CallExpression(VariableName,ArgList(VariableName)))),
61
+ IfStatement(if,ParenthesizedExpression(MemberExpression(VariableName,PropertyName)),Block(ExpressionStatement(VariableName))),
62
+ IfStatement(if,ParenthesizedExpression(VariableName),Block(ExpressionStatement(VariableName),ExpressionStatement(VariableName)),
63
+ else,Block(ExpressionStatement(VariableName))),
64
+ IfStatement(if,ParenthesizedExpression(Number),IfStatement(if,ParenthesizedExpression(Number),ExpressionStatement(VariableName),
65
+ else,ExpressionStatement(VariableName))))
66
+
67
+ # While loop
68
+
69
+ while (1) debugger;
70
+ while (2) {
71
+ a;
72
+ b;
73
+ }
74
+
75
+ ==>
76
+
77
+ Script(
78
+ WhileStatement(while,ParenthesizedExpression(Number),DebuggerStatement(debugger)),
79
+ WhileStatement(while,ParenthesizedExpression(Number),Block(ExpressionStatement(VariableName),ExpressionStatement(VariableName))))
80
+
81
+ # Labels
82
+
83
+ foo: 1;
84
+ foo: while(2) break foo;
85
+
86
+ ==>
87
+
88
+ Script(
89
+ LabeledStatement(Label,ExpressionStatement(Number)),
90
+ LabeledStatement(Label,WhileStatement(while,ParenthesizedExpression(Number),BreakStatement(break,Label))))
91
+
92
+ # Try
93
+
94
+ try { throw new Error; } catch {}
95
+ try { 1; } catch (x) { 2; } finally { 3; }
96
+
97
+ ==>
98
+
99
+ Script(
100
+ TryStatement(try,Block(ThrowStatement(throw,NewExpression(new,VariableName))),CatchClause(catch,Block)),
101
+ TryStatement(try,Block(ExpressionStatement(Number)),
102
+ CatchClause(catch,VariableDefinition,Block(ExpressionStatement(Number))),
103
+ FinallyClause(finally,Block(ExpressionStatement(Number)))))
104
+
105
+ # Switch
106
+
107
+ switch (x) {
108
+ case 1:
109
+ return true;
110
+ case 2:
111
+ case 50 * 3:
112
+ console.log("ok");
113
+ default:
114
+ return false;
115
+ }
116
+
117
+ ==>
118
+
119
+ Script(SwitchStatement(switch,ParenthesizedExpression(VariableName),SwitchBody(
120
+ CaseLabel(case,Number),
121
+ ReturnStatement(return,BooleanLiteral),
122
+ CaseLabel(case,Number),
123
+ CaseLabel(case,BinaryExpression(Number,ArithOp,Number)),
124
+ ExpressionStatement(CallExpression(MemberExpression(VariableName,PropertyName),ArgList(String))),
125
+ DefaultLabel(default),
126
+ ReturnStatement(return,BooleanLiteral))))
127
+
128
+ # For
129
+
130
+ for (let x = 1; x < 10; x++) {}
131
+ for (const y of z) {}
132
+ for (var m in n) {}
133
+ for (q in r) {}
134
+ for (var a, b; c; d) continue;
135
+ for (i = 0, init(); i < 10; i++) {}
136
+ for (;;) {}
137
+ for (const {thing} in things) thing;
138
+ for await (let x of stream) {}
139
+
140
+ ==>
141
+
142
+ Script(
143
+ ForStatement(for,ForSpec(VariableDeclaration(let,VariableDefinition,Equals,Number),
144
+ BinaryExpression(VariableName,CompareOp,Number),PostfixExpression(VariableName,ArithOp)),Block),
145
+ ForStatement(for,ForOfSpec(const,VariableDefinition,of,VariableName),Block),
146
+ ForStatement(for,ForInSpec(var,VariableDefinition,in,VariableName),Block),
147
+ ForStatement(for,ForInSpec(VariableName,in,VariableName),Block),
148
+ ForStatement(for,ForSpec(VariableDeclaration(var,VariableDefinition,VariableDefinition),VariableName,VariableName),ContinueStatement(continue)),
149
+ ForStatement(for,ForSpec(SequenceExpression(AssignmentExpression(VariableName,Equals,Number),
150
+ CallExpression(VariableName,ArgList)),BinaryExpression(VariableName,CompareOp,Number),PostfixExpression(VariableName,ArithOp)),Block),
151
+ ForStatement(for,ForSpec,Block),
152
+ ForStatement(for,ForInSpec(const,ObjectPattern(PatternProperty(PropertyName)),in,VariableName),ExpressionStatement(VariableName)),
153
+ ForStatement(for,await,ForOfSpec(let,VariableDefinition,of,VariableName),Block))
154
+
155
+ # Labeled statements
156
+
157
+ theLoop: for (;;) {
158
+ if (a) {
159
+ break theLoop;
160
+ }
161
+ }
162
+
163
+ ==>
164
+
165
+ Script(LabeledStatement(Label,ForStatement(for,ForSpec,Block(
166
+ IfStatement(if,ParenthesizedExpression(VariableName),Block(BreakStatement(break,Label)))))))
167
+
168
+ # Classes
169
+
170
+ class Foo {
171
+ static one(a) { return a; };
172
+ two(b) { return b; }
173
+ finally() {}
174
+ }
175
+
176
+ class Foo extends require('another-class') {
177
+ constructor() { super(); }
178
+ bar() { super.a(); }
179
+ prop;
180
+ etc = 20;
181
+ static { f() }
182
+ }
183
+
184
+ ==>
185
+
186
+ Script(
187
+ ClassDeclaration(class,VariableDefinition,ClassBody(
188
+ MethodDeclaration(static,PropertyDefinition,ParamList(VariableDefinition),Block(ReturnStatement(return,VariableName))),
189
+ MethodDeclaration(PropertyDefinition,ParamList(VariableDefinition),Block(ReturnStatement(return,VariableName))),
190
+ MethodDeclaration(PropertyDefinition,ParamList,Block))),
191
+ ClassDeclaration(class,VariableDefinition,extends,CallExpression(VariableName,ArgList(String)),ClassBody(
192
+ MethodDeclaration(PropertyDefinition,ParamList,Block(ExpressionStatement(CallExpression(super,ArgList)))),
193
+ MethodDeclaration(PropertyDefinition,ParamList,Block(ExpressionStatement(CallExpression(MemberExpression(super,PropertyName),ArgList)))),
194
+ PropertyDeclaration(PropertyDefinition),
195
+ PropertyDeclaration(PropertyDefinition,Equals,Number),
196
+ StaticBlock(static, Block(ExpressionStatement(CallExpression(VariableName,ArgList)))))))
197
+
198
+ # Private properties
199
+
200
+ class Foo {
201
+ #bar() { this.#a() + this?.#prop == #prop in this; }
202
+ #prop;
203
+ #etc = 20;
204
+ }
205
+
206
+ ==>
207
+
208
+ Script(ClassDeclaration(class,VariableDefinition,ClassBody(
209
+ MethodDeclaration(PrivatePropertyDefinition,ParamList,Block(
210
+ ExpressionStatement(BinaryExpression(
211
+ BinaryExpression(
212
+ CallExpression(MemberExpression(this,PrivatePropertyName),ArgList),
213
+ ArithOp,
214
+ MemberExpression(this,PrivatePropertyName)),
215
+ CompareOp,
216
+ BinaryExpression(PrivatePropertyName, in, this))))),
217
+ PropertyDeclaration(PrivatePropertyDefinition),
218
+ PropertyDeclaration(PrivatePropertyDefinition,Equals,Number))))
219
+
220
+ # Computed properties
221
+
222
+ class Foo {
223
+ [x] = 44;
224
+ [Symbol.iterator]() {}
225
+ }
226
+
227
+ ==>
228
+
229
+ Script(ClassDeclaration(class,VariableDefinition,ClassBody(
230
+ PropertyDeclaration(VariableName,Equals,Number),
231
+ MethodDeclaration(MemberExpression(VariableName,PropertyName),ParamList,Block))))
232
+
233
+ # Imports
234
+
235
+ import defaultMember from "module-name";
236
+ import * as name from "module-name";
237
+ import { member } from "module-name";
238
+ import { member1, member2 as alias2 } from "module-name";
239
+ import defaultMember, { member1, member2 as alias2, } from "module-name";
240
+ import "module-name";
241
+ import defer x from "y";
242
+ import defer from "y";
243
+
244
+ ==>
245
+
246
+ Script(
247
+ ImportDeclaration(import,VariableDefinition,from,String),
248
+ ImportDeclaration(import,Star,as,VariableDefinition,from,String),
249
+ ImportDeclaration(import,ImportGroup(VariableDefinition),from,String),
250
+ ImportDeclaration(import,ImportGroup(VariableDefinition,VariableName,as,VariableDefinition),from,String),
251
+ ImportDeclaration(import,VariableDefinition,ImportGroup(VariableDefinition,VariableName,as,VariableDefinition),from,String),
252
+ ImportDeclaration(import,String),
253
+ ImportDeclaration(import,defer,VariableDefinition,from,String),
254
+ ImportDeclaration(import,VariableDefinition,from,String))
255
+
256
+ # Exports
257
+
258
+ export { name1, name2, name3 as x, nameN };
259
+ export let a, b = 2;
260
+ export default 2 + 2;
261
+ export default function() { }
262
+ export default async function name1() { }
263
+ export { name1 as default, } from "foo";
264
+ export * from 'foo';
265
+
266
+ ==>
267
+
268
+ Script(
269
+ ExportDeclaration(export,ExportGroup(VariableName,VariableName,VariableName,as,VariableName,VariableName)),
270
+ ExportDeclaration(export,VariableDeclaration(let,VariableDefinition,VariableDefinition,Equals,Number)),
271
+ ExportDeclaration(export,default,BinaryExpression(Number,ArithOp,Number)),
272
+ ExportDeclaration(export,default,FunctionDeclaration(function,ParamList,Block)),
273
+ ExportDeclaration(export,default,FunctionDeclaration(async,function,VariableDefinition,ParamList,Block)),
274
+ ExportDeclaration(export,ExportGroup(VariableName,as,VariableName),from,String),
275
+ ExportDeclaration(export,Star,from,String))
276
+
277
+ # Empty statements
278
+
279
+ if (true) { ; };;;
280
+
281
+ ==>
282
+
283
+ Script(IfStatement(if,ParenthesizedExpression(BooleanLiteral),Block))
284
+
285
+ # Comments
286
+
287
+ /* a */
288
+ one;
289
+
290
+ /* b **/
291
+ two;
292
+
293
+ /* c ***/
294
+ three;
295
+
296
+ /* d
297
+
298
+ ***/
299
+ four;
300
+
301
+ y // comment
302
+ * z;
303
+
304
+ ==>
305
+
306
+ Script(
307
+ BlockComment,
308
+ ExpressionStatement(VariableName),
309
+ BlockComment,
310
+ ExpressionStatement(VariableName),
311
+ BlockComment,
312
+ ExpressionStatement(VariableName),
313
+ BlockComment,
314
+ ExpressionStatement(VariableName),
315
+ ExpressionStatement(BinaryExpression(VariableName,LineComment,ArithOp,VariableName)))
316
+
317
+ # Recover from invalid char
318
+
319
+ const {foobar} = {};
320
+
321
+ ==>
322
+
323
+ Script(VariableDeclaration(
324
+ const,
325
+ ObjectPattern("{",PatternProperty(PropertyName,⚠),"}"),
326
+ Equals,
327
+ ObjectExpression))
328
+
329
+ # Sync back to statement
330
+
331
+ function f() {
332
+ log(a b --c)
333
+ }
334
+ function g() {}
335
+
336
+ ==>
337
+
338
+ Script(
339
+ FunctionDeclaration(function,VariableDefinition,ParamList,Block(ExpressionStatement(CallExpression(VariableName,ArgList(...))))),
340
+ FunctionDeclaration(function,VariableDefinition,ParamList,Block))
341
+
342
+ # Destructuring
343
+
344
+ ({x} = y);
345
+ [u, v] = w;
346
+ let [a,, b = 0] = c;
347
+ let {x, y: z = 1} = d;
348
+ let {[f]: m} = e;
349
+
350
+ ==>
351
+
352
+ Script(
353
+ ExpressionStatement(ParenthesizedExpression(AssignmentExpression(
354
+ ObjectPattern(PatternProperty(PropertyName)),Equals,VariableName))),
355
+ ExpressionStatement(AssignmentExpression(ArrayPattern(VariableDefinition,VariableDefinition),Equals,VariableName)),
356
+ VariableDeclaration(let,ArrayPattern(VariableDefinition,VariableDefinition,Equals,Number),Equals,VariableName),
357
+ VariableDeclaration(let,ObjectPattern(
358
+ PatternProperty(PropertyName),
359
+ PatternProperty(PropertyName,VariableDefinition,Equals,Number)
360
+ ),Equals,VariableName),
361
+ VariableDeclaration(let,ObjectPattern(PatternProperty(VariableName,VariableDefinition)),Equals,VariableName))
362
+
363
+ # Generators
364
+
365
+ function* foo() { yield 1 }
366
+
367
+ class B {
368
+ *method() {}
369
+ }
370
+
371
+ ({*x() {}})
372
+
373
+ ==>
374
+
375
+ Script(
376
+ FunctionDeclaration(function,Star,VariableDefinition,ParamList,Block(
377
+ ExpressionStatement(YieldExpression(yield,Number)))),
378
+ ClassDeclaration(class,VariableDefinition,ClassBody(
379
+ MethodDeclaration(Star,PropertyDefinition,ParamList,Block))),
380
+ ExpressionStatement(ParenthesizedExpression(ObjectExpression(Property(Star,PropertyDefinition,ParamList,Block)))))
381
+
382
+ # Hashbang
383
+
384
+ #!/bin/env node
385
+ foo()
386
+
387
+ ==>
388
+
389
+ Script(Hashbang,ExpressionStatement(CallExpression(VariableName,ArgList)))
390
+
391
+ # new.target
392
+
393
+ function MyObj() {
394
+ if (!new.target) {
395
+ throw new Error('Must construct MyObj with new');
396
+ }
397
+ }
398
+
399
+ ==>
400
+
401
+ Script(
402
+ FunctionDeclaration(function,VariableDefinition,ParamList,Block(
403
+ IfStatement(if,ParenthesizedExpression(UnaryExpression(LogicOp,NewTarget(new,PropertyName))), Block(
404
+ ThrowStatement(throw,NewExpression(new,VariableName,ArgList(String))))))))
@@ -0,0 +1,17 @@
1
+ import {parser} from "../dist/index.js"
2
+ import {fileTests} from "@lezer/generator/dist/test"
3
+
4
+ import * as fs from "fs"
5
+ import * as path from "path"
6
+ import {fileURLToPath} from "url"
7
+ let caseDir = path.dirname(fileURLToPath(import.meta.url))
8
+
9
+ for (let file of fs.readdirSync(caseDir)) {
10
+ if (!/\.txt$/.test(file)) continue
11
+
12
+ let name = /^[^\.]*/.exec(file)[0]
13
+ describe(name, () => {
14
+ for (let {name, run} of fileTests(fs.readFileSync(path.join(caseDir, file), "utf8"), file))
15
+ it(name, () => run(parser))
16
+ })
17
+ }