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 | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/crates/ide_completion/src/completions/flyimport.rs b/crates/ide_completion/src/completions/flyimport.rs index cbfe89b911..1eb45036a9 100644 --- a/crates/ide_completion/src/completions/flyimport.rs +++ b/crates/ide_completion/src/completions/flyimport.rs @@ -163,11 +163,11 @@ pub(crate) fn position_for_import<'a>( import_candidate: Option<&ImportCandidate>, ) -> Option<&'a SyntaxNode> { Some(match import_candidate { - Some(ImportCandidate::Path(_)) => ctx.name_ref_syntax.as_ref()?.syntax(), + Some(ImportCandidate::Path(_)) => ctx.name_syntax.as_ref()?.syntax(), Some(ImportCandidate::TraitAssocItem(_)) => ctx.path_qual()?.syntax(), Some(ImportCandidate::TraitMethod(_)) => ctx.dot_receiver()?.syntax(), None => ctx - .name_ref_syntax + .name_syntax .as_ref() .map(|name_ref| name_ref.syntax()) .or_else(|| ctx.path_qual().map(|path| path.syntax())) @@ -1203,4 +1203,21 @@ mod mud { "#]], ); } + + #[test] + fn flyimport_pattern() { + check( + r#" +mod module { + pub struct Struct; +} +fn function() { + let Str$0 +} +"#, + expect![[r#" + st Struct (use module::Struct) + "#]], + ); + } } |