diff --git a/crates/agent_servers/src/acp.rs b/crates/agent_servers/src/acp.rs index 245d899f8af89e9f803a0b5586fd6a4a1c3aae69..57ddfcf9dc9d635e33f252e6b6f35f015581cfc4 100644 --- a/crates/agent_servers/src/acp.rs +++ b/crates/agent_servers/src/acp.rs @@ -82,7 +82,7 @@ impl AcpConnection { is_remote: bool, cx: &mut AsyncApp, ) -> Result { - let mut child = util::command::new_smol_command(command.path); + let mut child = util::command::new_smol_command(&command.path); child .args(command.args.iter().map(|arg| arg.as_str())) .envs(command.env.iter().flatten()) @@ -97,6 +97,11 @@ impl AcpConnection { let stdout = child.stdout.take().context("Failed to take stdout")?; let stdin = child.stdin.take().context("Failed to take stdin")?; let stderr = child.stderr.take().context("Failed to take stderr")?; + log::info!( + "Spawning external agent server: {:?}, {:?}", + command.path, + command.args + ); log::trace!("Spawned (pid: {})", child.id()); let sessions = Rc::new(RefCell::new(HashMap::default())); diff --git a/crates/agent_ui/src/agent_panel.rs b/crates/agent_ui/src/agent_panel.rs index 1384af1081005399fed6cb22f99e6ec34812df8b..5b641dad41a4165fd0eaa0fd0502b982e58816c7 100644 --- a/crates/agent_ui/src/agent_panel.rs +++ b/crates/agent_ui/src/agent_panel.rs @@ -48,8 +48,8 @@ use editor::{Anchor, AnchorRangeExt as _, Editor, EditorEvent, MultiBuffer}; use fs::Fs; use gpui::{ Action, AnyElement, App, AsyncWindowContext, Corner, DismissEvent, Entity, EventEmitter, - ExternalPaths, FocusHandle, Focusable, KeyContext, Pixels, Subscription, Task, UpdateGlobal, - WeakEntity, prelude::*, + ExternalPaths, FocusHandle, Focusable, KeyContext, Pixels, ReadGlobal as _, Subscription, Task, + UpdateGlobal, WeakEntity, prelude::*, }; use language::LanguageRegistry; use language_model::{ConfigurationError, LanguageModelRegistry}; @@ -519,6 +519,14 @@ impl AgentPanel { cx, ) }); + + if SettingsStore::global(cx) + .get::(None) + .disable_ai + { + return panel; + } + panel.as_mut(cx).loading = true; if let Some(serialized_panel) = serialized_panel { panel.update(cx, |panel, cx| {