diff options
Diffstat (limited to 'crates/assists/src/handlers/auto_import.rs')
-rw-r--r-- | crates/assists/src/handlers/auto_import.rs | 33 |
1 files changed, 31 insertions, 2 deletions
diff --git a/crates/assists/src/handlers/auto_import.rs b/crates/assists/src/handlers/auto_import.rs index 5a1b5a4ac..fa524ffd9 100644 --- a/crates/assists/src/handlers/auto_import.rs +++ b/crates/assists/src/handlers/auto_import.rs | |||
@@ -192,10 +192,10 @@ impl AutoImportAssets { | |||
192 | }) | 192 | }) |
193 | .filter_map(|candidate| match candidate { | 193 | .filter_map(|candidate| match candidate { |
194 | Either::Left(module_def) => { | 194 | Either::Left(module_def) => { |
195 | self.module_with_name_to_import.find_use_path(db, module_def) | 195 | self.module_with_name_to_import.find_use_path_prefixed(db, module_def) |
196 | } | 196 | } |
197 | Either::Right(macro_def) => { | 197 | Either::Right(macro_def) => { |
198 | self.module_with_name_to_import.find_use_path(db, macro_def) | 198 | self.module_with_name_to_import.find_use_path_prefixed(db, macro_def) |
199 | } | 199 | } |
200 | }) | 200 | }) |
201 | .filter(|use_path| !use_path.segments.is_empty()) | 201 | .filter(|use_path| !use_path.segments.is_empty()) |
@@ -287,6 +287,35 @@ mod tests { | |||
287 | use crate::tests::{check_assist, check_assist_not_applicable, check_assist_target}; | 287 | use crate::tests::{check_assist, check_assist_not_applicable, check_assist_target}; |
288 | 288 | ||
289 | #[test] | 289 | #[test] |
290 | fn applicable_when_found_an_import_partial() { | ||
291 | check_assist( | ||
292 | auto_import, | ||
293 | r" | ||
294 | mod std { | ||
295 | pub mod fmt { | ||
296 | pub struct Formatter; | ||
297 | } | ||
298 | } | ||
299 | |||
300 | use std::fmt; | ||
301 | |||
302 | <|>Formatter | ||
303 | ", | ||
304 | r" | ||
305 | mod std { | ||
306 | pub mod fmt { | ||
307 | pub struct Formatter; | ||
308 | } | ||
309 | } | ||
310 | |||
311 | use std::fmt::{self, Formatter}; | ||
312 | |||
313 | Formatter | ||
314 | ", | ||
315 | ); | ||
316 | } | ||
317 | |||
318 | #[test] | ||
290 | fn applicable_when_found_an_import() { | 319 | fn applicable_when_found_an_import() { |
291 | check_assist( | 320 | check_assist( |
292 | auto_import, | 321 | auto_import, |