diff --git a/crates/agent_ui/src/acp/config_options.rs b/crates/agent_ui/src/acp/config_options.rs index 3a010d2e2e05d3fcedc3888a6c025307f3426b58..c9310350c19e2ec08cf5e1b36d55fc9d2c37cfa4 100644 --- a/crates/agent_ui/src/acp/config_options.rs +++ b/crates/agent_ui/src/acp/config_options.rs @@ -3,6 +3,7 @@ use std::{cmp::Reverse, rc::Rc, sync::Arc}; use acp_thread::AgentSessionConfigOptions; use agent_client_protocol as acp; use agent_servers::AgentServer; +use agent_settings::AgentSettings; use collections::HashSet; use fs::Fs; use fuzzy::StringMatchCandidate; @@ -12,9 +13,10 @@ use gpui::{ use ordered_float::OrderedFloat; use picker::popover_menu::PickerPopoverMenu; use picker::{Picker, PickerDelegate}; -use settings::SettingsStore; +use settings::{Settings, SettingsStore}; use ui::{ - ElevationIndex, IconButton, ListItem, ListItemSpacing, PopoverMenuHandle, Tooltip, prelude::*, + DocumentationSide, ElevationIndex, IconButton, ListItem, ListItemSpacing, PopoverMenuHandle, + Tooltip, prelude::*, }; use util::ResultExt as _; @@ -583,7 +585,7 @@ impl PickerDelegate for ConfigOptionPickerDelegate { fn documentation_aside( &self, _window: &mut Window, - _cx: &mut Context>, + cx: &mut Context>, ) -> Option { self.selected_description .as_ref() @@ -591,8 +593,16 @@ impl PickerDelegate for ConfigOptionPickerDelegate { let description = description.clone(); let is_default = *is_default; + let settings = AgentSettings::get_global(cx); + let side = match settings.dock { + settings::DockPosition::Left => DocumentationSide::Right, + settings::DockPosition::Bottom | settings::DockPosition::Right => { + DocumentationSide::Left + } + }; + ui::DocumentationAside::new( - ui::DocumentationSide::Left, + side, Rc::new(move |_| { v_flex() .gap_1() diff --git a/crates/agent_ui/src/acp/model_selector.rs b/crates/agent_ui/src/acp/model_selector.rs index b3d5c14a6cfea50aa36444c02e1192ab9db6c54a..e2f2bee9c4a64a7ad9784464e70ec61b387a607f 100644 --- a/crates/agent_ui/src/acp/model_selector.rs +++ b/crates/agent_ui/src/acp/model_selector.rs @@ -3,6 +3,7 @@ use std::{cmp::Reverse, rc::Rc, sync::Arc}; use acp_thread::{AgentModelIcon, AgentModelInfo, AgentModelList, AgentModelSelector}; use agent_client_protocol::ModelId; use agent_servers::AgentServer; +use agent_settings::AgentSettings; use anyhow::Result; use collections::{HashSet, IndexMap}; use fs::Fs; @@ -15,7 +16,7 @@ use gpui::{ use itertools::Itertools; use ordered_float::OrderedFloat; use picker::{Picker, PickerDelegate}; -use settings::SettingsStore; +use settings::{Settings, SettingsStore}; use ui::{DocumentationAside, DocumentationSide, IntoElement, prelude::*}; use util::ResultExt; use zed_actions::agent::OpenSettings; @@ -378,7 +379,7 @@ impl PickerDelegate for AcpModelPickerDelegate { fn documentation_aside( &self, _window: &mut Window, - _cx: &mut Context>, + cx: &mut Context>, ) -> Option { self.selected_description .as_ref() @@ -386,8 +387,16 @@ impl PickerDelegate for AcpModelPickerDelegate { let description = description.clone(); let is_default = *is_default; + let settings = AgentSettings::get_global(cx); + let side = match settings.dock { + settings::DockPosition::Left => DocumentationSide::Right, + settings::DockPosition::Bottom | settings::DockPosition::Right => { + DocumentationSide::Left + } + }; + DocumentationAside::new( - DocumentationSide::Left, + side, Rc::new(move |_| { v_flex() .gap_1()