Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide_completion/src/completions/flyimport.rs')
| -rw-r--r-- | crates/ide_completion/src/completions/flyimport.rs | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/crates/ide_completion/src/completions/flyimport.rs b/crates/ide_completion/src/completions/flyimport.rs index 6c8878a7bb..ee751f9f77 100644 --- a/crates/ide_completion/src/completions/flyimport.rs +++ b/crates/ide_completion/src/completions/flyimport.rs @@ -141,15 +141,18 @@ pub(crate) fn import_on_the_fly(acc: &mut Completions, ctx: &CompletionContext) &ctx.sema, )?; + let path_kind = match ctx.path_kind() { + Some(kind) => Some(kind), + None if ctx.pattern_ctx.is_some() => Some(PathKind::Pat), + None => None, + }; let ns_filter = |import: &LocatedImport| { - let path_kind = match ctx.path_kind() { - Some(kind) => kind, - None => { - return match import.original_item { - ItemInNs::Macros(mac) => mac.is_fn_like(ctx.db), - _ => true, - } - } + let path_kind = match path_kind { + Some(path_kind) => path_kind, + None => match import.original_item { + ItemInNs::Macros(mac) => return mac.is_fn_like(ctx.db), + _ => return true, + }, }; match (path_kind, import.original_item) { // Aren't handled in flyimport |