Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add initial support for defining language server adapters in WebAssembly-based extensions #8645

Merged
merged 32 commits into from
Mar 2, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
5ad3201
Allow FakeFs to represent non-text files
maxbrunsfeld Feb 22, 2024
2e1f279
Start work on loading language server extensions from WASM components
maxbrunsfeld Feb 22, 2024
d2e5b68
Implement some host functions for language server extensions to call
maxbrunsfeld Feb 22, 2024
67038f0
Create a wasm store + a long-lived task per extension
maxbrunsfeld Feb 22, 2024
39b511a
Restructure wasm extension test
maxbrunsfeld Feb 23, 2024
e8d1f29
Restructure extension index, prepare for wasm component
maxbrunsfeld Feb 25, 2024
73a3180
Flesh out extension manifest for wasm extensions
maxbrunsfeld Feb 27, 2024
97faa33
Start work on an extension API crate, and an in-repo Gleam extension
maxbrunsfeld Feb 27, 2024
0634e25
Get initialization of wasm extensions working
maxbrunsfeld Feb 28, 2024
9174c32
Allow downloading and extracting files from extensions
maxbrunsfeld Feb 28, 2024
40e0a4b
Get test passing where an extension downloads and extracts a language…
maxbrunsfeld Feb 28, 2024
16d8043
Add an option to download uncompressed files from extensions
maxbrunsfeld Feb 29, 2024
b994e06
Keep track of each extension's API version
maxbrunsfeld Feb 29, 2024
0bce1cb
Move language server command retrieval from LanguageRegistry to Cache…
maxbrunsfeld Feb 29, 2024
8513e48
Move language server command retrieval to LspAdapter trait
maxbrunsfeld Feb 29, 2024
68cc4d6
Allow extensions to update LSP installation statuses
maxbrunsfeld Feb 29, 2024
dc57bf6
Allow extensions to have mutable state, cache LSP binary paths
maxbrunsfeld Feb 29, 2024
8aa3da4
Retrieve LSP adapters from language registry, not the language
maxbrunsfeld Mar 1, 2024
f749940
Don't store fake language servers on languages, put them in the registry
maxbrunsfeld Mar 1, 2024
e7eaf6d
Merge branch main
maxbrunsfeld Mar 1, 2024
aeaba54
Only define zed extension linker section in wasm builds
maxbrunsfeld Mar 1, 2024
a9ec84a
Merge branch 'main' into wasm-extensions
maxbrunsfeld Mar 1, 2024
41a8fbd
Remove `dbg!`s in `FakeFs`
maxdeviant Mar 1, 2024
217c8b6
Fix construction of prettier in non-test code path
maxbrunsfeld Mar 1, 2024
974ed26
Register LSP adapters for language servers defined in extensions
maxbrunsfeld Mar 1, 2024
953da25
Restore compatibility with old extension manifest format
maxbrunsfeld Mar 1, 2024
32e2166
Fix hang due to missing download dir when starting language servers i…
maxbrunsfeld Mar 1, 2024
87ea3c6
Remove unused deps
maxbrunsfeld Mar 1, 2024
f718e30
Merge branch 'main' into wasm-extensions
maxdeviant Mar 1, 2024
3ecc259
Fix extension store test
maxdeviant Mar 1, 2024
64f375e
Fix language server extension test
maxbrunsfeld Mar 1, 2024
2d559b0
Install cargo component on CI, for running extension tests
maxbrunsfeld Mar 1, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,12 @@ jobs:
clean: false
submodules: "recursive"

- name: Install cargo-component
run: |
if ! which cargo-component > /dev/null; then
cargo install cargo-component
fi

- name: cargo clippy
shell: bash -euxo pipefail {0}
run: script/clippy
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
/assets/*licenses.md
**/venv
.build
*.wasm
Packages
*.xcodeproj
xcuserdata/
Expand Down
Loading
Loading