mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-10-03 15:15:24 +00:00
Set CARGO_TARGET_DIR
when using Flycheck custom command
This commit is contained in:
parent
ef0b3bbef1
commit
3682c3791b
2 changed files with 9 additions and 1 deletions
|
@ -58,6 +58,7 @@ pub enum FlycheckConfig {
|
||||||
extra_env: FxHashMap<String, String>,
|
extra_env: FxHashMap<String, String>,
|
||||||
invocation_strategy: InvocationStrategy,
|
invocation_strategy: InvocationStrategy,
|
||||||
invocation_location: InvocationLocation,
|
invocation_location: InvocationLocation,
|
||||||
|
target_dir: Option<PathBuf>,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -354,10 +355,15 @@ impl FlycheckActor {
|
||||||
extra_env,
|
extra_env,
|
||||||
invocation_strategy,
|
invocation_strategy,
|
||||||
invocation_location,
|
invocation_location,
|
||||||
|
target_dir,
|
||||||
} => {
|
} => {
|
||||||
let mut cmd = Command::new(command);
|
let mut cmd = Command::new(command);
|
||||||
cmd.envs(extra_env);
|
cmd.envs(extra_env);
|
||||||
|
|
||||||
|
if let Some(target_dir) = target_dir {
|
||||||
|
cmd.env("CARGO_TARGET_DIR", target_dir);
|
||||||
|
}
|
||||||
|
|
||||||
match invocation_location {
|
match invocation_location {
|
||||||
InvocationLocation::Workspace => {
|
InvocationLocation::Workspace => {
|
||||||
match invocation_strategy {
|
match invocation_strategy {
|
||||||
|
|
|
@ -1289,6 +1289,7 @@ impl Config {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn flycheck(&self) -> FlycheckConfig {
|
pub fn flycheck(&self) -> FlycheckConfig {
|
||||||
|
let target_dir = self.target_dir_from_config();
|
||||||
match &self.data.check_overrideCommand {
|
match &self.data.check_overrideCommand {
|
||||||
Some(args) if !args.is_empty() => {
|
Some(args) if !args.is_empty() => {
|
||||||
let mut args = args.clone();
|
let mut args = args.clone();
|
||||||
|
@ -1309,6 +1310,7 @@ impl Config {
|
||||||
}
|
}
|
||||||
InvocationLocation::Workspace => flycheck::InvocationLocation::Workspace,
|
InvocationLocation::Workspace => flycheck::InvocationLocation::Workspace,
|
||||||
},
|
},
|
||||||
|
target_dir,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Some(_) | None => FlycheckConfig::CargoCommand {
|
Some(_) | None => FlycheckConfig::CargoCommand {
|
||||||
|
@ -1343,7 +1345,7 @@ impl Config {
|
||||||
extra_args: self.check_extra_args(),
|
extra_args: self.check_extra_args(),
|
||||||
extra_env: self.check_extra_env(),
|
extra_env: self.check_extra_env(),
|
||||||
ansi_color_output: self.color_diagnostic_output(),
|
ansi_color_output: self.color_diagnostic_output(),
|
||||||
target_dir: self.target_dir_from_config(),
|
target_dir,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue