From f1859e3645c282cc651c9152c9568546101186da Mon Sep 17 00:00:00 2001 From: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com> Date: Fri, 28 Jun 2024 22:17:45 +0200 Subject: [PATCH] Rust: Execute tasks from files ZED_DIRNAME (#13658) Fixes #13267 Release Notes: - Fixed Rust tests not working when crates Cargo.toml is not at the root of a worktree. --- crates/languages/src/rust.rs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/crates/languages/src/rust.rs b/crates/languages/src/rust.rs index e8d45f86db..f033e7936f 100644 --- a/crates/languages/src/rust.rs +++ b/crates/languages/src/rust.rs @@ -420,12 +420,14 @@ impl ContextProvider for RustContextProvider { "-p".into(), RUST_PACKAGE_TASK_VARIABLE.template_value(), ], + cwd: Some("$ZED_DIRNAME".to_owned()), ..TaskTemplate::default() }, TaskTemplate { label: "cargo check --workspace --all-targets".into(), command: "cargo".into(), args: vec!["check".into(), "--workspace".into(), "--all-targets".into()], + cwd: Some("$ZED_DIRNAME".to_owned()), ..TaskTemplate::default() }, TaskTemplate { @@ -444,6 +446,7 @@ impl ContextProvider for RustContextProvider { "--nocapture".into(), ], tags: vec!["rust-test".to_owned()], + cwd: Some("$ZED_DIRNAME".to_owned()), ..TaskTemplate::default() }, TaskTemplate { @@ -460,6 +463,7 @@ impl ContextProvider for RustContextProvider { VariableName::Stem.template_value(), ], tags: vec!["rust-mod-test".to_owned()], + cwd: Some("$ZED_DIRNAME".to_owned()), ..TaskTemplate::default() }, TaskTemplate { @@ -476,6 +480,7 @@ impl ContextProvider for RustContextProvider { "--bin".into(), RUST_BIN_NAME_TASK_VARIABLE.template_value(), ], + cwd: Some("$ZED_DIRNAME".to_owned()), tags: vec!["rust-main".to_owned()], ..TaskTemplate::default() }, @@ -490,18 +495,21 @@ impl ContextProvider for RustContextProvider { "-p".into(), RUST_PACKAGE_TASK_VARIABLE.template_value(), ], + cwd: Some("$ZED_DIRNAME".to_owned()), ..TaskTemplate::default() }, TaskTemplate { label: "cargo run".into(), command: "cargo".into(), args: vec!["run".into()], + cwd: Some("$ZED_DIRNAME".to_owned()), ..TaskTemplate::default() }, TaskTemplate { label: "cargo clean".into(), command: "cargo".into(), args: vec!["clean".into()], + cwd: Some("$ZED_DIRNAME".to_owned()), ..TaskTemplate::default() }, ]))