Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide-completion/src/completions/item_list/trait_impl.rs')
| -rw-r--r-- | crates/ide-completion/src/completions/item_list/trait_impl.rs | 23 |
1 files changed, 11 insertions, 12 deletions
diff --git a/crates/ide-completion/src/completions/item_list/trait_impl.rs b/crates/ide-completion/src/completions/item_list/trait_impl.rs index 83d78e1093..972a7d2f21 100644 --- a/crates/ide-completion/src/completions/item_list/trait_impl.rs +++ b/crates/ide-completion/src/completions/item_list/trait_impl.rs @@ -43,8 +43,8 @@ use syntax::{ use text_edit::TextEdit; use crate::{ - context::{ItemListKind, PathCompletionCtx, PathKind}, - CompletionContext, CompletionItem, CompletionItemKind, CompletionRelevance, Completions, + context::PathCompletionCtx, CompletionContext, CompletionItem, CompletionItemKind, + CompletionRelevance, Completions, }; #[derive(Copy, Clone, Debug, PartialEq, Eq)] @@ -102,17 +102,18 @@ fn complete_trait_impl_name( Some(()) } -pub(crate) fn complete_trait_impl_name_ref( +pub(crate) fn complete_trait_impl_item_by_name( acc: &mut Completions, ctx: &CompletionContext, path_ctx: &PathCompletionCtx, name_ref: &Option<ast::NameRef>, -) -> Option<()> { - match path_ctx { - PathCompletionCtx { - kind: PathKind::Item { kind: ItemListKind::TraitImpl(Some(impl_)) }, - .. - } if path_ctx.is_trivial_path() => complete_trait_impl( + impl_: &Option<ast::Impl>, +) { + if !path_ctx.is_trivial_path() { + return; + } + if let Some(impl_) = impl_ { + complete_trait_impl( acc, ctx, ImplCompletionKind::All, @@ -121,10 +122,8 @@ pub(crate) fn complete_trait_impl_name_ref( None => ctx.source_range(), }, impl_, - ), - _ => (), + ); } - Some(()) } fn complete_trait_impl( |