zed/crates
Marshall Bowers 93f117b21a
Improve registration for Assistant code action providers (#23099)
This PR is a follow-up to
https://github.com/zed-industries/zed/pull/22911 to further improve the
registration of code action providers for the Assistant in order to
prevent duplicates.

The `CodeActionProvider` trait now has an `id` method that is used to
return a unique ID for a code action provider. We use this to prevent
registering duplicates of the same provider.

The registration of the code action providers for Assistant1 and
Assistant2 have also been reworked. Previously we were not call the
registration function—and thus setting up the subscriptions—until we
resolved the feature flags. However, this could lead to the registration
happening too late for existing workspace items.

We now perform the registration right away and then remove the undesired
code action providers once the feature flags have been resolved.

Release Notes:

- N/A
2025-01-13 22:25:58 +00:00
..
activity_indicator Add Corner to geometry and make names of corner methods consistent (#22119) 2024-12-16 22:57:15 -07:00
anthropic anthropic: Allow specifying additional beta headers for custom models (#20551) 2025-01-03 23:46:32 +00:00
assets
assistant Improve registration for Assistant code action providers (#23099) 2025-01-13 22:25:58 +00:00
assistant2 Improve registration for Assistant code action providers (#23099) 2025-01-13 22:25:58 +00:00
assistant_slash_command Overhaul extension registration (#21083) 2024-11-22 19:02:32 -05:00
assistant_tool Factor tool definitions out of assistant (#21189) 2024-11-25 18:26:34 -05:00
assistant_tools assistant2: Add support for using tools (#21190) 2024-11-25 19:44:34 -05:00
audio Update Rust crate rodio to 0.20.0 (#20955) 2024-11-28 10:58:36 +02:00
auto_update
auto_update_ui Dequalify WindowContext and ViewContext references (#22477) 2024-12-28 23:09:55 +00:00
breadcrumbs chore: Remove outline dependency from breadcrumbs (#22504) 2024-12-30 12:08:26 +00:00
call More telemetry events (#22171) 2024-12-17 22:16:59 -07:00
channel
cli linux: Fix issue with project-specific env not being found via .envrc (direnv) (#22803) 2025-01-08 16:38:19 +00:00
client deps: Bump smol to 2.0 (#22956) 2025-01-10 13:38:00 +00:00
clock
collab Take a reference in LSP notify (#23077) 2025-01-13 19:26:28 +00:00
collab_ui collab_ui: Show the chat panel icon when the chat panel is active (#22593) 2025-01-02 22:53:34 +00:00
collections Move git status out of Entry (#22224) 2025-01-04 01:00:16 +00:00
command_palette Match keymap-style action names in command palette (#22149) 2024-12-19 12:48:54 +00:00
command_palette_hooks Use the same InlineAssist action between both assistant and assistant2 (#22126) 2024-12-16 23:57:07 -05:00
context_server Dequalify WindowContext and AsyncWindowContext identifiers (#22444) 2024-12-28 21:21:32 +00:00
context_server_settings Factor tool definitions out of assistant (#21189) 2024-11-25 18:26:34 -05:00
copilot Show configuration in language server debug logs (#23084) 2025-01-13 21:00:03 +00:00
db
diagnostics Add Diagnostics key context (#23043) 2025-01-13 16:07:04 +00:00
docs_preprocessor
editor Improve registration for Assistant code action providers (#23099) 2025-01-13 22:25:58 +00:00
evals
extension extension: Fix manifest filename in error message (#22906) 2025-01-09 17:38:46 +00:00
extension_api zed_extension_api: Add a short explanation of repo format (#21824) 2024-12-10 15:04:47 -05:00
extension_cli
extension_host Add telemetry::event! (#22146) 2024-12-17 11:39:18 -07:00
extensions_ui extensions_ui: Show an error toast when a dev extension fails to install (#22914) 2025-01-09 19:38:16 +00:00
feature_flags Add placeholder git panel (#21894) 2024-12-11 22:13:52 -05:00
feedback Dequalify WindowContext and AsyncWindowContext identifiers (#22444) 2024-12-28 21:21:32 +00:00
file_finder Cleanups preparing for WindowContext refactor (#22475) 2024-12-28 21:36:14 +00:00
file_icons Add a CI check for todo! and FIXME comments (#21950) 2024-12-20 08:38:50 +00:00
fireworks zeta: Report Fireworks request data to Snowflake (#22973) 2025-01-10 22:40:54 +00:00
fs deps: Bump smol to 2.0 (#22956) 2025-01-10 13:38:00 +00:00
fsevent
fuzzy Fuzzy match performance improvements redo (#22561) 2025-01-02 05:31:06 +00:00
git git: Git Panel UI, continued (#22960) 2025-01-13 16:47:09 +00:00
git_hosting_providers Use static LazyLocks for all constant regexes (#22225) 2024-12-19 02:20:35 +00:00
git_ui git: Fully implement "all staged" checkbox (#23079) 2025-01-13 20:13:14 +00:00
go_to_line Only debounce the cursor position in multibuffer excerpts (#21946) 2024-12-12 18:27:06 -08:00
google_ai google_ai: Add Gemini 2.0 Flash support (#22665) 2025-01-06 21:28:31 +00:00
gpui Add support for namespace changes in action deprecations (#23086) 2025-01-13 20:56:22 +00:00
gpui_macros Improve keymap json schema (#23044) 2025-01-13 02:34:35 +00:00
html_to_markdown Use static LazyLocks for all constant regexes (#22225) 2024-12-19 02:20:35 +00:00
http_client Use LiveKit's Rust SDK on Linux while continue using Swift SDK on Mac (#21550) 2024-12-05 15:06:17 -08:00
image_viewer chore: Add missing test-support features to terminal_view and image_viewer (#22782) 2025-01-07 17:19:22 +00:00
indexed_docs Improve StringMatchCandidate::new interface (#22011) 2024-12-14 13:35:36 -07:00
inline_completion Animate Zeta button while generating completions (#22899) 2025-01-09 15:24:35 +00:00
inline_completion_button Animate Zeta button while generating completions (#22899) 2025-01-09 15:24:35 +00:00
install_cli
journal
language Improve keymap json schema (#23044) 2025-01-13 02:34:35 +00:00
language_extension Add language icons to the language selector (#21298) 2024-12-02 15:01:09 -03:00
language_model assistant2: Small misc efficiency improvements (#22947) 2025-01-10 09:20:15 +00:00
language_model_selector language_model_selector: Refresh the models when the providers change (#22624) 2025-01-03 19:38:08 +00:00
language_models copilot_chat: Rename o1-preview model to o1 (#23038) 2025-01-13 15:32:26 +00:00
language_selector Improve StringMatchCandidate::new interface (#22011) 2024-12-14 13:35:36 -07:00
language_tools Show configuration in language server debug logs (#23084) 2025-01-13 21:00:03 +00:00
languages Show configuration in language server debug logs (#23084) 2025-01-13 21:00:03 +00:00
livekit_client Use LiveKit's Rust SDK on Linux while continue using Swift SDK on Mac (#21550) 2024-12-05 15:06:17 -08:00
livekit_client_macos Rename livekit_client_macos test_app to suppress warnings (#22719) 2025-01-06 19:17:53 +00:00
livekit_server Use LiveKit's Rust SDK on Linux while continue using Swift SDK on Mac (#21550) 2024-12-05 15:06:17 -08:00
lsp Show configuration in language server debug logs (#23084) 2025-01-13 21:00:03 +00:00
markdown Do not show copy buttons in editor's hover popovers (#22962) 2025-01-10 14:16:52 +00:00
markdown_preview Add tooltip for Markdown Preview copy code button (#22057) 2024-12-17 14:46:38 -05:00
media Switch to a single GPU context in Blade (#20853) 2024-12-18 14:47:09 -07:00
menu Show restart transformation button after successful inline assist (#20439) 2024-12-13 20:31:54 -08:00
multi_buffer Fix outline items navigation (#22890) 2025-01-09 10:25:02 +00:00
node_runtime
notifications
ollama
open_ai Introduce staff-only inline completion provider (#21739) 2024-12-09 14:26:36 +01:00
outline chore: Remove outline dependency from breadcrumbs (#22504) 2024-12-30 12:08:26 +00:00
outline_panel Fix outline items navigation (#22890) 2025-01-09 10:25:02 +00:00
paths
picker Improve keymap json schema (#23044) 2025-01-13 02:34:35 +00:00
prettier Show configuration in language server debug logs (#23084) 2025-01-13 21:00:03 +00:00
project Show configuration in language server debug logs (#23084) 2025-01-13 21:00:03 +00:00
project_panel Improve keymap json schema (#23044) 2025-01-13 02:34:35 +00:00
project_symbols Add and use CodeLabel::filter_text() (#22054) 2024-12-15 22:24:41 -07:00
proto Add support for rename with language servers that lack prepareRename (#23000) 2025-01-11 21:22:17 +00:00
recent_projects Fix empty title in Recent Projects (#21952) 2025-01-07 03:45:38 +00:00
refineable
release_channel chore: Remove explicit usages of once_cell in favor of std (#22407) 2024-12-25 00:33:26 +00:00
remote ssh remoting: Improve error message if netcat is missing (#22767) 2025-01-07 13:16:52 +00:00
remote_server deps: Bump smol to 2.0 (#22956) 2025-01-10 13:38:00 +00:00
repl chore: Add missing test-support features to terminal_view and image_viewer (#22782) 2025-01-07 17:19:22 +00:00
reqwest_client
rich_text
rope
rpc Remove commented-out code (#23089) 2025-01-13 21:02:45 +00:00
search Improve keymap json schema (#23044) 2025-01-13 02:34:35 +00:00
semantic_index deps: Bump smol to 2.0 (#22956) 2025-01-10 13:38:00 +00:00
semantic_version
session
settings Fix confusing keymap json errors and hovers for nonexistent actions (#23098) 2025-01-13 21:53:12 +00:00
settings_ui Toggle & Switch (#21979) 2024-12-13 14:23:02 -05:00
snippet
snippet_provider Overhaul extension registration (#21083) 2024-11-22 19:02:32 -05:00
snippets_ui Improve StringMatchCandidate::new interface (#22011) 2024-12-14 13:35:36 -07:00
sqlez Update rustls and sqlx (#21506) 2024-12-03 23:22:26 -05:00
sqlez_macros
story story: Use itertools as a workspace dependency (#22919) 2025-01-09 21:19:17 +00:00
storybook Dequalify WindowContext and ViewContext references (#22477) 2024-12-28 23:09:55 +00:00
sum_tree Move git status out of Entry (#22224) 2025-01-04 01:00:16 +00:00
supermaven Animate Zeta button while generating completions (#22899) 2025-01-09 15:24:35 +00:00
supermaven_api
tab_switcher Improve keymap json schema (#23044) 2025-01-13 02:34:35 +00:00
task Move git status out of Entry (#22224) 2025-01-04 01:00:16 +00:00
tasks_ui Improve truncate efficiency and fix OBOE in truncate_and_remove_front (#22591) 2025-01-02 22:35:36 +00:00
telemetry Allow telemetry::event! with no properties (#22190) 2024-12-18 09:41:47 -07:00
telemetry_events Improve Linux panic reporting (#22202) 2024-12-22 08:20:17 +00:00
terminal deps: Bump smol to 2.0 (#22956) 2025-01-10 13:38:00 +00:00
terminal_view terminal: Fix unresponsive buttons on load until center pane is clicked + Auto-focus docked terminal on load if no other item is focused (#23039) 2025-01-13 15:11:45 +00:00
text Support diagnostic navigation in multibuffers (#22620) 2025-01-03 18:07:56 +00:00
theme Remove commented-out code (#23089) 2025-01-13 21:02:45 +00:00
theme_extension Overhaul extension registration (#21083) 2024-11-22 19:02:32 -05:00
theme_importer deps: Bump indexmap to 2.0 (#22567) 2025-01-02 12:07:46 +00:00
theme_selector More telemetry events (#22171) 2024-12-17 22:16:59 -07:00
time_format
title_bar Improve keymap json schema (#23044) 2025-01-13 02:34:35 +00:00
toolchain_selector Improve StringMatchCandidate::new interface (#22011) 2024-12-14 13:35:36 -07:00
ui assistant2: Fix inline context picker and handle dismiss (#23081) 2025-01-13 21:00:20 +00:00
ui_input Remove usage of use gpui::* (#22310) 2024-12-20 22:52:11 +00:00
ui_macros
util Add a dedicated action to open files (#22625) 2025-01-08 14:29:15 +00:00
vcs_menu Only count existing branches in picker search (#22908) 2025-01-09 18:55:19 +00:00
vim Improve keymap json schema (#23044) 2025-01-13 02:34:35 +00:00
vim_mode_setting
welcome ui: Update Checkbox design (#22794) 2025-01-07 21:11:39 +00:00
workspace terminal: Fix unresponsive buttons on load until center pane is clicked + Auto-focus docked terminal on load if no other item is focused (#23039) 2025-01-13 15:11:45 +00:00
worktree git: Git Panel UI, continued (#22960) 2025-01-13 16:47:09 +00:00
zed Add test that JSON schema generation works + actions build from no input (#23049) 2025-01-13 20:42:08 +00:00
zed_actions Improve keymap json schema (#23044) 2025-01-13 02:34:35 +00:00
zeta Improve prompt caching for edit prediction (#23061) 2025-01-13 10:58:49 +00:00