mirror of
https://github.com/rust-lang/rust-analyzer
synced 2024-09-21 06:51:57 +00:00
Started rust-analyzer.cargo.defaultTarget implementation
This commit is contained in:
parent
5671bacfa6
commit
b7edffe244
3 changed files with 21 additions and 0 deletions
|
@ -42,6 +42,11 @@ impl ops::Index<Target> for CargoWorkspace {
|
|||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, Eq)]
|
||||
pub struct RustcConfig {
|
||||
pub default_target: Option<String>,
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, Eq)]
|
||||
pub struct CargoConfig {
|
||||
/// Do not activate the `default` feature.
|
||||
|
@ -56,6 +61,9 @@ pub struct CargoConfig {
|
|||
|
||||
/// Runs cargo check on launch to figure out the correct values of OUT_DIR
|
||||
pub load_out_dirs_from_check: bool,
|
||||
|
||||
/// rustc config
|
||||
pub rustc: RustcConfig,
|
||||
}
|
||||
|
||||
impl Default for CargoConfig {
|
||||
|
@ -65,6 +73,7 @@ impl Default for CargoConfig {
|
|||
all_features: true,
|
||||
features: Vec::new(),
|
||||
load_out_dirs_from_check: false,
|
||||
rustc: RustcConfig { default_target: None },
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -160,6 +169,9 @@ impl CargoWorkspace {
|
|||
if let Some(parent) = cargo_toml.parent() {
|
||||
meta.current_dir(parent);
|
||||
}
|
||||
if let Some(target) = cargo_features.rustc.default_target.as_ref() {
|
||||
meta.other_options(&[String::from("--filter-platform"), target.clone()]);
|
||||
}
|
||||
let meta = meta.exec().with_context(|| {
|
||||
format!("Failed to run `cargo metadata --manifest-path {}`", cargo_toml.display())
|
||||
})?;
|
||||
|
|
|
@ -134,6 +134,7 @@ impl Config {
|
|||
set(value, "/cargo/allFeatures", &mut self.cargo.all_features);
|
||||
set(value, "/cargo/features", &mut self.cargo.features);
|
||||
set(value, "/cargo/loadOutDirsFromCheck", &mut self.cargo.load_out_dirs_from_check);
|
||||
set(value, "/cargo/rustc/defaultTarget", &mut self.cargo.rustc.default_target);
|
||||
|
||||
match get(value, "/procMacro/enable") {
|
||||
Some(true) => {
|
||||
|
|
|
@ -237,6 +237,14 @@
|
|||
"default": false,
|
||||
"markdownDescription": "Run `cargo check` on startup to get the correct value for package OUT_DIRs"
|
||||
},
|
||||
"rust-analyzer.cargo.rustc.defaultTarget": {
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
],
|
||||
"default": null,
|
||||
"description": "Specify the default target"
|
||||
},
|
||||
"rust-analyzer.rustfmt.extraArgs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
|
|
Loading…
Reference in a new issue