From 3d80e0a15417ccf731a68e3100dfb4c7619c9274 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Thu, 4 Mar 2021 14:52:36 +0300 Subject: Migrate to user-centric config name for `cargo check` stuff --- crates/rust-analyzer/src/config.rs | 11 +++++------ crates/rust-analyzer/src/main_loop.rs | 2 +- crates/rust-analyzer/src/reload.rs | 2 +- 3 files changed, 7 insertions(+), 8 deletions(-) (limited to 'crates') diff --git a/crates/rust-analyzer/src/config.rs b/crates/rust-analyzer/src/config.rs index 556fc2eeb..367136702 100644 --- a/crates/rust-analyzer/src/config.rs +++ b/crates/rust-analyzer/src/config.rs @@ -46,8 +46,8 @@ config_data! { cargo_allFeatures: bool = "false", /// List of features to activate. cargo_features: Vec = "[]", - /// Run `cargo check` on startup to get the correct value for package - /// OUT_DIRs. + /// Run build scripts (`build.rs`) for more precise code analysis. + cargo_runBuildScripts | cargo_loadOutDirsFromCheck: bool = "false", /// Do not activate the `default` feature. cargo_noDefaultFeatures: bool = "false", @@ -167,8 +167,7 @@ config_data! { /// Whether to show `can't find Cargo.toml` error message. notifications_cargoTomlNotFound: bool = "true", - /// Enable Proc macro support, `#rust-analyzer.cargo.loadOutDirsFromCheck#` must be - /// enabled. + /// Enable support for procedural macros, implies `#rust-analyzer.cargo.runBuildScripts#`. procMacro_enable: bool = "false", /// Internal config, path to proc-macro server executable (typically, /// this is rust-analyzer itself, but we override this in tests). @@ -480,8 +479,8 @@ impl Config { pub fn cargo_autoreload(&self) -> bool { self.data.cargo_autoreload } - pub fn load_out_dirs_from_check(&self) -> bool { - self.data.cargo_loadOutDirsFromCheck + pub fn run_build_scripts(&self) -> bool { + self.data.cargo_runBuildScripts || self.data.procMacro_enable } pub fn cargo(&self) -> CargoConfig { let rustc_source = self.data.rustcSource.as_ref().map(|rustc_src| { diff --git a/crates/rust-analyzer/src/main_loop.rs b/crates/rust-analyzer/src/main_loop.rs index 2829d5970..f0cb309e4 100644 --- a/crates/rust-analyzer/src/main_loop.rs +++ b/crates/rust-analyzer/src/main_loop.rs @@ -312,7 +312,7 @@ impl GlobalState { } else { assert_eq!(n_done, n_total); new_status = Status::Ready { - partial: self.config.load_out_dirs_from_check() + partial: self.config.run_build_scripts() && self.workspace_build_data.is_none() || config_version < self.vfs_config_version, }; diff --git a/crates/rust-analyzer/src/reload.rs b/crates/rust-analyzer/src/reload.rs index c07efa330..aa8504c3d 100644 --- a/crates/rust-analyzer/src/reload.rs +++ b/crates/rust-analyzer/src/reload.rs @@ -337,7 +337,7 @@ impl GlobalState { }; change.set_crate_graph(crate_graph); - if self.config.load_out_dirs_from_check() && workspace_build_data.is_none() { + if self.config.run_build_scripts() && workspace_build_data.is_none() { let mut collector = BuildDataCollector::default(); for ws in &workspaces { ws.collect_build_data_configs(&mut collector); -- cgit v1.2.3