diff options
Diffstat (limited to 'crates/ra_ssr/src/lib.rs')
-rw-r--r-- | crates/ra_ssr/src/lib.rs | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/crates/ra_ssr/src/lib.rs b/crates/ra_ssr/src/lib.rs index 7014a6ac6..73abfecb2 100644 --- a/crates/ra_ssr/src/lib.rs +++ b/crates/ra_ssr/src/lib.rs | |||
@@ -52,6 +52,7 @@ pub struct MatchFinder<'db> { | |||
52 | sema: Semantics<'db, ra_ide_db::RootDatabase>, | 52 | sema: Semantics<'db, ra_ide_db::RootDatabase>, |
53 | rules: Vec<ResolvedRule>, | 53 | rules: Vec<ResolvedRule>, |
54 | resolution_scope: resolving::ResolutionScope<'db>, | 54 | resolution_scope: resolving::ResolutionScope<'db>, |
55 | restrict_ranges: Vec<FileRange>, | ||
55 | } | 56 | } |
56 | 57 | ||
57 | impl<'db> MatchFinder<'db> { | 58 | impl<'db> MatchFinder<'db> { |
@@ -60,10 +61,17 @@ impl<'db> MatchFinder<'db> { | |||
60 | pub fn in_context( | 61 | pub fn in_context( |
61 | db: &'db ra_ide_db::RootDatabase, | 62 | db: &'db ra_ide_db::RootDatabase, |
62 | lookup_context: FilePosition, | 63 | lookup_context: FilePosition, |
64 | mut restrict_ranges: Vec<FileRange>, | ||
63 | ) -> MatchFinder<'db> { | 65 | ) -> MatchFinder<'db> { |
66 | restrict_ranges.retain(|range| !range.range.is_empty()); | ||
64 | let sema = Semantics::new(db); | 67 | let sema = Semantics::new(db); |
65 | let resolution_scope = resolving::ResolutionScope::new(&sema, lookup_context); | 68 | let resolution_scope = resolving::ResolutionScope::new(&sema, lookup_context); |
66 | MatchFinder { sema: Semantics::new(db), rules: Vec::new(), resolution_scope } | 69 | MatchFinder { |
70 | sema: Semantics::new(db), | ||
71 | rules: Vec::new(), | ||
72 | resolution_scope, | ||
73 | restrict_ranges, | ||
74 | } | ||
67 | } | 75 | } |
68 | 76 | ||
69 | /// Constructs an instance using the start of the first file in `db` as the lookup context. | 77 | /// Constructs an instance using the start of the first file in `db` as the lookup context. |
@@ -79,6 +87,7 @@ impl<'db> MatchFinder<'db> { | |||
79 | Ok(MatchFinder::in_context( | 87 | Ok(MatchFinder::in_context( |
80 | db, | 88 | db, |
81 | FilePosition { file_id: first_file_id, offset: 0.into() }, | 89 | FilePosition { file_id: first_file_id, offset: 0.into() }, |
90 | vec![], | ||
82 | )) | 91 | )) |
83 | } else { | 92 | } else { |
84 | bail!("No files to search"); | 93 | bail!("No files to search"); |