Lukas Wirth
7a0774defa
internal: Simplify some completions
2022-06-20 21:55:33 +02:00
bors
312ac83caf
Auto merge of #12599 - flodiebold:no-test-deps, r=flodiebold
...
fix: 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 18:42:48 +00:00
Florian Diebold
07d78b67cb
Fix test
2022-06-20 20:34:08 +02:00
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