aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_ide_api/src/completion/completion_item.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/ra_ide_api/src/completion/completion_item.rs')
-rw-r--r--crates/ra_ide_api/src/completion/completion_item.rs16
1 files changed, 4 insertions, 12 deletions
diff --git a/crates/ra_ide_api/src/completion/completion_item.rs b/crates/ra_ide_api/src/completion/completion_item.rs
index 92e6e78bf..7b8972af0 100644
--- a/crates/ra_ide_api/src/completion/completion_item.rs
+++ b/crates/ra_ide_api/src/completion/completion_item.rs
@@ -105,10 +105,7 @@ impl CompletionItem {
105 } 105 }
106 /// What string is used for filtering. 106 /// What string is used for filtering.
107 pub fn lookup(&self) -> &str { 107 pub fn lookup(&self) -> &str {
108 self.lookup 108 self.lookup.as_ref().map(|it| it.as_str()).unwrap_or_else(|| self.label())
109 .as_ref()
110 .map(|it| it.as_str())
111 .unwrap_or_else(|| self.label())
112 } 109 }
113 110
114 pub fn insert_text_format(&self) -> InsertTextFormat { 111 pub fn insert_text_format(&self) -> InsertTextFormat {
@@ -214,10 +211,7 @@ impl Builder {
214 ) -> Builder { 211 ) -> Builder {
215 use hir::ModuleDef::*; 212 use hir::ModuleDef::*;
216 213
217 let def = resolution 214 let def = resolution.as_ref().take_types().or_else(|| resolution.as_ref().take_values());
218 .as_ref()
219 .take_types()
220 .or_else(|| resolution.as_ref().take_values());
221 let def = match def { 215 let def = match def {
222 None => return self, 216 None => return self,
223 Some(it) => it, 217 Some(it) => it,
@@ -323,10 +317,8 @@ pub(crate) fn check_completion(test_name: &str, code: &str, kind: CompletionKind
323 }; 317 };
324 let completions = completions(&analysis.db, position).unwrap(); 318 let completions = completions(&analysis.db, position).unwrap();
325 let completion_items: Vec<CompletionItem> = completions.into(); 319 let completion_items: Vec<CompletionItem> = completions.into();
326 let mut kind_completions: Vec<CompletionItem> = completion_items 320 let mut kind_completions: Vec<CompletionItem> =
327 .into_iter() 321 completion_items.into_iter().filter(|c| c.completion_kind == kind).collect();
328 .filter(|c| c.completion_kind == kind)
329 .collect();
330 kind_completions.sort_by_key(|c| c.label.clone()); 322 kind_completions.sort_by_key(|c| c.label.clone());
331 assert_debug_snapshot_matches!(test_name, kind_completions); 323 assert_debug_snapshot_matches!(test_name, kind_completions);
332} 324}