aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_ide/src/ssr.rs
diff options
context:
space:
mode:
authorDavid Lattimore <[email protected]>2020-07-22 06:00:28 +0100
committerDavid Lattimore <[email protected]>2020-07-24 12:34:00 +0100
commit3975952601888d9f77e466c12e8e389748984b33 (patch)
treee599abf34b90be63e091ea78bfa58fe46cf1b81a /crates/ra_ide/src/ssr.rs
parent02fc3d50ee4d179cc5a443a790544c2a5e439cb0 (diff)
SSR: Pass current file position through to SSR code.
In a subsequent commit, it will be used for resolving paths.
Diffstat (limited to 'crates/ra_ide/src/ssr.rs')
-rw-r--r--crates/ra_ide/src/ssr.rs6
1 files changed, 4 insertions, 2 deletions
diff --git a/crates/ra_ide/src/ssr.rs b/crates/ra_ide/src/ssr.rs
index ca7e0ad86..3e2705d62 100644
--- a/crates/ra_ide/src/ssr.rs
+++ b/crates/ra_ide/src/ssr.rs
@@ -1,3 +1,4 @@
1use ra_db::FilePosition;
1use ra_ide_db::RootDatabase; 2use ra_ide_db::RootDatabase;
2 3
3use crate::SourceFileEdit; 4use crate::SourceFileEdit;
@@ -42,12 +43,13 @@ pub fn parse_search_replace(
42 rule: &str, 43 rule: &str,
43 parse_only: bool, 44 parse_only: bool,
44 db: &RootDatabase, 45 db: &RootDatabase,
46 position: FilePosition,
45) -> Result<Vec<SourceFileEdit>, SsrError> { 47) -> Result<Vec<SourceFileEdit>, SsrError> {
46 let rule: SsrRule = rule.parse()?; 48 let rule: SsrRule = rule.parse()?;
49 let mut match_finder = MatchFinder::in_context(db, position);
50 match_finder.add_rule(rule);
47 if parse_only { 51 if parse_only {
48 return Ok(Vec::new()); 52 return Ok(Vec::new());
49 } 53 }
50 let mut match_finder = MatchFinder::new(db);
51 match_finder.add_rule(rule);
52 Ok(match_finder.edits()) 54 Ok(match_finder.edits())
53} 55}