zed/crates
Max Brunsfeld 268fa1cbaf
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>
2024-03-01 16:00:55 -08:00
..
activity_indicator Add initial support for defining language server adapters in WebAssembly-based extensions (#8645) 2024-03-01 16:00:55 -08:00
ai Replace lazy_static! with OnceLock in ai crate (#8647) 2024-02-29 23:37:20 -05:00
assets chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
assistant Wire up Azure OpenAI completion provider (#8646) 2024-02-29 22:01:33 -05:00
audio Clean up many small dependencies (part 3) (#8425) 2024-02-26 11:08:57 +02:00
auto_update Add OpenExcerptsSplit (#8574) 2024-02-28 19:23:36 -07:00
breadcrumbs Clean up many small dependencies (part 3) (#8425) 2024-02-26 11:08:57 +02:00
call channel projects (#8456) 2024-02-26 22:15:11 -07:00
channel channel projects (#8456) 2024-02-26 22:15:11 -07:00
cli Remove ! from todo!() in comments (#8643) 2024-02-29 18:19:05 -07:00
client Wire up Azure OpenAI completion provider (#8646) 2024-02-29 22:01:33 -05:00
clock Add SystemClock (#8239) 2024-02-22 22:28:08 -05:00
collab Add initial support for defining language server adapters in WebAssembly-based extensions (#8645) 2024-03-01 16:00:55 -08:00
collab_ui Remove ! from todo!() in comments (#8643) 2024-02-29 18:19:05 -07:00
collections gpui: Add Global marker trait (#7095) 2024-01-30 14:08:20 -05:00
color Remove ! from todo!() in comments (#8643) 2024-02-29 18:19:05 -07:00
command_palette Improve matches on command palette (#8515) 2024-02-29 18:31:13 +01:00
command_palette_hooks Add command_palette_hooks crate (#8398) 2024-02-25 13:21:20 -05:00
copilot Add initial support for defining language server adapters in WebAssembly-based extensions (#8645) 2024-03-01 16:00:55 -08:00
copilot_ui Cleanup dependencies (part 4) (#8468) 2024-02-27 20:41:49 +02:00
db Clean up many small dependencies (part 3) (#8425) 2024-02-26 11:08:57 +02:00
diagnostics Add OpenExcerptsSplit (#8574) 2024-02-28 19:23:36 -07:00
editor Add initial support for defining language server adapters in WebAssembly-based extensions (#8645) 2024-03-01 16:00:55 -08:00
extension Add initial support for defining language server adapters in WebAssembly-based extensions (#8645) 2024-03-01 16:00:55 -08:00
extension_api Add initial support for defining language server adapters in WebAssembly-based extensions (#8645) 2024-03-01 16:00:55 -08:00
extensions_ui Add initial support for defining language server adapters in WebAssembly-based extensions (#8645) 2024-03-01 16:00:55 -08:00
feature_flags Clean up many small dependencies (part 3) (#8425) 2024-02-26 11:08:57 +02:00
feedback Cleanup dependencies (part 4) (#8468) 2024-02-27 20:41:49 +02:00
file_finder Optimize file finder subscriptions (#8343) 2024-02-28 19:02:21 +02:00
fs Add initial support for defining language server adapters in WebAssembly-based extensions (#8645) 2024-03-01 16:00:55 -08:00
fsevent Translate notify::Event to fsevent::Event on linux (#7545) 2024-02-08 08:35:37 -08:00
fuzzy chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
git Clean up many small dependencies (part 3) (#8425) 2024-02-26 11:08:57 +02:00
go_to_line Clean up many small dependencies (part 3) (#8425) 2024-02-26 11:08:57 +02:00
gpui Remove ! from todo!() in comments (#8643) 2024-02-29 18:19:05 -07:00
gpui_macros gpui: Don't impl IntoElement on () (#8555) 2024-02-28 15:19:05 -07:00
install_cli Remove ! from todo!() in comments (#8643) 2024-02-29 18:19:05 -07:00
journal Cleanup dependencies (part 4) (#8468) 2024-02-27 20:41:49 +02:00
language Add initial support for defining language server adapters in WebAssembly-based extensions (#8645) 2024-03-01 16:00:55 -08:00
language_selector Clean up deps for file_finder, language_selector, task, rpc, storybook (#8353) 2024-02-25 10:10:07 +02:00
language_tools Add initial support for defining language server adapters in WebAssembly-based extensions (#8645) 2024-03-01 16:00:55 -08:00
languages Add initial support for defining language server adapters in WebAssembly-based extensions (#8645) 2024-03-01 16:00:55 -08:00
live_kit_client Remove ! from todo!() in comments (#8643) 2024-02-29 18:19:05 -07:00
live_kit_server Clean up many small dependencies (part 3) (#8425) 2024-02-26 11:08:57 +02:00
lsp Add initial support for defining language server adapters in WebAssembly-based extensions (#8645) 2024-03-01 16:00:55 -08:00
markdown_preview Support rendering strikethrough text in markdown (#8287) 2024-02-26 21:04:48 +02:00
media Clean up many small dependencies (part 3) (#8425) 2024-02-26 11:08:57 +02:00
menu Added menu::UseSelectedQuery command that populates task modal query with the selected task name (#8572) 2024-02-29 02:20:43 +02:00
multi_buffer Cleanup dependencies (part 4) (#8468) 2024-02-27 20:41:49 +02:00
node_runtime Cleanup dependencies (part 4) (#8468) 2024-02-27 20:41:49 +02:00
notifications Cleanup dependencies (part 4) (#8468) 2024-02-27 20:41:49 +02:00
outline Clean up many small dependencies (part 3) (#8425) 2024-02-26 11:08:57 +02:00
picker Added menu::UseSelectedQuery command that populates task modal query with the selected task name (#8572) 2024-02-29 02:20:43 +02:00
prettier Add initial support for defining language server adapters in WebAssembly-based extensions (#8645) 2024-03-01 16:00:55 -08:00
project Add initial support for defining language server adapters in WebAssembly-based extensions (#8645) 2024-03-01 16:00:55 -08:00
project_core Optimize file finder subscriptions (#8343) 2024-02-28 19:02:21 +02:00
project_panel Ensure panel and pane sizes are integral (#8619) 2024-02-29 09:16:42 -07:00
project_symbols Add initial support for defining language server adapters in WebAssembly-based extensions (#8645) 2024-03-01 16:00:55 -08:00
quick_action_bar Hide Inline Assist button if assistant.button is disabled (#7932) 2024-02-18 08:14:08 +02:00
recent_projects Add a way to change what menu::Confirm does in the recent projects modal (#8688) 2024-03-02 00:28:51 +02:00
refineable Clean up many small dependencies (part 3) (#8425) 2024-02-26 11:08:57 +02:00
release_channel chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
rich_text Cleanup dependencies (part 4) (#8468) 2024-02-27 20:41:49 +02:00
rope Add documentation to many core editor types (#7919) 2024-02-17 09:03:05 -07:00
rpc Allow reconnect before disconnect (#8684) 2024-03-01 15:41:32 -07:00
search Scroll project search results to the top (#8329) 2024-03-01 11:40:57 +02:00
semantic_index Clean up many small dependencies (part 3) (#8425) 2024-02-26 11:08:57 +02:00
settings Clean up dependencies of call,lsp,project,settings,vim,welcome, and workspace (#8330) 2024-02-25 00:41:28 +02:00
snippet Clean up Cargo.toml files (#7044) 2024-01-29 23:47:20 -05:00
sqlez Use collections::{HashMap, HashSet} instead of its std:: counterpart (#7502) 2024-02-07 19:06:03 +02:00
sqlez_macros Clean up many small dependencies (part 3) (#8425) 2024-02-26 11:08:57 +02:00
story chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
storybook Clean up deps for file_finder, language_selector, task, rpc, storybook (#8353) 2024-02-25 10:10:07 +02:00
sum_tree Add documentation to many core editor types (#7919) 2024-02-17 09:03:05 -07:00
task Allow .zed/tasks.json local configs (#8536) 2024-02-29 01:18:13 +02:00
tasks_ui Prompt to save files on recent project selection (#8673) 2024-03-01 18:48:06 +02:00
telemetry_events Add telemetry events backend for collab (#8220) 2024-02-23 11:13:28 -05:00
terminal Setting to show/hide terminal title (#8559) 2024-03-01 23:37:02 +02:00
terminal_view Setting to show/hide terminal title (#8559) 2024-03-01 23:37:02 +02:00
text Clean up many small dependencies (part 3) (#8425) 2024-02-26 11:08:57 +02:00
theme Remove ! from todo!() in comments (#8643) 2024-02-29 18:19:05 -07:00
theme_importer Upgrade palette (#8506) 2024-02-27 14:29:27 -07:00
theme_selector Clean up many small dependencies (part 3) (#8425) 2024-02-26 11:08:57 +02:00
time_format Replace lazy_static! with OnceLock in time_format crate (#8648) 2024-02-29 23:58:45 -05:00
ui Cleanup dependencies (part 4) (#8468) 2024-02-27 20:41:49 +02:00
util Allow .zed/tasks.json local configs (#8536) 2024-02-29 01:18:13 +02:00
vcs_menu Use Pointer cursor style on Recent Projects, VCS Menu. (#8595) 2024-02-29 12:27:56 +01:00
vim Add initial support for defining language server adapters in WebAssembly-based extensions (#8645) 2024-03-01 16:00:55 -08:00
welcome Add OpenExcerptsSplit (#8574) 2024-02-28 19:23:36 -07:00
workspace Prompt to save files on recent project selection (#8673) 2024-03-01 18:48:06 +02:00
zed Add initial support for defining language server adapters in WebAssembly-based extensions (#8645) 2024-03-01 16:00:55 -08:00
zed_actions chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00