Commit Graph

22444 Commits

Author SHA1 Message Date
bors
439a513efb Auto merge of #12597 - Veykril:completions, r=Veykril
fix: Fix auto-ref completions inserting into wrong locations

Fixes https://github.com/rust-lang/rust-analyzer/issues/8058
2022-06-20 18:28:08 +00:00
Lukas Wirth
8b078986dc Reimplement auto-ref completions for fields 2022-06-20 20:22:51 +02:00
Florian Diebold
05ca0a2377 Refactor a bit 2022-06-20 20:21:30 +02:00
Lukas Wirth
46d22719fc Remove pattern rendering hack 2022-06-20 20:16:40 +02:00
Florian Diebold
98a58114a4 Only apply cfg(test) for local crates
Don't analyze dependencies with `test`; this should fix various cases
where crates use `cfg(not(test))` and so we didn't find things.

"Local" here currently means anything that's not from the registry, so
anything inside the workspace, but also path dependencies. So this isn't
perfect, and users might still need to use
`rust-analyzer.cargo.unsetTest` for these in some cases.
2022-06-20 20:10:25 +02:00
Lukas Wirth
06ee4d6222 fix: Fix auto-ref completions inserting into wrong locations 2022-06-20 18:59:57 +02:00
bors
9fdfa9f0ed Auto merge of #12596 - Veykril:completions, r=Veykril
fix: Don't trigger pattern completions when typing a wildcard pattern

Fixes https://github.com/rust-lang/rust-analyzer/issues/12592
2022-06-20 16:03:21 +00:00
Lukas Wirth
1f028403cd fix: Don't trigger pattern completions when typing a wildcard pattern 2022-06-20 18:03:09 +02:00
bors
a1ff3ca0ed Auto merge of #12594 - Veykril:completions, r=Veykril
internal: Lift out IdentContext from CompletionContext

Makes things a bit messy overall, but with this I can start cleaning up the render functions properly now.
cc https://github.com/rust-lang/rust-analyzer/issues/12571
2022-06-20 15:42:31 +00:00
Lukas Wirth
6e9c963348 internal: Lift out IdentContext from CompletionContext 2022-06-20 17:41:04 +02:00
Lukas Wirth
bcf10cde13 internal: Remove previous_token field from CompletionContext 2022-06-20 15:07:48 +02:00
bors
a2e7e4e42c Auto merge of #12588 - Veykril:completions, r=Veykril
internal: More completion reorganizing
2022-06-20 12:50:59 +00:00
Lukas Wirth
90483321ee Remove some usages of Completions::add_resolution 2022-06-20 14:47:30 +02:00
Lukas Wirth
7685245282 Even more completion context filtering 2022-06-20 14:23:46 +02:00
Lukas Wirth
ce5859e387 Lift out PathKind variant fields into structs 2022-06-20 13:29:13 +02:00
Lukas Wirth
5c69df93df Split remaining completion calls on the context kinds 2022-06-20 13:17:30 +02:00
iDawer
4ff9bedbed Display witnesses of non-exhaustive match
Reporting format follows rustc and shows at most three witnesses.
2022-06-20 15:48:09 +05:00
bors
427061da19 Auto merge of #12581 - lnicola:changelog-number, r=lnicola
internal: Handle fractional release numbers in changelog naming
2022-06-19 16:00:33 +00:00
bors
eb9b360752 Auto merge of #12584 - Veykril:attr-diag, r=Veykril
fix: attribute macros not being properly diagnosed

Closes https://github.com/rust-lang/rust-analyzer/issues/12582
2022-06-18 22:38:04 +00:00
Lukas Wirth
013c6a3f75 fix: attribute macros not being properly diagnosed 2022-06-19 00:37:37 +02:00
Laurențiu Nicola
e48ed5316f internal: Handle fractional release numbers in changelog naming 2022-06-18 17:00:28 +03:00
bors
817f46bc6c Auto merge of #12580 - Veykril:completion, r=Veykril
internal: Move more things out of `CompletionContext::function_def` into more specific parts
2022-06-18 09:21:13 +00:00
Lukas Wirth
f271b18129 Consider walking up macro expansions when searching for surrounding entities in completion analysis 2022-06-18 11:19:36 +02:00
Lukas Wirth
c1446a2743 Move CompletionContext::impl_def into corresponding entities 2022-06-18 10:45:53 +02:00
Lukas Wirth
83e8f3ac30 Move CompletionContext::incomplete_let into PathKind::Expr 2022-06-18 10:19:04 +02:00
bors
7a87f810ca Auto merge of #12576 - harpsword:fold_range_non_block_match_arm, r=Veykril
feat: add fold range for multi line match arm list

fix: #11893
2022-06-18 08:10:31 +00:00
harpsword
3a78cc5e67 feat: add fold range for multi line match arm list 2022-06-18 16:05:56 +08:00
Lukas Wirth
7369e5120d Move CompletionContext::function_def into PathKind::Expr 2022-06-18 09:54:03 +02:00
bors
b1f9efa65c Auto merge of #12577 - Veykril:completion, r=Veykril
internal: NameRefKind classification is not optional
2022-06-18 06:59:12 +00:00
Lukas Wirth
309ecdd71c internal: NameRefKind classification is not optional 2022-06-18 08:58:47 +02:00
bors
12dd81092e Auto merge of #12574 - Veykril:completion, r=Veykril
minor: Simplify
2022-06-17 23:15:37 +00:00
Lukas Wirth
0665428b4e minor: Simplify 2022-06-18 01:15:08 +02:00
bors
69f30964ea Auto merge of #12573 - Veykril:completion, r=Veykril
internal: Split flyimport into its 3 applicable contexts
2022-06-17 22:48:14 +00:00
Lukas Wirth
173bb10a76 internal: Split flyimport into its 3 applicable contexts 2022-06-18 00:47:28 +02:00
bors
09ac44c078 Auto merge of #12570 - Veykril:completion, r=Veykril
Only run completion functions if their corresponding context is active
2022-06-17 22:26:50 +00:00
Lukas Wirth
00fdb4a3d8 Only run completion functions if their corresponding context is active 2022-06-17 23:36:39 +02:00
Lukas Wirth
d97a8ee865 Remove superfluous early returns 2022-06-17 17:49:25 +02:00
bors
e7a0088b2f Auto merge of #12565 - Veykril:completion, r=Veykril
internal: More completion refactors
2022-06-17 15:32:32 +00:00
Lukas Wirth
85b68b1f7d Inline PathQualifierCtx 2022-06-17 17:27:12 +02:00
Lukas Wirth
d6f161ffa9 internal: Collapse lift is_infer_qualifier into Qualified variant 2022-06-17 17:15:29 +02:00
Lukas Wirth
2f2ea77d88 Move existing_derives into PathKind::Derive 2022-06-17 16:56:21 +02:00
bors
bea4ba08e0 Auto merge of #12564 - Veykril:completion, r=Veykril
internal: Collapse completion ctx path `qualifier` and `is_absolute_path` into enum
2022-06-17 14:38:44 +00:00
Lukas Wirth
531060f103 internal: Collapse completion ctx path qualifier and is_absolute_path into enum 2022-06-17 16:36:22 +02:00
bors
9c0b7277a6 Auto merge of #12563 - Veykril:completion, r=Veykril
internal: Simplify
2022-06-17 14:28:52 +00:00
Lukas Wirth
85363d18e8 Simplify 2022-06-17 16:22:51 +02:00
bors
a69b17be2e Auto merge of #12562 - Veykril:completion, r=Veykril
Split completion context module into definitions and analysis parts
2022-06-17 13:19:45 +00:00
Lukas Wirth
f35a9a1dcc Split out tests 2022-06-17 15:19:09 +02:00
Lukas Wirth
a2537e591a Split completion context module into definitions and analysis parts 2022-06-17 15:16:20 +02:00
bors
6269137760 Auto merge of #12560 - Veykril:completion, r=Veykril
internal: More completions refactoring

This gets rid of the remaining `ImmediateLocation` bits
2022-06-17 13:10:05 +00:00
Lukas Wirth
f201a40492 Remove ImmediateLocation in favor of PathKind::Type 2022-06-17 15:09:48 +02:00