Register MCP server in VS Code settings.json.
(settings_path: &Path, tracedecay_bin: &str)
| 251 | |
| 252 | /// Register MCP server in VS Code settings.json. |
| 253 | fn install_vscode_mcp_server(settings_path: &Path, tracedecay_bin: &str) -> Result<()> { |
| 254 | if let Some(parent) = settings_path.parent() { |
| 255 | std::fs::create_dir_all(parent).ok(); |
| 256 | } |
| 257 | |
| 258 | let backup = backup_config_file(settings_path)?; |
| 259 | let mut settings = match load_jsonc_file_strict(settings_path) { |
| 260 | Ok(v) => v, |
| 261 | Err(e) => { |
| 262 | if let Some(ref b) = backup { |
| 263 | eprintln!(" Backup preserved at: {}", b.display()); |
| 264 | } |
| 265 | return Err(e); |
| 266 | } |
| 267 | }; |
| 268 | settings["mcp"]["servers"]["tracedecay"] = json!({ |
| 269 | "type": "stdio", |
| 270 | "command": tracedecay_bin, |
| 271 | "args": ["serve"] |
| 272 | }); |
| 273 | |
| 274 | safe_write_json_file(settings_path, &settings, backup.as_deref())?; |
| 275 | eprintln!( |
| 276 | "\x1b[32m✔\x1b[0m Added tracedecay MCP server to {}", |
| 277 | settings_path.display() |
| 278 | ); |
| 279 | Ok(()) |
| 280 | } |
| 281 | |
| 282 | /// Register MCP server in Copilot CLI's ~/.copilot/mcp-config.json. |
| 283 | fn install_cli_mcp_server(settings_path: &Path, tracedecay_bin: &str) -> Result<()> { |
no test coverage detected