diff options
Diffstat (limited to 'crates/ide_completion/src/item.rs')
-rw-r--r-- | crates/ide_completion/src/item.rs | 43 |
1 files changed, 23 insertions, 20 deletions
diff --git a/crates/ide_completion/src/item.rs b/crates/ide_completion/src/item.rs index 0390fe226..d01620500 100644 --- a/crates/ide_completion/src/item.rs +++ b/crates/ide_completion/src/item.rs | |||
@@ -275,7 +275,6 @@ impl CompletionItem { | |||
275 | pub struct ImportEdit { | 275 | pub struct ImportEdit { |
276 | pub import: LocatedImport, | 276 | pub import: LocatedImport, |
277 | pub import_scope: ImportScope, | 277 | pub import_scope: ImportScope, |
278 | pub import_for_trait_assoc_item: bool, | ||
279 | } | 278 | } |
280 | 279 | ||
281 | impl ImportEdit { | 280 | impl ImportEdit { |
@@ -286,7 +285,7 @@ impl ImportEdit { | |||
286 | 285 | ||
287 | let rewriter = insert_use::insert_use( | 286 | let rewriter = insert_use::insert_use( |
288 | &self.import_scope, | 287 | &self.import_scope, |
289 | mod_path_to_ast(self.import.import_path()), | 288 | mod_path_to_ast(&self.import.import_path), |
290 | cfg, | 289 | cfg, |
291 | ); | 290 | ); |
292 | let old_ast = rewriter.rewrite_root()?; | 291 | let old_ast = rewriter.rewrite_root()?; |
@@ -303,6 +302,7 @@ impl ImportEdit { | |||
303 | pub(crate) struct Builder { | 302 | pub(crate) struct Builder { |
304 | source_range: TextRange, | 303 | source_range: TextRange, |
305 | completion_kind: CompletionKind, | 304 | completion_kind: CompletionKind, |
305 | // TODO kb also add a db here, to resolve the completion label? | ||
306 | import_to_add: Option<ImportEdit>, | 306 | import_to_add: Option<ImportEdit>, |
307 | label: String, | 307 | label: String, |
308 | insert_text: Option<String>, | 308 | insert_text: Option<String>, |
@@ -322,19 +322,22 @@ impl Builder { | |||
322 | pub(crate) fn build(self) -> CompletionItem { | 322 | pub(crate) fn build(self) -> CompletionItem { |
323 | let _p = profile::span("item::Builder::build"); | 323 | let _p = profile::span("item::Builder::build"); |
324 | 324 | ||
325 | let mut label = self.label; | 325 | let label = self.label; |
326 | let mut lookup = self.lookup; | 326 | let lookup = self.lookup; |
327 | let mut insert_text = self.insert_text; | 327 | let insert_text = self.insert_text; |
328 | 328 | ||
329 | if let Some(import_to_add) = self.import_to_add.as_ref() { | 329 | if let Some(_import_to_add) = self.import_to_add.as_ref() { |
330 | lookup = lookup.or_else(|| Some(label.clone())); | 330 | todo!("todo kb") |
331 | insert_text = insert_text.or_else(|| Some(label.clone())); | 331 | // let import = &import_to_add.import; |
332 | let display_path = import_to_add.import.display_path(); | 332 | // let item_to_import = import.item_to_import(); |
333 | if import_to_add.import_for_trait_assoc_item { | 333 | // lookup = lookup.or_else(|| Some(label.clone())); |
334 | label = format!("{} ({})", label, display_path); | 334 | // insert_text = insert_text.or_else(|| Some(label.clone())); |
335 | } else { | 335 | // let display_path = import_to_add.import.display_path(); |
336 | label = display_path.to_string(); | 336 | // if import_to_add.import { |
337 | } | 337 | // label = format!("{} ({})", label, display_path); |
338 | // } else { | ||
339 | // label = display_path.to_string(); | ||
340 | // } | ||
338 | } | 341 | } |
339 | 342 | ||
340 | let text_edit = match self.text_edit { | 343 | let text_edit = match self.text_edit { |
@@ -438,8 +441,8 @@ impl Builder { | |||
438 | } | 441 | } |
439 | } | 442 | } |
440 | 443 | ||
441 | impl<'a> Into<CompletionItem> for Builder { | 444 | // impl<'a> Into<CompletionItem> for Builder { |
442 | fn into(self) -> CompletionItem { | 445 | // fn into(self) -> CompletionItem { |
443 | self.build() | 446 | // self.build() |
444 | } | 447 | // } |
445 | } | 448 | // } |