Commit Graph

94 Commits

Author SHA1 Message Date
Hongxu Xu
f536766efb complete raw identifier with "r#" prefix 2022-06-26 14:45:30 +08:00
yue4u
472ae16bfb fix: completes non exhaustive variant within the defining crate 2022-06-24 00:00:51 +09:00
Lukas Wirth
7a0774defa internal: Simplify some completions 2022-06-20 21:55:33 +02:00
Lukas Wirth
8b078986dc Reimplement auto-ref completions for fields 2022-06-20 20:22:51 +02:00
Lukas Wirth
46d22719fc Remove pattern rendering hack 2022-06-20 20:16:40 +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
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
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
Lukas Wirth
a2537e591a Split completion context module into definitions and analysis parts 2022-06-17 15:16:20 +02:00
Lukas Wirth
f201a40492 Remove ImmediateLocation in favor of PathKind::Type 2022-06-17 15:09:48 +02:00
Lukas Wirth
6b246292ca Move more ImmediateLocation::TypeAnnotation into PathKind::Type 2022-06-17 11:31:36 +02:00
Lukas Wirth
6e07b17f69 Introduce NameRefKind for completions 2022-06-17 10:45:19 +02:00
bors
7322a982f9 Auto merge of #12554 - XFFXFF:fix_11959, r=Veykril
fix: local items should not be completed in parent signature

fixes #11959

> We get a Bar completion for the following snippet which is wrong as the item is not visible in that position.
> ``` rust
> fn foo() -> $0 {
>    struct Bar;
> }
> ```

I investigated the problem and found that the scope of the cursor offset, also `CompletionContext.scope` is the body of the function
2022-06-16 12:48:33 +00:00
XFFXFF
6df969f5f4 the offset used for the completion cursor should always be relative to the original file and not to the marco file 2022-06-16 20:34:37 +08:00
XFFXFF
fbf8e12234 the scope of the return type is not the body of the function 2022-06-16 16:24:18 +08:00
Hongxu Xu
534d71a852 disable private editable in TEST_CONFIG by default
adjust test_visibility_filter test case
2022-06-16 08:52:57 +08:00
Hongxu Xu
ded412d56b implement inherited_visibility in collector 2022-06-14 23:23:15 +08:00
Hongxu Xu
d7eebd9706 add test cases to complete fn generated by macro in pub trait 2022-06-14 21:41:09 +08:00
bors
9ef01d0895 Auto merge of #12490 - yue4u:fix/show-enum-in-fresh-use-tree, r=Veykril
fix: complete non-std enum at the start of `use` completions

close: #12421
2022-06-10 20:33:17 +00:00
bors
0bbead9fa0 Auto merge of #12473 - yue4u:fix/no-enum-parens-in-use, r=Veykril
fix: avoid adding enum parens in use path

close #12420
2022-06-10 20:03:29 +00:00
Lukas Wirth
76ae5434fa internal: Bump Dependencies 2022-06-10 17:30:02 +02:00
yue4u
2942863709 feat: append :: after 2022-06-09 16:45:46 +09:00
yue4u
55bc693356 fix: show non-std enum in a fresh use tree completion 2022-06-08 20:55:16 +09:00
Lukas Wirth
0be31d945e fix: Fix trait impl completions using wrong insert position 2022-06-05 20:29:36 +02:00
yue4u
11693dad88 fix: avoid adding enum parens in use 2022-06-06 01:34:01 +09:00
Lukas Wirth
a2a74bf278 Remove some of the unnecessary helpfer functions from CompletionContext 2022-06-03 20:49:25 +02:00
Lukas Wirth
a0c1816e3a Simplify 2022-06-03 19:55:30 +02:00
Lukas Wirth
98c0578f15 Move trait_impl completion analysis into CompletionContext 2022-06-03 19:49:02 +02:00
Lukas Wirth
2a60b8452e Deduplicate 2022-06-03 16:33:37 +02:00
Lukas Wirth
522f66545f Remove prev-sibling completion machinery 2022-06-03 16:25:37 +02:00