Set CARGO_TARGET_DIR
when using Flycheck custom command
This commit is contained in:
parent
ef0b3bbef1
commit
3682c3791b
@ -58,6 +58,7 @@ pub enum FlycheckConfig {
|
||||
extra_env: FxHashMap<String, String>,
|
||||
invocation_strategy: InvocationStrategy,
|
||||
invocation_location: InvocationLocation,
|
||||
target_dir: Option<PathBuf>,
|
||||
},
|
||||
}
|
||||
|
||||
@ -354,10 +355,15 @@ impl FlycheckActor {
|
||||
extra_env,
|
||||
invocation_strategy,
|
||||
invocation_location,
|
||||
target_dir,
|
||||
} => {
|
||||
let mut cmd = Command::new(command);
|
||||
cmd.envs(extra_env);
|
||||
|
||||
if let Some(target_dir) = target_dir {
|
||||
cmd.env("CARGO_TARGET_DIR", target_dir);
|
||||
}
|
||||
|
||||
match invocation_location {
|
||||
InvocationLocation::Workspace => {
|
||||
match invocation_strategy {
|
||||
|
@ -1289,6 +1289,7 @@ impl Config {
|
||||
}
|
||||
|
||||
pub fn flycheck(&self) -> FlycheckConfig {
|
||||
let target_dir = self.target_dir_from_config();
|
||||
match &self.data.check_overrideCommand {
|
||||
Some(args) if !args.is_empty() => {
|
||||
let mut args = args.clone();
|
||||
@ -1309,6 +1310,7 @@ impl Config {
|
||||
}
|
||||
InvocationLocation::Workspace => flycheck::InvocationLocation::Workspace,
|
||||
},
|
||||
target_dir,
|
||||
}
|
||||
}
|
||||
Some(_) | None => FlycheckConfig::CargoCommand {
|
||||
@ -1343,7 +1345,7 @@ impl Config {
|
||||
extra_args: self.check_extra_args(),
|
||||
extra_env: self.check_extra_env(),
|
||||
ansi_color_output: self.color_diagnostic_output(),
|
||||
target_dir: self.target_dir_from_config(),
|
||||
target_dir,
|
||||
},
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user