# Add initial support for defining language server adapters in WebAssembly-based extensions \(\#8645\) · gitcafe/zed

[View on GitCafe](https://git.cafe/gitcafe/zed/commit/268fa1cbaf91929c3fe3e387a6260be5612b5c97)

Repository: [gitcafe/zed](https://git.cafe/gitcafe/zed)

Visibility: public

Requested revision: 268fa1cbaf91929c3fe3e387a6260be5612b5c97

Requested commit: 268fa1cbaf91929c3fe3e387a6260be5612b5c97

Commit: 268fa1cbaf91929c3fe3e387a6260be5612b5c97

Tree: 195afe73fb54c1897de8fe79d112be28f0c86ced

Author: Max Brunsfeld

Committer: GitHub

## Message

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

This PR adds **internal** ability to run arbitrary language servers via
WebAssembly extensions. The functionality isn't exposed yet - we're just
landing this in this early state because there have been a lot of
changes to the `LspAdapter` trait, and other language server logic.

## Next steps

* Currently, wasm extensions can only define how to *install* and run a
language server, they can't yet implement the other LSP adapter methods,
such as formatting completion labels and workspace symbols.
* We don't have an automatic way to install or develop these types of
extensions
* We don't have a way to package these types of extensions in our
extensions repo, to make them available via our extensions API.
* The Rust extension API crate, `zed-extension-api` has not yet been
published to crates.io, because we still consider the API a work in
progress.

Release Notes:

- N/A

---------

Co-authored-by: Marshall <marshall@zed.dev>
Co-authored-by: Nathan <nathan@zed.dev>
Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
```

## Parents

- [f3f2225a8e14b195b1ee40d2c427510683d5a4dc](https://git.cafe/gitcafe/zed/commit/f3f2225a8e14b195b1ee40d2c427510683d5a4dc?format=markdown)

[Source at this commit](https://git.cafe/gitcafe/zed/tree/268fa1cbaf91929c3fe3e387a6260be5612b5c97?format=markdown)
