From 8c349057e59bda5e61ba4439fdc0ea31a4d01e47 Mon Sep 17 00:00:00 2001 From: Bennet Bo Fenner Date: Tue, 11 Feb 2025 12:14:42 +0100 Subject: [PATCH] edit prediction: Fix `zeta: Rate completions` action not working when using keybinding (#24569) Release Notes: - N/A --- assets/keymaps/default-linux.json | 2 +- assets/keymaps/default-macos.json | 2 +- .../src/inline_completion_button.rs | 21 ++----------------- crates/zed/src/zed.rs | 1 - crates/zeta/src/init.rs | 4 ++-- crates/zeta/src/rate_completion_modal.rs | 1 - 6 files changed, 6 insertions(+), 25 deletions(-) diff --git a/assets/keymaps/default-linux.json b/assets/keymaps/default-linux.json index 243f5f9d4f3bb4be0d05add09190bfeeb29cad07..ef9ab3f369397ec7fb194a7cefd426b1400ca778 100644 --- a/assets/keymaps/default-linux.json +++ b/assets/keymaps/default-linux.json @@ -31,7 +31,7 @@ "ctrl-,": "zed::OpenSettings", "ctrl-q": "zed::Quit", "f11": "zed::ToggleFullScreen", - "ctrl-alt-z": "zeta::RateCompletions", + "ctrl-alt-z": "edit_prediction::RateCompletions", "ctrl-shift-i": "edit_prediction::ToggleMenu" } }, diff --git a/assets/keymaps/default-macos.json b/assets/keymaps/default-macos.json index 2773e48d38b7acb9a196ad4f8481430d3092b749..f2b37819d3e8e8973fdbab01ba9cc3b762e1fa2d 100644 --- a/assets/keymaps/default-macos.json +++ b/assets/keymaps/default-macos.json @@ -39,7 +39,7 @@ "cmd-m": "zed::Minimize", "fn-f": "zed::ToggleFullScreen", "ctrl-cmd-f": "zed::ToggleFullScreen", - "ctrl-cmd-z": "zeta::RateCompletions", + "ctrl-cmd-z": "edit_prediction::RateCompletions", "ctrl-cmd-i": "edit_prediction::ToggleMenu" } }, diff --git a/crates/inline_completion_button/src/inline_completion_button.rs b/crates/inline_completion_button/src/inline_completion_button.rs index c8b2bc333a6824097c5009ad10ca60e4e8fa5e2b..8961512bd28718b6576346e85a03f7ecad4a48dc 100644 --- a/crates/inline_completion_button/src/inline_completion_button.rs +++ b/crates/inline_completion_button/src/inline_completion_button.rs @@ -36,9 +36,8 @@ use workspace::{ Toast, Workspace, }; use zed_actions::OpenBrowser; -use zeta::RateCompletionModal; +use zeta::RateCompletions; -actions!(zeta, [RateCompletions]); actions!(edit_prediction, [ToggleMenu]); const COPILOT_SETTINGS_URL: &str = "https://github.com/settings/copilot"; @@ -54,7 +53,6 @@ pub struct InlineCompletionButton { file: Option>, edit_prediction_provider: Option>, fs: Arc, - workspace: WeakEntity, user_store: Entity, popover_menu_handle: PopoverMenuHandle, } @@ -354,7 +352,6 @@ impl Render for InlineCompletionButton { impl InlineCompletionButton { pub fn new( - workspace: WeakEntity, fs: Arc, user_store: Entity, popover_menu_handle: PopoverMenuHandle, @@ -376,7 +373,6 @@ impl InlineCompletionButton { file: None, edit_prediction_provider: None, popover_menu_handle, - workspace, fs, user_store, } @@ -613,23 +609,10 @@ impl InlineCompletionButton { window: &mut Window, cx: &mut Context, ) -> Entity { - let workspace = self.workspace.clone(); ContextMenu::build(window, cx, |menu, _window, cx| { self.build_language_settings_menu(menu, cx).when( cx.has_flag::(), - |this| { - this.entry( - "Rate Completions", - Some(RateCompletions.boxed_clone()), - move |window, cx| { - workspace - .update(cx, |workspace, cx| { - RateCompletionModal::toggle(workspace, window, cx) - }) - .ok(); - }, - ) - }, + |this| this.action("Rate Completions", RateCompletions.boxed_clone()), ) }) } diff --git a/crates/zed/src/zed.rs b/crates/zed/src/zed.rs index 9b66e92b9f5ad2d76637504e3baf1da0966cea69..271c8356448694b31108ccc31de7c609242c9345 100644 --- a/crates/zed/src/zed.rs +++ b/crates/zed/src/zed.rs @@ -176,7 +176,6 @@ pub fn initialize_workspace( let inline_completion_button = cx.new(|cx| { inline_completion_button::InlineCompletionButton::new( - workspace.weak_handle(), app_state.fs.clone(), app_state.user_store.clone(), popover_menu_handle.clone(), diff --git a/crates/zeta/src/init.rs b/crates/zeta/src/init.rs index ee0d810e5b10ca7f55413791b0a676b70fb19463..229d4d287bdf4177472588bf933b7997333096e0 100644 --- a/crates/zeta/src/init.rs +++ b/crates/zeta/src/init.rs @@ -10,9 +10,9 @@ use settings::update_settings_file; use ui::App; use workspace::Workspace; -use crate::{onboarding_modal::ZedPredictModal, RateCompletionModal, RateCompletions}; +use crate::{onboarding_modal::ZedPredictModal, RateCompletionModal}; -actions!(edit_predictions, [ResetOnboarding]); +actions!(edit_prediction, [ResetOnboarding, RateCompletions]); pub fn init(cx: &mut App) { cx.observe_new(move |workspace: &mut Workspace, _, _cx| { diff --git a/crates/zeta/src/rate_completion_modal.rs b/crates/zeta/src/rate_completion_modal.rs index ed79f41fe8f3b1943770107a714dd6cd235a6563..3c5562532368389e2e762d3ea2e597b099599a29 100644 --- a/crates/zeta/src/rate_completion_modal.rs +++ b/crates/zeta/src/rate_completion_modal.rs @@ -9,7 +9,6 @@ use workspace::{ModalView, Workspace}; actions!( zeta, [ - RateCompletions, ThumbsUpActiveCompletion, ThumbsDownActiveCompletion, NextEdit,