aboutsummaryrefslogtreecommitdiff
path: root/crates/ide_completion/src/item.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/ide_completion/src/item.rs')
-rw-r--r--crates/ide_completion/src/item.rs43
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 {
275pub struct ImportEdit { 275pub 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
281impl ImportEdit { 280impl 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 {
303pub(crate) struct Builder { 302pub(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
441impl<'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// }