From 049f8df93cca05af395ce873738dc85d5a25f3fc Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Wed, 21 Nov 2018 12:57:05 +0300 Subject: switch completion to new scope --- crates/ra_analysis/src/completion/mod.rs | 10 ++++----- .../src/completion/reference_completion.rs | 26 +++++++++++++--------- 2 files changed, 21 insertions(+), 15 deletions(-) (limited to 'crates/ra_analysis/src/completion') diff --git a/crates/ra_analysis/src/completion/mod.rs b/crates/ra_analysis/src/completion/mod.rs index 5e3ee79dd..a8a752fc7 100644 --- a/crates/ra_analysis/src/completion/mod.rs +++ b/crates/ra_analysis/src/completion/mod.rs @@ -204,9 +204,9 @@ mod tests { <|> } ", - r#"[CompletionItem { label: "Foo", lookup: None, snippet: None }, - CompletionItem { label: "Baz", lookup: None, snippet: None }, - CompletionItem { label: "quux", lookup: None, snippet: None }]"#, + r#"[CompletionItem { label: "quux", lookup: None, snippet: None }, + CompletionItem { label: "Foo", lookup: None, snippet: None }, + CompletionItem { label: "Baz", lookup: None, snippet: None }]"#, ); } @@ -230,8 +230,8 @@ mod tests { fn quux() { <|> } } ", - r#"[CompletionItem { label: "Bar", lookup: None, snippet: None }, - CompletionItem { label: "quux", lookup: None, snippet: None }]"#, + r#"[CompletionItem { label: "quux", lookup: None, snippet: None }, + CompletionItem { label: "Bar", lookup: None, snippet: None }]"#, ); } diff --git a/crates/ra_analysis/src/completion/reference_completion.rs b/crates/ra_analysis/src/completion/reference_completion.rs index c94d9af75..84383b547 100644 --- a/crates/ra_analysis/src/completion/reference_completion.rs +++ b/crates/ra_analysis/src/completion/reference_completion.rs @@ -39,14 +39,17 @@ pub(super) fn completions( let module_scope = module.scope(db)?; acc.extend( module_scope - .entries() + .items .iter() - .filter(|entry| { + .filter(|(_name, res)| { // Don't expose this item - !entry.ptr().range().is_subrange(&name_ref.syntax().range()) + match res.import_name { + None => true, + Some(ptr) => !ptr.range().is_subrange(&name_ref.syntax().range()), + } }) - .map(|entry| CompletionItem { - label: entry.name().to_string(), + .map(|(name, _res)| CompletionItem { + label: name.to_string(), lookup: None, snippet: None, }), @@ -173,11 +176,14 @@ fn complete_path( Some(it) => it, }; let module_scope = target_module.scope(db)?; - let completions = module_scope.entries().iter().map(|entry| CompletionItem { - label: entry.name().to_string(), - lookup: None, - snippet: None, - }); + let completions = module_scope + .items + .iter() + .map(|(name, _res)| CompletionItem { + label: name.to_string(), + lookup: None, + snippet: None, + }); acc.extend(completions); Ok(()) } -- cgit v1.2.3