From 9b9144596753d8ac466e391d901a6d9ef1082625 Mon Sep 17 00:00:00 2001 From: Ben Brandt Date: Tue, 22 Jul 2025 15:06:39 +0200 Subject: [PATCH] Use pathbuf in McpServerConfig --- crates/agent_servers/src/mcp_server.rs | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/crates/agent_servers/src/mcp_server.rs b/crates/agent_servers/src/mcp_server.rs index e9295686c08cab5d006ddc423b9076b754534200..bcba8a71e02344183c077e7e09814213b08b5d9d 100644 --- a/crates/agent_servers/src/mcp_server.rs +++ b/crates/agent_servers/src/mcp_server.rs @@ -1,4 +1,4 @@ -use std::{cell::RefCell, rc::Rc}; +use std::{cell::RefCell, path::PathBuf, rc::Rc}; use acp_thread::AcpClientDelegate; use agentic_coding_protocol::{self as acp, Client, ReadTextFileParams, WriteTextFileParams}; @@ -67,9 +67,7 @@ impl ZedMcpServer { pub fn server_config(&self) -> Result { let zed_path = std::env::current_exe() - .context("finding current executable path for use in mcp_server")? - .to_string_lossy() - .to_string(); + .context("finding current executable path for use in mcp_server")?; Ok(McpServerConfig { command: zed_path, @@ -302,11 +300,11 @@ pub struct McpConfig { pub mcp_servers: HashMap, } -#[derive(Serialize)] +#[derive(Serialize, Clone)] #[serde(rename_all = "camelCase")] pub struct McpServerConfig { - command: String, - args: Vec, + pub command: PathBuf, + pub args: Vec, #[serde(skip_serializing_if = "Option::is_none")] - env: Option>, + pub env: Option>, }