rust/crates/ide-completion/src
bors 265f83031f Auto merge of #14433 - hecatia-elegua:alias-based-completion, r=Veykril
Add doc-alias based completion

Closes #14406.

I adapted the parsing code from the CfgExpr parsing code, maybe there's a better abstraction for both, or attribute parsing in general. It also includes `doc(hidden)`-parsing, which means it could replace the other function.
There are a few tests for parsing.

`process_all_names` changed the most, I added some docs there to explain what happens.

Many call sites just pass an empy vec to `add_path_resolution`'s `doc_aliases`, since either it doesn't make sense to pass anything (e.g. visibility completion) or I don't know where to get them from. Shouldn't really matter, as it will just not show aliases if the vec is empty and we can extend alias completion in these cases later.

I added two tests in `special.rs` for struct name completion (which was the main thing I wanted). I also tried function and field names, but these don't work yet. I want to add those in a follow-up PR.
2023-04-05 13:44:51 +00:00
..
completions Add doc-alias based completion 2023-03-29 14:08:25 +02:00
context Auto merge of #13789 - feniljain:fix_enum_completion, r=Veykril 2023-03-18 07:06:27 +00:00
render Auto merge of #13789 - feniljain:fix_enum_completion, r=Veykril 2023-03-18 07:06:27 +00:00
tests Add doc-alias based completion 2023-03-29 14:08:25 +02:00
completions.rs Add doc-alias based completion 2023-03-29 14:08:25 +02:00
config.rs ⬆️ rust-analyzer 2023-02-13 13:55:14 +02:00
context.rs Address review comments part 1 2023-03-30 17:35:57 +02:00
item.rs Address review comments part 1 2023-03-30 17:35:57 +02:00
lib.rs Add doc-alias based completion 2023-03-29 14:08:25 +02:00
render.rs Add doc-alias based completion 2023-03-29 14:08:25 +02:00
snippet.rs ⬆️ rust-analyzer 2023-01-09 10:36:22 -08:00
tests.rs internal: Set Durability to HIGH for enable_proc_attr_macros input 2023-03-30 15:11:22 +02:00