Commit Graph

15496 Commits

Author SHA1 Message Date
Lukas Wirth 2642f64570 internal: Simplify 2022-06-23 20:08:29 +02:00
CuriousCorrelation e0c17e8777 fix: trailing ':' on empty inactive reasons
Fixes: #12615
2022-06-23 22:10:27 +05:30
yue4u 472ae16bfb fix: completes non exhaustive variant within the defining crate 2022-06-24 00:00:51 +09:00
Florian Diebold 36fadc4224 Fix unstable feature use 2022-06-23 16:05:59 +02:00
Florian Diebold f410fdf6e3 Add two more tests 2022-06-23 14:49:05 +02:00
Florian Diebold 29f01cd9d2 Various cleanups
- remove Valid, it serves no purpose and just obscures the diff
 - rename some things
 - don't use is_valid_candidate when searching for impl, it's not necessary
2022-06-23 14:38:28 +02:00
bitgaoshu 1064c7513a reformat code 2022-06-23 14:01:22 +02:00
bitgaoshu 1ef5e14c2c goto where trait method impl 2022-06-23 14:01:22 +02:00
Raymond Luo 96ff235770 condense matches on autolink 2022-06-22 22:07:26 -04:00
soruh 817082cad6 add doc strings to use_trivial_contructor.rs 2022-06-22 16:49:50 +02:00
soruh f9379df630 add use_trivial_contructor.rs 2022-06-22 16:34:01 +02:00
soruh f780145c4a apply suggestions 2022-06-22 16:29:59 +02:00
Raymond Luo b7e3f525bd handle autolink as edge case 2022-06-20 23:15:27 -04:00
Raymond Luo c6f776c5f9 determine doc link type from start instead of text or code 2022-06-20 21:10:45 -04:00
bors 6fc5c3cd21 Auto merge of #12604 - Veykril:completions, r=Veykril
internal: Simplify some completions
2022-06-20 19:56:05 +00:00
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
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
Lukas Wirth 1f028403cd fix: Don't trigger pattern completions when typing a wildcard pattern 2022-06-20 18:03:09 +02: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
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
Lukas Wirth 013c6a3f75 fix: attribute macros not being properly diagnosed 2022-06-19 00:37:37 +02: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
Lukas Wirth 309ecdd71c internal: NameRefKind classification is not optional 2022-06-18 08:58:47 +02:00
Lukas Wirth 0665428b4e minor: Simplify 2022-06-18 01:15:08 +02:00
Lukas Wirth 173bb10a76 internal: Split flyimport into its 3 applicable contexts 2022-06-18 00:47:28 +02: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
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
Lukas Wirth 531060f103 internal: Collapse completion ctx path qualifier and is_absolute_path into enum 2022-06-17 16:36:22 +02:00
Lukas Wirth 85363d18e8 Simplify 2022-06-17 16:22:51 +02:00
Lukas Wirth f35a9a1dcc Split out tests 2022-06-17 15:19:09 +02:00