about summary refs log tree commit diff
diff options
context:
space:
mode:
authorbors[bot] <26634292+bors[bot]@users.noreply.github.com>2021-06-05 12:29:52 +0000
committerGitHub <noreply@github.com>2021-06-05 12:29:52 +0000
commit5092d8c1ae50010d35f6860b6420a69ddcd9ca45 (patch)
treebb90ff3cd3e5185fe2a4fc35b0d171a6679e691b
parent4c54ec1c3cd45db142d2e4592606b0021cf66033 (diff)
parent18484365e69de06f20c234d57888a4b13ad9442b (diff)
downloadrust-5092d8c1ae50010d35f6860b6420a69ddcd9ca45.tar.gz
rust-5092d8c1ae50010d35f6860b6420a69ddcd9ca45.zip
Merge #9147
9147: internal: enable proc macros and build scripts in cli r=flodiebold a=lnicola



Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
-rw-r--r--crates/rust-analyzer/src/bin/flags.rs24
-rw-r--r--crates/rust-analyzer/src/bin/main.rs6
-rw-r--r--crates/rust-analyzer/src/cli/analysis_stats.rs8
-rw-r--r--xtask/src/metrics.rs5
4 files changed, 21 insertions, 22 deletions
diff --git a/crates/rust-analyzer/src/bin/flags.rs b/crates/rust-analyzer/src/bin/flags.rs
index 63953098a24..19173241b28 100644
--- a/crates/rust-analyzer/src/bin/flags.rs
+++ b/crates/rust-analyzer/src/bin/flags.rs
@@ -67,10 +67,10 @@ xflags::xflags! {
             /// 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
-            /// Use proc-macro-srv for proc-macro expanding.
-            optional --with-proc-macro
+            /// Don't run build scripts or load `OUT_DIR` values by running `cargo check` before analysis.
+            optional --disable-build-scripts
+            /// Don't use expand proc macros.
+            optional --disable-proc-macros
             /// Only resolve names, don't run type inference.
             optional --skip-inference
         }
@@ -79,10 +79,10 @@ xflags::xflags! {
             /// Directory with Cargo.toml.
             required path: PathBuf
         {
-            /// Load OUT_DIR values by running `cargo check` before analysis.
-            optional --load-output-dirs
-            /// Use proc-macro-srv for proc-macro expanding.
-            optional --with-proc-macro
+            /// Don't run build scripts or load `OUT_DIR` values by running `cargo check` before analysis.
+            optional --disable-build-scripts
+            /// Don't use expand proc macros.
+            optional --disable-proc-macros
         }
 
         cmd ssr
@@ -158,8 +158,8 @@ pub struct AnalysisStats {
     pub only: Option<String>,
     pub with_deps: bool,
     pub no_sysroot: bool,
-    pub load_output_dirs: bool,
-    pub with_proc_macro: bool,
+    pub disable_build_scripts: bool,
+    pub disable_proc_macros: bool,
     pub skip_inference: bool,
 }
 
@@ -167,8 +167,8 @@ pub struct AnalysisStats {
 pub struct Diagnostics {
     pub path: PathBuf,
 
-    pub load_output_dirs: bool,
-    pub with_proc_macro: bool,
+    pub disable_build_scripts: bool,
+    pub disable_proc_macros: bool,
 }
 
 #[derive(Debug)]
diff --git a/crates/rust-analyzer/src/bin/main.rs b/crates/rust-analyzer/src/bin/main.rs
index 2b842d39310..afc96505fa3 100644
--- a/crates/rust-analyzer/src/bin/main.rs
+++ b/crates/rust-analyzer/src/bin/main.rs
@@ -91,14 +91,14 @@ fn try_main() -> Result<()> {
             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,
+            enable_build_scripts: !cmd.disable_build_scripts,
+            enable_proc_macros: !cmd.disable_proc_macros,
             skip_inference: cmd.skip_inference,
         }
         .run(verbosity)?,
 
         flags::RustAnalyzerCmd::Diagnostics(cmd) => {
-            cli::diagnostics(&cmd.path, cmd.load_output_dirs, cmd.with_proc_macro)?
+            cli::diagnostics(&cmd.path, !cmd.disable_build_scripts, !cmd.disable_proc_macros)?
         }
         flags::RustAnalyzerCmd::Ssr(cmd) => cli::apply_ssr_rules(cmd.rule)?,
         flags::RustAnalyzerCmd::Search(cmd) => cli::search_for_patterns(cmd.pattern, cmd.debug)?,
diff --git a/crates/rust-analyzer/src/cli/analysis_stats.rs b/crates/rust-analyzer/src/cli/analysis_stats.rs
index 14dbbb20de1..5364e907c09 100644
--- a/crates/rust-analyzer/src/cli/analysis_stats.rs
+++ b/crates/rust-analyzer/src/cli/analysis_stats.rs
@@ -51,8 +51,8 @@ pub struct AnalysisStatsCmd {
     pub with_deps: bool,
     pub no_sysroot: bool,
     pub path: PathBuf,
-    pub load_output_dirs: bool,
-    pub with_proc_macro: bool,
+    pub enable_build_scripts: bool,
+    pub enable_proc_macros: bool,
     pub skip_inference: bool,
 }
 
@@ -67,9 +67,9 @@ impl AnalysisStatsCmd {
         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,
+            load_out_dirs_from_check: self.enable_build_scripts,
             wrap_rustc: false,
-            with_proc_macro: self.with_proc_macro,
+            with_proc_macro: self.enable_proc_macros,
         };
         let (host, vfs, _proc_macro) =
             load_workspace_at(&self.path, &cargo_config, &load_cargo_config, &|_| {})?;
diff --git a/xtask/src/metrics.rs b/xtask/src/metrics.rs
index b0b76b8aac5..34679062f9f 100644
--- a/xtask/src/metrics.rs
+++ b/xtask/src/metrics.rs
@@ -81,9 +81,8 @@ impl Metrics {
     }
     fn measure_analysis_stats_path(&mut self, name: &str, path: &str) -> Result<()> {
         eprintln!("\nMeasuring analysis-stats/{}", name);
-        let output =
-            cmd!("./target/release/rust-analyzer --quiet analysis-stats --memory-usage {path}")
-                .read()?;
+        let output = cmd!("./target/release/rust-analyzer -q analysis-stats --memory-usage {path}")
+            .read()?;
         for (metric, value, unit) in parse_metrics(&output) {
             self.report(&format!("analysis-stats/{}/{}", name, metric), value, unit.into());
         }