From 8cc0c7f420d7d59a4fd162d893eaad54aa4b7f22 Mon Sep 17 00:00:00 2001 From: Edwin Cheng Date: Sun, 14 Mar 2021 18:31:14 +0800 Subject: Add no-sysroot flag for analysis-stats --- crates/rust-analyzer/src/bin/flags.rs | 3 +++ crates/rust-analyzer/src/bin/main.rs | 1 + crates/rust-analyzer/src/cli/analysis_stats.rs | 5 ++++- 3 files changed, 8 insertions(+), 1 deletion(-) (limited to 'crates') diff --git a/crates/rust-analyzer/src/bin/flags.rs b/crates/rust-analyzer/src/bin/flags.rs index 3a7caaf3f..d8987633d 100644 --- a/crates/rust-analyzer/src/bin/flags.rs +++ b/crates/rust-analyzer/src/bin/flags.rs @@ -65,6 +65,8 @@ xflags::xflags! { optional -o, --only path: String /// Also analyze all dependencies. optional --with-deps + /// Don't load sysroot crates (`std`, `core` & friends). + optional --no-sysroot /// Load OUT_DIR values by running `cargo check` before analysis. optional --load-output-dirs @@ -176,6 +178,7 @@ pub struct AnalysisStats { pub memory_usage: bool, pub only: Option, pub with_deps: bool, + pub no_sysroot: bool, pub load_output_dirs: bool, pub with_proc_macro: bool, } diff --git a/crates/rust-analyzer/src/bin/main.rs b/crates/rust-analyzer/src/bin/main.rs index 288847980..a0b611bff 100644 --- a/crates/rust-analyzer/src/bin/main.rs +++ b/crates/rust-analyzer/src/bin/main.rs @@ -74,6 +74,7 @@ fn try_main() -> Result<()> { memory_usage: cmd.memory_usage, only: cmd.only, with_deps: cmd.with_deps, + no_sysroot: cmd.no_sysroot, path: cmd.path, load_output_dirs: cmd.load_output_dirs, with_proc_macro: cmd.with_proc_macro, diff --git a/crates/rust-analyzer/src/cli/analysis_stats.rs b/crates/rust-analyzer/src/cli/analysis_stats.rs index c81c1d26e..9c59e7ee4 100644 --- a/crates/rust-analyzer/src/cli/analysis_stats.rs +++ b/crates/rust-analyzer/src/cli/analysis_stats.rs @@ -19,6 +19,7 @@ use ide_db::base_db::{ }; use itertools::Itertools; use oorandom::Rand32; +use project_model::CargoConfig; use rayon::prelude::*; use rustc_hash::FxHashSet; use stdx::format_to; @@ -46,6 +47,7 @@ pub struct AnalysisStatsCmd { pub memory_usage: bool, pub only: Option, pub with_deps: bool, + pub no_sysroot: bool, pub path: PathBuf, pub load_output_dirs: bool, pub with_proc_macro: bool, @@ -59,7 +61,8 @@ impl AnalysisStatsCmd { }; let mut db_load_sw = self.stop_watch(); - let cargo_config = Default::default(); + let mut cargo_config = CargoConfig::default(); + cargo_config.no_sysroot = self.no_sysroot; let load_cargo_config = LoadCargoConfig { load_out_dirs_from_check: self.load_output_dirs, with_proc_macro: self.with_proc_macro, -- cgit v1.2.3