Unnamed repository; edit this file 'description' to name the repository.
Auto merge of #14894 - Wilfred:index_scip_path, r=lnicola
Allow users to override the .scip output file path Previously, rust-analyzer would write to the file index.scip unconditionally.
bors 2023-05-26
parent 06d02e0 · parent 5b0e170 · commit 615aaa4
-rw-r--r--crates/rust-analyzer/src/cli/flags.rs4
-rw-r--r--crates/rust-analyzer/src/cli/scip.rs4
2 files changed, 7 insertions, 1 deletions
diff --git a/crates/rust-analyzer/src/cli/flags.rs b/crates/rust-analyzer/src/cli/flags.rs
index 6b5a79b431..31012c01b9 100644
--- a/crates/rust-analyzer/src/cli/flags.rs
+++ b/crates/rust-analyzer/src/cli/flags.rs
@@ -112,6 +112,9 @@ xflags::xflags! {
cmd scip {
required path: PathBuf
+
+ /// The output path where the SCIP file will be written to. Defaults to `index.scip`.
+ optional --output path: PathBuf
}
}
}
@@ -208,6 +211,7 @@ pub struct Lsif {
#[derive(Debug)]
pub struct Scip {
pub path: PathBuf,
+ pub output: Option<PathBuf>,
}
impl RustAnalyzer {
diff --git a/crates/rust-analyzer/src/cli/scip.rs b/crates/rust-analyzer/src/cli/scip.rs
index 61924d5843..b0b724bdfe 100644
--- a/crates/rust-analyzer/src/cli/scip.rs
+++ b/crates/rust-analyzer/src/cli/scip.rs
@@ -2,6 +2,7 @@
use std::{
collections::{HashMap, HashSet},
+ path::PathBuf,
time::Instant,
};
@@ -165,7 +166,8 @@ impl flags::Scip {
special_fields: Default::default(),
};
- scip::write_message_to_file("index.scip", index)
+ let out_path = self.output.unwrap_or_else(|| PathBuf::from(r"index.scip"));
+ scip::write_message_to_file(out_path, index)
.map_err(|err| anyhow::anyhow!("Failed to write scip to file: {}", err))?;
eprintln!("Generating SCIP finished {:?}", now.elapsed());