Steven Joruk
5b712bd821
feat: Add an assist for inlining type aliases
...
This intends to lead to a more useful assist to replace all users of an
alias with its definition.
2022-03-12 13:42:24 +00:00
Steven Joruk
cdeb1b2c78
chore: fill_match_arms was renamed - update its usage in a comment
2022-03-12 13:41:23 +00:00
bors[bot]
791722b70a
Merge #10998
...
10998: Add number representation assists r=Veykril a=errx
Reimplemented assists from this PR https://github.com/rust-analyzer/rust-analyzer/pull/3683 with current APIs.
![image](https://user-images.githubusercontent.com/462486/145726792-47700215-26f2-4fdc-9520-63d1487901e5.png )
![image](https://user-images.githubusercontent.com/462486/145726802-f528a2f7-9159-41d3-b459-fc3fae033e60.png )
I've decided not to add options about size of the groups so behaviour is similar to clippy's.
Minimal number length is also taken from clippy.
Co-authored-by: Oleg Matrokhin <matrokhin@gmail.com>
2021-12-13 18:49:06 +00:00
Oleg Matrokhin
8b03b41b7a
Add number representation assists
2021-12-13 19:35:38 +03:00
bors[bot]
e1f3982a5f
Merge #11001
...
11001: minor: fixup generate assist priorities r=Veykril a=Veykril
Fixes https://github.com/rust-analyzer/rust-analyzer/issues/10996
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-12-13 15:51:54 +00:00
Lukas Wirth
1cef532c4d
minor: fixup generate assist priorities
2021-12-13 16:42:21 +01:00
Côme ALLART
998b91af9c
feat: assist to generate documentation templates
2021-12-06 18:32:25 +01:00
Terry Sun
324d7d33e8
Add assist for replacing turbofish with explicit type.
...
Converts `::<_>` to an explicit type assignment.
```
let args = args.collect::<Vec<String>>();
```
->
```
let args: Vec<String> = args.collect();
```
Closes #10285
2021-10-24 17:38:45 -07:00
bors[bot]
fe7c516084
Merge #10602
...
10602: Add qualify method call assist r=Veykril a=qepasa
This adds `qualify_method_call` assist that allows to replace a method (or trait) call that resolves with its fully qualified path.
For example, for stuct method:
```rust
struct Foo;
impl Foo {
fn foo(&self) {}
}
```
```
let foo = Foo {};
foo.fo$0o();
```
becomes
```rust
let foo = Foo {};
Foo::foo(&foo);
```
for a trait method:
```rust
struct Foo;
trait FooTrait {
fn foo(&self) {}
}
impl FooTrait for Foo {
fn foo(&self) {}
}
```
following call:
```rust
let foo = Foo {};
foo.fo$0o();
```
becomes:
```rust
let foo = Foo {};
FooTrait::foo(&foo);
```
fixes #10453
Co-authored-by: Paweł Palenica <pawelpalenica11@gmail.com>
2021-10-23 08:34:51 +00:00
bors[bot]
a75353e8ac
Merge #9939
...
9939: feat: Adding extract_module assist r=Veykril a=feniljain
Should solve https://github.com/rust-analyzer/rust-analyzer/issues/9591
Co-authored-by: vi_mi <fenil.jain2018@vitstudent.ac.in>
Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
2021-10-22 09:29:16 +00:00
Paweł Palenica
bb00b09d22
Add qualify method call assist
2021-10-20 23:28:30 -07:00
bors[bot]
401daa5f77
Merge #10417
...
10417: feat(assist): add new assist to unwrap the result return type r=bnjjj a=bnjjj
do the opposite of assist "wrap the return type in Result"
Co-authored-by: Benjamin Coenen <5719034+bnjjj@users.noreply.github.com>
Co-authored-by: Coenen Benjamin <benjamin.coenen@hotmail.com>
2021-10-17 13:32:35 +00:00
vi_mi
32b95ea310
feat: Adding extract_module assist
2021-10-16 13:36:06 +03:00
bors[bot]
0af9d1fc8a
Merge #10546
...
10546: feat: Implement promote_local_to_const assist r=Veykril a=Veykril
Fixes #7692 , that is now one can invoke the `extract_variable` assist on something and then follow that up with this assist to turn it into a const.
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-10-14 19:51:34 +00:00
Lukas Wirth
06286ee90b
Implement promotoe_local_to_const assist
2021-10-14 21:49:46 +02:00
Yoshua Wuyts
8b6ea8ee86
Update label names
2021-10-14 13:52:31 +02:00
Ryan Levick
0ff89deb69
Add basic support for delegation
2021-10-13 18:05:09 +02:00
crauzer
05e58afde2
Add replace_try_expr_with_match assist
2021-10-06 20:11:00 +02:00
longfangsong
4d1a4dc0d6
Add generate_constant assist
2021-10-04 23:53:32 +08:00
Benjamin Coenen
2947957199
feat(assist): add new assist to unwrap the result return type
...
Signed-off-by: Benjamin Coenen <5719034+bnjjj@users.noreply.github.com>
2021-10-01 21:24:03 +02:00
longfangsong
0049b5b0bc
initial commit
2021-09-28 10:20:29 +08:00
bors[bot]
cd7b26c6eb
Merge #10352
...
10352: feat: Implement inline callers assist r=Veykril a=Veykril
Fixes #7242
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-09-26 14:02:25 +00:00
Lukas Wirth
1ccb21a0ca
feat: Implement inline callers assist
2021-09-25 18:39:43 +02:00
bors[bot]
d401f2a062
Merge #10211
...
10211: assists: Promote module to folder r=jonas-schievink a=longfangsong
Close part of #10143 .
This PR adds a assist to promote module to directory, which means make a .rs file module into a directory style module with the same name.
![未命名(1)](https://user-images.githubusercontent.com/13777628/132958377-14555d6f-a64a-4b9b-9154-90a3b86fd685.gif )
Co-authored-by: longfangsong <longfangsong@icloud.com>
2021-09-25 15:32:00 +00:00
longfangsong
22abbe86f3
Address comments
2021-09-25 22:48:57 +08:00
Lukas Wirth
8b1e8197fe
Merge iter_for_each_to_for and for_to_iter_for_each assists modules
2021-09-21 10:34:11 +02:00
Lukas Wirth
8b2be8572f
Rename some assists
2021-09-21 00:54:09 +02:00
Andrzej Głuszak
11a56f886b
assists: turn while into loop
2021-09-16 22:20:27 +02:00
Aleksey Kladov
46cdde75f8
internal: document tribal knowledge of how to assist
2021-09-13 14:19:10 +03:00
longfangsong
fede1a3beb
Add promote_mod_file assist
2021-09-12 10:45:14 +08:00
BooksBaum
478b2988c0
Add Destructure Tuple
2021-08-17 19:22:57 +02:00
Aleksey Kladov
a78decc466
internal: make assist naming consistent
2021-08-14 18:39:56 +03:00
Lukas Wirth
b7d7dd6163
Implement bool_then_to_if
assist
2021-08-10 13:17:45 +02:00
bors[bot]
caac771439
Merge #9735
...
9735: Add assist to sort members alphabetically. r=matklad a=vsrs
Supports traits, impls, structs, unions and enums (including inner struct variants). Does not support modules yet.
```rust
en┃um Animal {
Dog(String, f64),
Cat { weight: f64, name: String },
}
```
->
```rust
enum Animal {
Cat { weight: f64, name: String },
Dog(String, f64),
}
```
---
```rust
enum Animal {
Dog(String, f64),
Cat {┃ weight: f64, name: String },
}
```
->
```rust
enum Animal {
Dog(String, f64),
Cat { name: String, weight: f64 },
}
```
---
More samples in docs 0b7835619a/crates/ide_assists/src/handlers/sort_items.rs (L12-L83)
.
Relates #6110
Co-authored-by: vsrs <vit@conrlab.com>
2021-08-09 10:21:14 +00:00
Lukas Wirth
3b7c713af3
Implement if_to_bool_then assist
2021-08-08 17:56:34 +02:00
vsrs
643f3931f7
Sort trait and impl methods
2021-08-02 19:49:36 +03:00
Lukas Wirth
17a47a830b
Add replace_char_with_string assist
2021-07-30 16:46:06 +02:00
Lukas Wirth
46c42166d6
Yeet replace_unwrap_with_match
in favor of inline_call
2021-07-05 15:47:55 +02:00
Lukas Wirth
14e18bfa38
Merge the inline function/method assists into inline_call
2021-07-03 18:07:03 +02:00
Lukas Wirth
688398febc
feat: Implement inline_method
assist
2021-07-03 01:33:34 +02:00
rdambrosio
8e08b86304
Feat: inline generics in const and func trait completions
2021-06-17 19:54:28 -04:00
Aleksey Kladov
a91071b57b
internal: cut deps between assists and diagnostics
2021-06-14 17:45:17 +03:00
Aleksey Kladov
2e8dab631b
internal: prepare to move assist definitions
2021-06-14 17:45:17 +03:00
Maan2003
c50b4579ec
clippy::useless_return
2021-06-13 09:35:29 +05:30
Aleksey Kladov
4c8259e210
reduce duplication
2021-05-23 23:13:35 +03:00
Lukas Tobias Wirth
da74c66947
Correctly resolve crate name in use paths when import shadows itself
2021-05-23 19:37:01 +02:00
Aleksey Kladov
e6776c3e1b
use more precise name
2021-05-22 16:23:07 +03:00
Kirill Bulatov
90fc329377
Index retrieval fix
2021-05-03 19:35:44 +03:00
Kirill Bulatov
53a73de3d1
Small fixes
2021-05-03 18:45:30 +03:00
Kirill Bulatov
28293d370f
Add docs and use better naming
2021-05-03 18:16:35 +03:00