assistant: Fix assistant: open prompt library
not opening the prompt library (#28156)
This PR fixes the `assistant: open prompt library` action in the command palette not opening the prompt library when the Assistant Panel did not have focus. Fixes https://github.com/zed-industries/zed/issues/28058. Release Notes: - assistant: Fixed `assistant: open prompt library` not opening the prompt library when the Assistant Panel was not focused.
This commit is contained in:
parent
caf0d6c5fa
commit
adbebb28dc
3 changed files with 17 additions and 12 deletions
|
@ -17,7 +17,7 @@ use fs::Fs;
|
||||||
use gpui::{
|
use gpui::{
|
||||||
Action, Animation, AnimationExt as _, AnyElement, App, AsyncWindowContext, Corner, Entity,
|
Action, Animation, AnimationExt as _, AnyElement, App, AsyncWindowContext, Corner, Entity,
|
||||||
EventEmitter, FocusHandle, Focusable, FontWeight, KeyContext, Pixels, Subscription, Task,
|
EventEmitter, FocusHandle, Focusable, FontWeight, KeyContext, Pixels, Subscription, Task,
|
||||||
UpdateGlobal, WeakEntity, action_with_deprecated_aliases, prelude::*, pulsating_between,
|
UpdateGlobal, WeakEntity, prelude::*, pulsating_between,
|
||||||
};
|
};
|
||||||
use language::LanguageRegistry;
|
use language::LanguageRegistry;
|
||||||
use language_model::{LanguageModelProviderTosView, LanguageModelRegistry};
|
use language_model::{LanguageModelProviderTosView, LanguageModelRegistry};
|
||||||
|
@ -34,7 +34,7 @@ use util::ResultExt as _;
|
||||||
use workspace::Workspace;
|
use workspace::Workspace;
|
||||||
use workspace::dock::{DockPosition, Panel, PanelEvent};
|
use workspace::dock::{DockPosition, Panel, PanelEvent};
|
||||||
use zed_actions::agent::OpenConfiguration;
|
use zed_actions::agent::OpenConfiguration;
|
||||||
use zed_actions::assistant::ToggleFocus;
|
use zed_actions::assistant::{OpenPromptLibrary, ToggleFocus};
|
||||||
|
|
||||||
use crate::active_thread::ActiveThread;
|
use crate::active_thread::ActiveThread;
|
||||||
use crate::assistant_configuration::{AssistantConfiguration, AssistantConfigurationEvent};
|
use crate::assistant_configuration::{AssistantConfiguration, AssistantConfigurationEvent};
|
||||||
|
@ -48,12 +48,6 @@ use crate::{
|
||||||
OpenAgentDiff, OpenHistory, ThreadEvent, ToggleContextPicker,
|
OpenAgentDiff, OpenHistory, ThreadEvent, ToggleContextPicker,
|
||||||
};
|
};
|
||||||
|
|
||||||
action_with_deprecated_aliases!(
|
|
||||||
assistant,
|
|
||||||
OpenPromptLibrary,
|
|
||||||
["assistant::DeployPromptLibrary"]
|
|
||||||
);
|
|
||||||
|
|
||||||
pub fn init(cx: &mut App) {
|
pub fn init(cx: &mut App) {
|
||||||
cx.observe_new(
|
cx.observe_new(
|
||||||
|workspace: &mut Workspace, _window, _cx: &mut Context<Workspace>| {
|
|workspace: &mut Workspace, _window, _cx: &mut Context<Workspace>| {
|
||||||
|
|
|
@ -54,7 +54,15 @@ pub fn init(cx: &mut App) {
|
||||||
.register_action(ContextEditor::insert_dragged_files)
|
.register_action(ContextEditor::insert_dragged_files)
|
||||||
.register_action(AssistantPanel::show_configuration)
|
.register_action(AssistantPanel::show_configuration)
|
||||||
.register_action(AssistantPanel::create_new_context)
|
.register_action(AssistantPanel::create_new_context)
|
||||||
.register_action(AssistantPanel::restart_context_servers);
|
.register_action(AssistantPanel::restart_context_servers)
|
||||||
|
.register_action(|workspace, _: &OpenPromptLibrary, window, cx| {
|
||||||
|
if let Some(panel) = workspace.panel::<AssistantPanel>(cx) {
|
||||||
|
workspace.focus_panel::<AssistantPanel>(window, cx);
|
||||||
|
panel.update(cx, |panel, cx| {
|
||||||
|
panel.deploy_prompt_library(&OpenPromptLibrary, window, cx)
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
.detach();
|
.detach();
|
||||||
|
|
|
@ -190,13 +190,16 @@ pub mod agent {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub mod assistant {
|
pub mod assistant {
|
||||||
use gpui::{actions, impl_actions};
|
use gpui::{action_with_deprecated_aliases, actions, impl_actions};
|
||||||
use schemars::JsonSchema;
|
use schemars::JsonSchema;
|
||||||
use serde::Deserialize;
|
use serde::Deserialize;
|
||||||
|
|
||||||
actions!(
|
actions!(assistant, [ToggleFocus, ShowConfiguration]);
|
||||||
|
|
||||||
|
action_with_deprecated_aliases!(
|
||||||
assistant,
|
assistant,
|
||||||
[ToggleFocus, OpenPromptLibrary, ShowConfiguration]
|
OpenPromptLibrary,
|
||||||
|
["assistant::DeployPromptLibrary"]
|
||||||
);
|
);
|
||||||
|
|
||||||
#[derive(Clone, Default, Deserialize, PartialEq, JsonSchema)]
|
#[derive(Clone, Default, Deserialize, PartialEq, JsonSchema)]
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue