rust/crates/hir/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
..
semantics Add BindingId 2023-03-06 21:09:08 +03:30
attrs.rs Lower and handle trait aliases in HIR 2023-03-04 00:24:07 +09:00
db.rs internal: Rename AstDatabase to ExpandDatabase 2023-03-13 16:35:41 +01:00
diagnostics.rs lint incoherent inherent impls 2023-03-14 19:20:44 +01:00
display.rs Lower and handle trait aliases in HIR 2023-03-04 00:24:07 +09:00
from_id.rs Add BindingId 2023-03-06 21:09:08 +03:30
has_source.rs Partially support "overloaded deref" MIR lowering 2023-03-06 21:09:09 +03:30
lib.rs Cleanup crate_graph construction 2023-03-31 14:14:04 +02:00
semantics.rs Add doc-alias based completion 2023-03-29 14:08:25 +02:00
source_analyzer.rs Simplify 2023-03-30 09:21:10 +02:00
symbols.rs Lower and handle trait aliases in HIR 2023-03-04 00:24:07 +09:00