Split pub fn cargo_load into pub fn load_workspace_at and pub fn load_workspace

This commit is contained in:
Vincent Esche
2021-02-16 00:26:47 +01:00
parent cc49502ab4
commit 1a44168260
6 changed files with 50 additions and 41 deletions

View File

@@ -1,19 +1,18 @@
//! Applies structured search replace rules from the command line.
use crate::cli::{
load_cargo::{load_cargo, LoadCargoConfig},
load_cargo::{load_workspace_at, LoadCargoConfig},
Result,
};
use ssr::{MatchFinder, SsrPattern, SsrRule};
pub fn apply_ssr_rules(rules: Vec<SsrRule>) -> Result<()> {
use ide_db::base_db::SourceDatabaseExt;
let load_cargo_config = LoadCargoConfig {
cargo_config: Default::default(),
load_out_dirs_from_check: true,
with_proc_macro: true,
};
let (host, vfs) = load_cargo(&std::env::current_dir()?, &load_cargo_config)?;
let cargo_config = Default::default();
let load_cargo_config =
LoadCargoConfig { load_out_dirs_from_check: true, with_proc_macro: true };
let (host, vfs) =
load_workspace_at(&std::env::current_dir()?, &cargo_config, &load_cargo_config, &|_| {})?;
let db = host.raw_database();
let mut match_finder = MatchFinder::at_first_file(db)?;
for rule in rules {
@@ -36,12 +35,11 @@ pub fn apply_ssr_rules(rules: Vec<SsrRule>) -> Result<()> {
pub fn search_for_patterns(patterns: Vec<SsrPattern>, debug_snippet: Option<String>) -> Result<()> {
use ide_db::base_db::SourceDatabaseExt;
use ide_db::symbol_index::SymbolsDatabase;
let load_cargo_config = LoadCargoConfig {
cargo_config: Default::default(),
load_out_dirs_from_check: true,
with_proc_macro: true,
};
let (host, _vfs) = load_cargo(&std::env::current_dir()?, &load_cargo_config)?;
let cargo_config = Default::default();
let load_cargo_config =
LoadCargoConfig { load_out_dirs_from_check: true, with_proc_macro: true };
let (host, _vfs) =
load_workspace_at(&std::env::current_dir()?, &cargo_config, &load_cargo_config, &|_| {})?;
let db = host.raw_database();
let mut match_finder = MatchFinder::at_first_file(db)?;
for pattern in patterns {