diff options
| author | Yunfei <i.heyunfei@gmail.com> | 2024-07-29 15:55:21 +0800 |
|---|---|---|
| committer | Yunfei <i.heyunfei@gmail.com> | 2024-07-29 15:55:21 +0800 |
| commit | 55c703bca7b8d520c7550768930ec7637942dfb7 (patch) | |
| tree | 1899006b5668545c96bed22a79ae9146156f90ca | |
| parent | 48fb66be7a657839bdf8f42ae06fc17893c2d162 (diff) | |
| download | rust-55c703bca7b8d520c7550768930ec7637942dfb7.tar.gz rust-55c703bca7b8d520c7550768930ec7637942dfb7.zip | |
feat(ide-completion): explictly show `async` keyword on `impl trait`
| -rw-r--r-- | src/tools/rust-analyzer/crates/ide-completion/src/completions/item_list/trait_impl.rs | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/tools/rust-analyzer/crates/ide-completion/src/completions/item_list/trait_impl.rs b/src/tools/rust-analyzer/crates/ide-completion/src/completions/item_list/trait_impl.rs index f9dc62562f8..4a1f985b307 100644 --- a/src/tools/rust-analyzer/crates/ide-completion/src/completions/item_list/trait_impl.rs +++ b/src/tools/rust-analyzer/crates/ide-completion/src/completions/item_list/trait_impl.rs @@ -180,8 +180,10 @@ fn add_function_impl( ) { let fn_name = func.name(ctx.db); + let is_async = func.is_async(ctx.db); let label = format_smolstr!( - "fn {}({})", + "{}fn {}({})", + if is_async { "async " } else { "" }, fn_name.display(ctx.db), if func.assoc_fn_params(ctx.db).is_empty() { "" } else { ".." } ); @@ -193,7 +195,7 @@ fn add_function_impl( }); let mut item = CompletionItem::new(completion_kind, replacement_range, label); - item.lookup_by(format!("fn {}", fn_name.display(ctx.db))) + item.lookup_by(format!("{}fn {}", if is_async { "async "} else { "" },fn_name.display(ctx.db))) .set_documentation(func.docs(ctx.db)) .set_relevance(CompletionRelevance { is_item_from_trait: true, ..Default::default() }); |
