From 40b37ee177f9a4b0e1225aefa735a5ebd2c5705d Mon Sep 17 00:00:00 2001 From: Lukas Wirth Date: Fri, 3 Jan 2025 13:28:52 +0100 Subject: [PATCH] minor: Honor `CARGO_TARGET_DIR` for cargo target dir config --- src/tools/rust-analyzer/crates/rust-analyzer/src/config.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/tools/rust-analyzer/crates/rust-analyzer/src/config.rs b/src/tools/rust-analyzer/crates/rust-analyzer/src/config.rs index fd2219c5026f..f054bde903de 100644 --- a/src/tools/rust-analyzer/crates/rust-analyzer/src/config.rs +++ b/src/tools/rust-analyzer/crates/rust-analyzer/src/config.rs @@ -2126,7 +2126,10 @@ impl Config { fn target_dir_from_config(&self, source_root: Option) -> Option { self.cargo_targetDir(source_root).as_ref().and_then(|target_dir| match target_dir { TargetDirectory::UseSubdirectory(true) => { - Some(Utf8PathBuf::from("target/rust-analyzer")) + let env_var = env::var("CARGO_TARGET_DIR").ok(); + let mut path = Utf8PathBuf::from(env_var.as_deref().unwrap_or("target")); + path.push("rust-analyzer"); + Some(path) } TargetDirectory::UseSubdirectory(false) => None, TargetDirectory::Directory(dir) => Some(dir.clone()),