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
bors
7ade4d49fc
Auto merge of #12517 - xuhongxu96:master, r=Veykril
...
fix methods in pub trait generated by macro cannot be completed
Fix #12483
Check if the container is trait and inherit the visibility to associate items during collection.
2022-06-16 09:14:09 +00: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
Jeremy Banks
c32f133236
fix: inserted imports must come after a shebang if present
2022-06-15 19:42:43 +00:00
Jeremy Banks
f32ad8362f
add failing test: inserts_after_shebang
2022-06-15 19:42:43 +00:00
Lukas Wirth
1dd2c50298
Update test outputs
2022-06-15 18:07:37 +02:00
Lukas Wirth
0e41d15b82
Use the correct crates proc-macro loading error message
2022-06-15 18:06:33 +02:00
Lukas Wirth
1d34cdcac0
Diagnose unresolved attribute proc-macros
2022-06-15 17:34:13 +02:00
Lukas Wirth
7d51fc4640
Show proc-macro loading errors in unresolved-proc-macro diagnostics
2022-06-15 17:34:01 +02:00
bors
15c63c4119
Auto merge of #12541 - Veykril:vs-reload, r=Veykril
...
fix: Clear proc-macro changed flag when reloading workspace
2022-06-15 12:29:34 +00:00
Lukas Wirth
664a751f2b
fix: Clear proc-macro changed flag when reloading workspace
2022-06-15 14:29:13 +02:00
Hongxu Xu
549c810436
revert hir-def lib.rs
2022-06-15 07:48:34 +08:00
Hongxu Xu
8805a768d4
check if the container is trait and inherit the visibility
2022-06-15 07:47:06 +08:00
Hongxu Xu
070456838d
remove inherit_visibility test case in item_tree
2022-06-14 23:24:48 +08:00
Hongxu Xu
ded412d56b
implement inherited_visibility in collector
2022-06-14 23:23:15 +08:00
Hongxu Xu
3f60e71a12
remove inherited_visibility in lower.rs
2022-06-14 21:44:07 +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
Lukas Wirth
325ceaef19
fix: Check for the correct proc-macro settings in missing proc-macro diagnostics
2022-06-14 11:00:06 +02:00
bors
7db73875ac
Auto merge of #12519 - Veykril:hover-assoc, r=Veykril
...
feat: On assoc item name hover, render trait decl docs
2022-06-13 09:58:04 +00:00
Lukas Wirth
9b9c13fc40
feat: On assoc item name hover, render trait decl docs
2022-06-13 11:57:33 +02:00
bors
366bd7242e
Auto merge of #12515 - Veykril:rustc-proc-macros, r=Veykril
...
fix: Pass the build data to rustc_private crates
With this all proc-macros should resolve in rustc now when setting up the build script running command properly.
2022-06-12 17:35:55 +00:00
Lukas Wirth
10e9f47dce
fix: Pass the build data to rustc_private crates
2022-06-12 19:29:45 +02:00
Lukas Wirth
0e4eb647f6
More precise proc-macro errors
2022-06-12 18:44:46 +02:00
bors
4f2a67b26f
Auto merge of #12513 - Veykril:ty-utils, r=Veykril
...
internal: Simplify `hir_ty::utils`
2022-06-12 14:08:08 +00:00
Lukas Wirth
9153f17382
internal: Simplify hir_ty::utils
2022-06-12 16:07:08 +02:00
bors
d513f657a3
Auto merge of #12509 - Veykril:ty-utils, r=Veykril
...
internal: Remove `Generics::type_iter` in favor of `Generics::iter`
2022-06-12 12:40:57 +00:00
Lukas Wirth
7a0ab1358c
internal: Remove Generics::type_iter
in favor of Generics::iter
2022-06-12 14:40:37 +02:00
bors
eacade27ce
Auto merge of #12455 - bitgaoshu:fix_12441, r=flodiebold
...
fix : #12441 False-positive type-mismatch error with generic future
I think the reason is same with #11815 .
add ```Sized``` bound for ```AsyncBlockTypeImplTrait```.
2022-06-12 09:01:00 +00:00
bors
604b1c8409
Auto merge of #12508 - Veykril:req-retry, r=Veykril
...
fix: Don't respond to cancelled requests when retrying them
Fixes https://github.com/rust-lang/rust-analyzer/issues/12482
2022-06-12 00:56:52 +00:00
Lukas Wirth
ad109f7f0a
fix: Don't respond to cancelled requests when retrying them
2022-06-12 02:56:19 +02:00
bors
37b01f9f39
Auto merge of #12504 - rust-lang:Veykril-patch-1, r=Veykril
...
fix: Fix config patching for callable snippets
Closes https://github.com/rust-lang/rust-analyzer/issues/12498
2022-06-11 11:41:26 +00:00
Lukas Wirth
a7a1a83463
fix: Fix config patching for callable snippets
2022-06-11 13:41:06 +02:00
bors
5b746ec590
Auto merge of #12481 - XFFXFF:add_label_to_loop, r=Veykril
...
assist: add label to loop
closes : #12392
I changed `'loop` to `'l`, as `cargo check` says `'loop` is an invalid label name.
2022-06-11 11:34:08 +00:00
bors
ba329913fa
Auto merge of #12449 - Veykril:version, r=Veykril
...
Bring the version command output in line with other rust tools
Inspired by how cargo handles it
Fixes https://github.com/rust-lang/rust-analyzer/issues/12280
![image](https://user-images.githubusercontent.com/3757771/171680176-236451ee-2c6c-449f-8aa5-4a047e8cc907.png )
2022-06-10 23:35:38 +00:00
XFFXFF
e29a6780b1
restrict the assist so that it only appears if the cursor is on the loop keyword
2022-06-11 07:11:56 +08:00
XFFXFF
fac4d28012
change 'loop to 'l, as 'loop is not a valid label name
2022-06-11 07:11:56 +08:00