Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide-completion/src/completions/postfix.rs')
| -rw-r--r-- | crates/ide-completion/src/completions/postfix.rs | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/crates/ide-completion/src/completions/postfix.rs b/crates/ide-completion/src/completions/postfix.rs index cc2a443700..be0f674889 100644 --- a/crates/ide-completion/src/completions/postfix.rs +++ b/crates/ide-completion/src/completions/postfix.rs @@ -13,9 +13,8 @@ use text_edit::TextEdit; use crate::{ completions::postfix::format_like::add_format_like_completions, - context::CompletionContext, + context::{CompletionContext, DotAccess, NameRefContext}, item::{Builder, CompletionRelevancePostfixMatch}, - patterns::ImmediateLocation, CompletionItem, CompletionItemKind, CompletionRelevance, Completions, SnippetScope, }; @@ -24,11 +23,15 @@ pub(crate) fn complete_postfix(acc: &mut Completions, ctx: &CompletionContext) { return; } - let (dot_receiver, receiver_is_ambiguous_float_literal) = match &ctx.completion_location { - Some(ImmediateLocation::MethodCall { receiver: Some(it), .. }) => (it, false), - Some(ImmediateLocation::FieldAccess { - receiver: Some(it), - receiver_is_ambiguous_float_literal, + let (dot_receiver, receiver_is_ambiguous_float_literal) = match ctx.nameref_ctx() { + Some(NameRefContext { + dot_access: Some(DotAccess::Method { receiver: Some(it), .. }), + .. + }) => (it, false), + Some(NameRefContext { + dot_access: + Some(DotAccess::Field { receiver: Some(it), receiver_is_ambiguous_float_literal }), + .. }) => (it, *receiver_is_ambiguous_float_literal), _ => return, }; |