Skip to content
This repository has been archived by the owner on Jul 31, 2023. It is now read-only.

Migrate tree-sitter and tree-sitter-ruby to WASM distribution #506

Closed
wingrunr21 opened this issue Jul 11, 2019 · 11 comments
Closed

Migrate tree-sitter and tree-sitter-ruby to WASM distribution #506

wingrunr21 opened this issue Jul 11, 2019 · 11 comments
Assignees
Labels
enhancement Improves upon existing functionality
Milestone

Comments

@wingrunr21
Copy link
Collaborator

Move tree-sitter and tree-sitter-ruby to use a WASM build instead of prebuilt binaries. This should yield a better user experience + allow us to drop prebuild.

More info here

@wingrunr21 wingrunr21 added the enhancement Improves upon existing functionality label Jul 11, 2019
@wingrunr21 wingrunr21 self-assigned this Jul 11, 2019
@wingrunr21 wingrunr21 pinned this issue Jul 15, 2019
@wingrunr21
Copy link
Collaborator Author

WASM support was started over the weekend. Just need to test a few things out and verify the solution works cross-platform. VSCode does not officially support WASM in extensions so want to make sure this is functioning as expected.

@razzeee
Copy link

razzeee commented Jul 18, 2019

Btw just FYI, here's another VSCode addon that has been shipping wasm tree sitter files for some time now https://github.com/georgewfraser/vscode-tree-sitter/tree/master/parsers

@wingrunr21
Copy link
Collaborator Author

wingrunr21 commented Jul 18, 2019

https://github.com/rubyide/vscode-ruby/tree/tree_sitter_wasm 😉

The issue wasn't how to ship. The issue was support. I use the cursor to traverse the tree and a few features in that just landed yesterday.

@razzeee
Copy link

razzeee commented Jul 18, 2019

VSCode does not officially support WASM in extensions so want to make sure this is functioning as expected.
Just meant to mention that due to that, especially as I'm interested in your findings there. Might have implications for my LS implementation.

@minkir014
Copy link

When do you intend to fully convert prepuilt binaries to WASM to solve problems of prebuilt binaries instead of fixing node-tree-sitter problems since the PR against node-tree-sitter has some problems.

@wingrunr21
Copy link
Collaborator Author

@razzeee Ya, I think support works in practice but microsoft/vscode#65559. Luckily, the way tree-sitter is built the appropriate member functions for memory management can be defined in the types it ships vs those from the WASM spec or emscripten

@minkir014 ASAP

@minkir014
Copy link

Have you encountered any problems with WASM or it's working properly??

@wingrunr21
Copy link
Collaborator Author

This change is in master. It will go out with the next release.

@minkir014
Copy link

When will WASM version of the extension go out??
Maybe, this will help to fix all issues.

@wingrunr21
Copy link
Collaborator Author

I doubt it's going to fix all issues but I'm packaging a ton of bug fixes into the next release.

I have one final issue to resolve and I will be doing the release. Fix is written just need to test an edge case I thought of today.

@wingrunr21
Copy link
Collaborator Author

This was shipped in v0.25.0. There was an issue with publishing that version to the Marketplace so v0.25.1 is the first version with the WASM switch.

@wingrunr21 wingrunr21 unpinned this issue Sep 2, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement Improves upon existing functionality
Projects
None yet
Development

No branches or pull requests

3 participants