move haskell-tree-sitter-playground
This commit is contained in:
parent
2aac085bb8
commit
09e455e17e
9 changed files with 362 additions and 103 deletions
|
|
@ -1,31 +1,11 @@
|
|||
# @strudel/haskell
|
||||
# @strudel/tidal
|
||||
|
||||
This is an experiment in implementing tree-sitter for parsing haskell.
|
||||
|
||||
So far, I have just set up a vite project that imports and inits `web-tree-sitter`, which works after
|
||||
|
||||
- <https://github.com/tree-sitter/tree-sitter/issues/2831>
|
||||
- <https://github.com/tree-sitter/tree-sitter/pull/2830>
|
||||
|
||||
Running:
|
||||
|
||||
```sh
|
||||
cd haskell && pnpm i
|
||||
pnpm i
|
||||
cd haskell
|
||||
pnpm dev
|
||||
```
|
||||
|
||||
will start the vite dev server, loading tree sitter on `http://localhost:5174/`.
|
||||
|
||||
The next step is be to generate `tree-sitter-haskell.wasm` file following <https://www.npmjs.com/package/web-tree-sitter#generate-wasm-language-files>.
|
||||
|
||||
I've tried to generate it using <https://www.npmjs.com/package/tree-sitter-haskell> but it failed, due to some versioning conflicts involving node / v8 / node-gyp.
|
||||
|
||||
It seems a lot of work has gone into this package in <https://github.com/tree-sitter/tree-sitter-haskell/pull/29>, without a new npm package version being released, which is why I've written this comment: <https://github.com/tree-sitter/tree-sitter-haskell/pull/29#issuecomment-1865951565>.
|
||||
|
||||
So either someone authorized releases a new version of the package or we might need to pull the changes and try to build it from the tree-sitter master branch.
|
||||
|
||||
## Update 1
|
||||
|
||||
I've managed to make it work by using [this tree-sitter-haskell.wasm](https://github.com/tree-sitter/tree-sitter-haskell/blob/master/tree-sitter-haskell.wasm), instead of using the version on npm! Make sure both `tree-sitter.wasm` and `tree-sitter-haskell.wasm` are in the public dir, then run `pnpm dev`. The console should log a tree sitter AST string.
|
||||
|
||||
Next step: understand how the ast works to then transform it into JS function calls!
|
||||
This
|
||||
Loading…
Add table
Add a link
Reference in a new issue