From ea659029821450bf6327b66615c8397fdd920836 Mon Sep 17 00:00:00 2001 From: Elliot Gustafsson Date: Mon, 12 Oct 2026 23:11:47 +0200 Subject: [PATCH] fix: fix test binary path extraction, filter quoting, and DWARF symbols Signed-off-by: Elliot Gustafsson --- src/zig.rs | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/src/zig.rs b/src/zig.rs index 76087bf..ce0a8d7 100644 --- a/src/zig.rs +++ b/src/zig.rs @@ -200,9 +200,9 @@ impl zed::Extension for ZigExtension { let mut args: Vec = build_task .args .into_iter() - // TODO verify if this is required on non-Windows platforms - .map(|s| s.replace("\"", "'")) + .map(|s| s.trim_matches(['\"', '\'']).to_string()) .collect(); + args.push("-fllvm".into()); args.push("--test-no-exec".into()); args.push(format!("-femit-bin={test_exe_path}")); @@ -224,7 +224,11 @@ impl zed::Extension for ZigExtension { _ => return None, }; - let config = serde_json::Value::Null; + let config = serde_json::json!({ + "initCommands": [ + "settings set target.inline-breakpoint-strategy always" + ], + }); let Ok(config) = serde_json::to_string(&config) else { return None; }; @@ -269,17 +273,11 @@ impl zed::Extension for ZigExtension { let program = build_task .args .iter() - .find_map(|arg| { - arg.strip_prefix("-femit-bin=").map(|arg| { - arg.split("=") - .nth(1) - .ok_or("Expected binary path in -femit-bin=") - .map(|path| path.trim_end_matches(".exe")) - }) - }) - .ok_or("Failed to extract binary path from command args") - .flatten()? + .find_map(|arg| arg.strip_prefix("-femit-bin=")) + .ok_or("Failed to extract binary path from command args")? + .trim_end_matches(".exe") .to_string(); + let request = zed::LaunchRequest { program, cwd: build_task.cwd,