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.
This commit is contained in:
bors 2023-05-26 06:25:34 +00:00
commit 615aaa4751
2 changed files with 7 additions and 1 deletions

View File

@ -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 {

View File

@ -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());