zed/crates
Marshall Bowers f92e6e9a95
Add support for context server extensions (#20250)
This PR adds support for context servers provided by extensions.

To provide a context server from an extension, you need to list the
context servers in your `extension.toml`:

```toml
[context_servers.my-context-server]
```

And then implement the `context_server_command` method to return the
command that will be used to start the context server:

```rs
use zed_extension_api::{self as zed, Command, ContextServerId, Result};

struct ExampleContextServerExtension;

impl zed::Extension for ExampleContextServerExtension {
    fn new() -> Self {
        ExampleContextServerExtension
    }

    fn context_server_command(&mut self, _context_server_id: &ContextServerId) -> Result<Command> {
        Ok(Command {
            command: "node".to_string(),
            args: vec!["/path/to/example-context-server/index.js".to_string()],
            env: Vec::new(),
        })
    }
}

zed::register_extension!(ExampleContextServerExtension);
```

Release Notes:

- N/A
2024-11-08 16:39:21 -05:00
..
activity_indicator Rename extension crate to extension_host (#20081) 2024-11-01 12:53:02 -04:00
anthropic Switch to Anthropic -latest tags (#19615) 2024-10-23 15:13:52 -04:00
assets add ui::Vector and separate images from icons (#17815) 2024-09-13 17:44:16 -04:00
assistant Add support for context server extensions (#20250) 2024-11-08 16:39:21 -05:00
assistant_slash_command Fix regression in producing sections when converting SlashCommandOutput to event stream (#20404) 2024-11-08 09:29:14 +01:00
assistant_tool assistant: Add basic tool invocation (#17368) 2024-09-04 14:32:20 -04:00
audio Update Rust crate rodio to 0.19.0 (#17389) 2024-09-16 21:55:32 -06:00
auto_update Rebuild SSH installation (#20220) 2024-11-05 13:37:54 -07:00
breadcrumbs Add missing shortcuts in tooltips (#18282) 2024-09-27 11:06:48 +02:00
call Add new extension crate (#20089) 2024-11-01 13:20:30 -04:00
channel Remove hosted projects (#19754) 2024-10-27 19:44:21 -07:00
cli Remove dev servers (#19638) 2024-10-24 12:14:03 -06:00
client Don't write temp files for telemetry logs (#20209) 2024-11-05 14:05:51 -07:00
clock Fix bugs with applying hunks from branch buffers (#18721) 2024-10-07 16:28:33 -07:00
collab Scope slash commands, context servers, and tools to individual Assistant Panel instances (#20372) 2024-11-07 18:23:25 -05:00
collab_ui Fix mouse clicks on remote-open-folder UI (#19851) 2024-10-28 12:55:55 -07:00
collections
command_palette chore: Fix several style lints (#17488) 2024-09-06 11:58:39 +02:00
command_palette_hooks chore: Fix several style lints (#17488) 2024-09-06 11:58:39 +02:00
context_servers Add support for context server extensions (#20250) 2024-11-08 16:39:21 -05:00
copilot Update Copilot Chat max_tokens soft limits (#20363) 2024-11-07 16:03:12 -05:00
db chore: Fix some violations of 'needless_pass_by_ref_mut' lint (#18795) 2024-10-07 01:29:58 +02:00
dev_server_projects/src Remove dev servers (#19638) 2024-10-24 12:14:03 -06:00
diagnostics diagnostics: Improve performance with large # of diagnostics (#20189) 2024-11-04 12:16:02 -07:00
docs_preprocessor Don't rely on relative path for docs preprocessor (#16883) 2024-08-26 11:43:13 -04:00
editor Fix line number whitespace (#20427) 2024-11-08 13:25:48 -05:00
evals Restore HTTP client transition, but use reqwest everywhere (#19055) 2024-10-11 14:58:58 -07:00
extension Add support for context server extensions (#20250) 2024-11-08 16:39:21 -05:00
extension_api Add support for context server extensions (#20250) 2024-11-08 16:39:21 -05:00
extension_cli Add new extension crate (#20089) 2024-11-01 13:20:30 -04:00
extension_host Add support for context server extensions (#20250) 2024-11-08 16:39:21 -05:00
extensions_ui Add support for context server extensions (#20250) 2024-11-08 16:39:21 -05:00
feature_flags Initial Notebook UI structure (#19756) 2024-10-29 11:30:07 -07:00
feedback ci: Update issue templates. Rename defect to bug and improve log formatting (#20246) 2024-11-05 12:07:17 -05:00
file_finder Add more context to the save new file path picker (#19863) 2024-10-28 17:21:41 -07:00
file_icons chore: Clean up allocs around project panel (#15422) 2024-07-29 14:21:41 +02:00
fs Root rename detection (#20313) 2024-11-06 20:36:59 -07:00
fsevent
fuzzy Improve slash commands (#16195) 2024-08-13 23:06:07 -07:00
git git: Add support for opening git worktrees (#20164) 2024-11-06 09:43:39 +01:00
git_hosting_providers git_hosting_providers: Fix support for GitLab remotes containing subgroups (#19962) 2024-10-30 11:16:44 -04:00
go_to_line Improve project search performance (#20211) 2024-11-05 03:49:37 +02:00
google_ai assistant: Fix Gemini 1.5 Pro throwing "missing field 'index' at line N column M" (#20200) 2024-11-04 17:01:08 -05:00
gpui macOS: Add key equivalents for non-Latin layouts (#20401) 2024-11-08 13:05:10 -07:00
gpui_macros add ui::Vector and separate images from icons (#17815) 2024-09-13 17:44:16 -04:00
html_to_markdown chore: Fix several style lints (#17488) 2024-09-06 11:58:39 +02:00
http_client Add settings to remote servers, use XDG paths on remote, and enable node LSPs (#19176) 2024-10-15 23:32:44 -07:00
image_viewer image viewer: Show path in breadcrumbs (#20155) 2024-11-04 10:18:21 +01:00
indexed_docs Extension refactor (#20305) 2024-11-06 10:06:25 -07:00
inline_completion_button Support .editorconfig (#19455) 2024-10-21 13:05:30 +03:00
install_cli
journal chore: Fix several style lints (#17488) 2024-09-06 11:58:39 +02:00
language Extension refactor (#20305) 2024-11-06 10:06:25 -07:00
language_model assistant: Show only configured models in the model picker (#20392) 2024-11-08 10:08:59 -03:00
language_selector use ssh lsp store (#17655) 2024-09-10 15:51:01 -04:00
language_tools Prefer revealing items in the middle of the list for outline and project panels (#20349) 2024-11-07 14:36:29 +02:00
languages Add abstract classes to typescript outline query (#20377) 2024-11-07 12:44:34 -08:00
live_kit_client chore: Fix several style lints (#17488) 2024-09-06 11:58:39 +02:00
live_kit_server Restore HTTP client transition, but use reqwest everywhere (#19055) 2024-10-11 14:58:58 -07:00
lsp Fix a few Windows tests (#19773) 2024-10-26 03:32:22 +03:00
markdown Fix clang popovers (#20090) 2024-11-01 13:28:34 -06:00
markdown_preview markdown preview: Refresh preview when file is changed outside of the editor (#20175) 2024-11-04 17:23:32 +01:00
media Update Rust crate bindgen to 0.70.0 (#17024) 2024-08-28 22:12:49 -07:00
menu
multi_buffer Fix a test flake involving zeroed out group_intervals (#20328) 2024-11-07 09:17:43 -07:00
node_runtime typescript: Improve installation checks for vtsls (#20197) 2024-11-04 16:00:51 -05:00
notifications Pass Summary::Context to Item::summarize (#18510) 2024-09-29 10:30:48 -06:00
ollama Fix read timeout for ollama (#18417) 2024-09-27 00:36:17 -06:00
open_ai Stop leaking isahc assumption (#18408) 2024-09-26 14:01:05 -06:00
outline Extract outline rendering to outline crate (#20179) 2024-11-04 11:54:37 -05:00
outline_panel Improve outline panel keyboard navigation (#20385) 2024-11-08 01:19:54 +02:00
paths Extension refactor (#20305) 2024-11-06 10:06:25 -07:00
picker Prefer revealing items in the middle of the list for outline and project panels (#20349) 2024-11-07 14:36:29 +02:00
prettier Log prettier errors on failures (#19951) 2024-10-30 14:49:47 +02:00
project Show warning when deleting files with unsaved changes (#20172) 2024-11-07 11:40:33 -05:00
project_panel project panel: Stop flickering border when preview tabs disabled (#20417) 2024-11-08 16:53:39 +01:00
project_symbols Fix renames over language server for SSH remoting (#17897) 2024-09-16 16:20:17 -06:00
proto Make slash command output streamable (#19632) 2024-11-06 16:24:43 -08:00
quick_action_bar Disable repl in non-local projects (#20397) 2024-11-08 06:29:07 -08:00
recent_projects Remoting: Fix opening multiple folders on one server (#20281) 2024-11-05 22:16:38 -07:00
refineable
release_channel chore: Fix several style lints (#17488) 2024-09-06 11:58:39 +02:00
remote Extension refactor (#20305) 2024-11-06 10:06:25 -07:00
remote_server Root rename detection (#20313) 2024-11-06 20:36:59 -07:00
repl Register repl actions with editor after session started (#20396) 2024-11-08 06:58:44 -08:00
reqwest_client reqwest_client: Fix socks proxy settings (#19123) 2024-10-18 09:57:00 -07:00
rich_text Disable definition lists in Markdown (#17648) 2024-09-10 11:16:27 -04:00
rope rope: Index tab locations for each chunk (#20289) 2024-11-06 13:18:30 +01:00
rpc Add support for git branches on remote projects (#19755) 2024-10-27 15:50:54 -07:00
search Ensure project search actions are always aligned (#20353) 2024-11-07 10:56:10 -03:00
semantic_index semantic_index: Disable embeddings index for non-staff (#19618) 2024-10-23 12:34:51 -04:00
semantic_version
session chore: Fix some violations of 'needless_pass_by_ref_mut' lint (#18795) 2024-10-07 01:29:58 +02:00
settings macOS: Add key equivalents for non-Latin layouts (#20401) 2024-11-08 13:05:10 -07:00
settings_ui Revert "theme: Turn ThemeRegistry into a trait (#20076)" (#20094) 2024-11-01 15:34:20 -04:00
snippet Correct escaping in snippets (#14912) 2024-07-22 00:57:34 +02:00
snippet_provider chore: Fix some violations of 'needless_pass_by_ref_mut' lint (#18795) 2024-10-07 01:29:58 +02:00
snippets_ui Add snippet commands (#18453) 2024-10-02 13:27:16 +02:00
sqlez Fix a rare crash on startup (#19922) 2024-10-29 12:30:55 -07:00
sqlez_macros Compare migrations formatted uniformly (#18760) 2024-10-05 12:58:45 +03:00
story chore: Fix several style lints (#17488) 2024-09-06 11:58:39 +02:00
storybook Revert "theme: Turn ThemeRegistry into a trait (#20076)" (#20094) 2024-11-01 15:34:20 -04:00
sum_tree Speed up point translation in the Rope (#19913) 2024-10-30 10:59:03 +01:00
supermaven Cap the size of the Supermaven states buffer (#19246) 2024-10-23 10:36:14 +03:00
supermaven_api chore: Fix several style lints (#17488) 2024-09-06 11:58:39 +02:00
tab_switcher tab_switcher: Use git-aware colors for file icons (#18733) 2024-10-04 10:37:41 -04:00
task tasks: Add editor: Spawn Nearest Task action (#19901) 2024-10-31 14:25:57 +01:00
tasks_ui Add more context to the save new file path picker (#19863) 2024-10-28 17:21:41 -07:00
telemetry_events assistant: Add health telemetry (#19928) 2024-10-31 16:21:26 -07:00
terminal terminal: Prevent [] from being sanitized into clickable file link (#20386) 2024-11-08 02:41:30 +02:00
terminal_view terminal: Do not show multibuffer hint when in centered pane (#20137) 2024-11-04 09:19:48 +01:00
text Fix a test flake involving zeroed out group_intervals (#20328) 2024-11-07 09:17:43 -07:00
theme Revert "theme: Turn ThemeRegistry into a trait (#20076)" (#20094) 2024-11-01 15:34:20 -04:00
theme_importer chore: Another round of style lints fixes (#17519) 2024-09-07 02:36:55 +02:00
theme_selector Revert "theme: Turn ThemeRegistry into a trait (#20076)" (#20094) 2024-11-01 15:34:20 -04:00
time_format chore: Fix several style lints (#17488) 2024-09-06 11:58:39 +02:00
title_bar ssh remoting: Hide share button while connecting to project (#19885) 2024-10-29 12:13:21 +01:00
toolchain_selector Add language toolchains (#19576) 2024-10-28 15:34:03 +01:00
ui Ensure project search actions are always aligned (#20353) 2024-11-07 10:56:10 -03:00
ui_input
ui_macros Add ui_macros crate & DerivePathStr derive macro (#17811) 2024-09-13 16:45:16 -04:00
util Add support for git branches on remote projects (#19755) 2024-10-27 15:50:54 -07:00
vcs_menu chore: Update BranchListDelegate to use WeakView<Workspace> (#20157) 2024-11-04 12:17:11 +02:00
vim Exclude pinned tabs when closing items (#19593) 2024-11-07 11:20:19 +02:00
welcome Add emacs keymap (#19605) 2024-11-07 15:22:53 -05:00
workspace macOS: Add key equivalents for non-Latin layouts (#20401) 2024-11-08 13:05:10 -07:00
worktree Root rename detection (#20313) 2024-11-06 20:36:59 -07:00
zed Add support for context server extensions (#20250) 2024-11-08 16:39:21 -05:00
zed_actions Add KeyContextView (#19872) 2024-10-30 11:26:54 -06:00