mirror of
https://github.com/rust-lang/rust-analyzer
synced 2025-01-12 05:08:52 +00:00
Propagate cargo.target to checkOnSave
This commit is contained in:
parent
3432afcbd2
commit
a20b8d751b
2 changed files with 11 additions and 2 deletions
|
@ -22,6 +22,7 @@ pub use cargo_metadata::diagnostic::{
|
|||
pub enum FlycheckConfig {
|
||||
CargoCommand {
|
||||
command: String,
|
||||
target_tripple: Option<String>,
|
||||
all_targets: bool,
|
||||
all_features: bool,
|
||||
features: Vec<String>,
|
||||
|
@ -178,6 +179,7 @@ impl FlycheckActor {
|
|||
let mut cmd = match &self.config {
|
||||
FlycheckConfig::CargoCommand {
|
||||
command,
|
||||
target_tripple,
|
||||
all_targets,
|
||||
all_features,
|
||||
extra_args,
|
||||
|
@ -187,6 +189,10 @@ impl FlycheckActor {
|
|||
cmd.arg(command);
|
||||
cmd.args(&["--workspace", "--message-format=json", "--manifest-path"])
|
||||
.arg(self.workspace_root.join("Cargo.toml"));
|
||||
|
||||
if let Some(target) = target_tripple {
|
||||
cmd.args(&["--target", target.as_str()]);
|
||||
}
|
||||
if *all_targets {
|
||||
cmd.arg("--all-targets");
|
||||
}
|
||||
|
|
|
@ -148,6 +148,7 @@ impl Config {
|
|||
rustfmt: RustfmtConfig::Rustfmt { extra_args: Vec::new() },
|
||||
flycheck: Some(FlycheckConfig::CargoCommand {
|
||||
command: "check".to_string(),
|
||||
target_tripple: None,
|
||||
all_targets: true,
|
||||
all_features: false,
|
||||
extra_args: Vec::new(),
|
||||
|
@ -198,7 +199,7 @@ impl Config {
|
|||
all_features: data.cargo_allFeatures,
|
||||
features: data.cargo_features.clone(),
|
||||
load_out_dirs_from_check: data.cargo_loadOutDirsFromCheck,
|
||||
target: data.cargo_target,
|
||||
target: data.cargo_target.clone(),
|
||||
};
|
||||
|
||||
self.proc_macro_srv = if data.procMacro_enable {
|
||||
|
@ -223,6 +224,7 @@ impl Config {
|
|||
}
|
||||
Some(_) | None => FlycheckConfig::CargoCommand {
|
||||
command: data.checkOnSave_command,
|
||||
target_tripple: data.checkOnSave_target.or(data.cargo_target),
|
||||
all_targets: data.checkOnSave_allTargets,
|
||||
all_features: data.checkOnSave_allFeatures.unwrap_or(data.cargo_allFeatures),
|
||||
features: data.checkOnSave_features.unwrap_or(data.cargo_features),
|
||||
|
@ -384,10 +386,11 @@ config_data! {
|
|||
cargo_noDefaultFeatures: bool = false,
|
||||
cargo_target: Option<String> = None,
|
||||
|
||||
checkOnSave_enable: bool = false,
|
||||
checkOnSave_allFeatures: Option<bool> = None,
|
||||
checkOnSave_allTargets: bool = true,
|
||||
checkOnSave_command: String = "check".into(),
|
||||
checkOnSave_enable: bool = false,
|
||||
checkOnSave_target: Option<String> = None,
|
||||
checkOnSave_extraArgs: Vec<String> = Vec::new(),
|
||||
checkOnSave_features: Option<Vec<String>> = None,
|
||||
checkOnSave_overrideCommand: Option<Vec<String>> = None,
|
||||
|
|
Loading…
Reference in a new issue