Aleksey Kladov
0650f77dd9
internal: remove one more immutable tree
2021-05-14 16:19:27 +03:00
Aleksey Kladov
bf26e13cd2
simplify
2021-05-10 15:25:56 +03:00
Aleksey Kladov
4f3c0adc5a
internal: introduce ast::make::ext
module with common shortcuts
...
There's a tension between keeping a well-architectured minimal
orthogonal set of constructs, and providing convenience functions.
Relieve this pressure by introducing an dedicated module for
non-orthogonal shortcuts.
This is inspired by the django.shortcuts module which serves a similar
purpose architecturally.
2021-05-09 19:55:43 +03:00
Aleksey Kladov
680a0d54e4
internal: fix make API
2021-05-09 19:22:33 +03:00
Aleksey Kladov
d9c9f6dc2c
cleanups
2021-05-09 17:58:03 +03:00
Aleksey Kladov
1755b57e1a
internal: pull_assignment_up uses mutable trees
2021-05-08 23:11:42 +03:00
Jonas Schievink
e2b664e9fd
fix: use raw idents in make::name{_ref}
with keywords
2021-05-07 17:22:54 +02:00
Dawer
dc4fa504ea
Adapt to a new rowan borrowing node API.
2021-05-06 10:06:52 +05:00
bors[bot]
5cbde9f531
Merge #8591 #8638
...
8591: Remove SyntaxRewriter usage in insert_use in favor of mutable syntax trees r=matklad a=Veykril
Unfortunately changing `insert_use` to not use `SyntaxRewriter` creates a lot of changes since so much relies on that. But on the other hand this should be the biggest usage of `SyntaxRewriter` I believe.
8638: Remove SyntaxRewriter::from_fn r=Veykril a=Veykril
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-04-23 16:49:08 +00:00
bors[bot]
85bab7539a
Merge #8317
...
8317: Convert tuple struct to named struct assist r=Veykril a=unexge
Closes https://github.com/rust-analyzer/rust-analyzer/issues/8192
Co-authored-by: unexge <unexge@gmail.com>
2021-04-23 13:37:48 +00:00
Comonad
09147c3303
Add support for fill match arms of boolean values
...
- Add support for boolean inside tuple
2021-04-21 19:33:45 +08:00
Lukas Wirth
fa20a5064b
Remove SyntaxRewriter usage in insert_use in favor of ted
2021-04-20 02:09:12 +02:00
Dawer
8965be3d0e
Fill match arms for a tuple of a single enum.
2021-04-16 17:22:11 +05:00
unexge
8d4be829e0
Add convert tuple struct to named struct assist
2021-04-04 20:52:43 +03:00
cynecx
5ff3299dd6
syntax: return owned string instead of leaking string
2021-03-26 18:30:59 +01:00
Aleksey Kladov
9cbf09ec4f
rewrite merge use trees assist to use muatable syntax trees
...
changelog internal
2021-03-22 20:47:46 +03:00
Matthias Krüger
3d9b3a8575
remove more redundant clones (clippy::redundant_clone())
2021-03-21 12:10:39 +01:00
Aleksey Kladov
f5a81ec468
Upgrade rowan
...
Notably, new rowan comes with support for mutable syntax trees.
2021-03-16 16:10:49 +03:00
Luiz Carlos Mourão Paes de Carvalho
61fb16577b
feat: add expr_for_loop to make in syntax
2021-03-09 23:54:35 -03:00
Kirill Bulatov
778deb38fe
Better strip turbofishes
2021-03-08 23:59:39 +02:00
Lukas Wirth
694f7a7e9f
Add tests for apply_demorgan
2021-02-24 11:58:37 +01:00
Vladyslav Katasonov
9eb19d92dd
allow try expr? when extacting function
2021-02-13 22:04:52 +03:00
Vladyslav Katasonov
f345d1772a
handle return, break and continue when extracting function
2021-02-13 22:04:52 +03:00
Vladyslav Katasonov
f102616aae
allow modifications of vars from outer scope inside extracted function
...
It currently allows only directly setting variable.
No `&mut` references or methods.
2021-02-03 23:45:03 +03:00
Aleksey Kladov
46b4f89c92
.
2021-01-20 01:56:11 +03:00
Aleksey Kladov
cd21b0e9c1
⬆️ rowan
2021-01-19 22:11:42 +03:00
unexge
a3a722de9f
Add Unmerge Use assist
2021-01-15 22:14:51 +03:00
Vincent Esche
21f8239ac8
Fixed typos in code comments
2021-01-09 15:41:29 +01:00
Aleksey Kladov
f00f75a078
Document make
module design
2020-12-23 13:01:31 +03:00
Aleksey Kladov
cd4a7bf36e
Minor, cleanup API
2020-12-18 19:50:00 +03:00
Jesse Bakker
0f42a71806
Parenthesize composite if condition before inverting in invert-if assist
2020-12-15 16:25:57 +01:00
Lukas Wirth
44c76d6550
Add replace_match_with_if_let assist
2020-12-05 15:41:36 +01:00
Lukas Wirth
19443c1fa3
Add missing AssocItems in add_custom_impl assist
2020-11-05 23:41:46 +01:00
Lukas Wirth
6145234450
Support struct variants in extract_struct_from_enum_variant
2020-11-03 20:57:04 +01:00
Lukas Wirth
cd349dbbc4
Make insert_use return a SyntaxRewriter
2020-11-02 21:40:52 +01:00
Lukas Wirth
bc11475a2a
Properly qualify trait methods in qualify_path assist
2020-10-15 18:31:33 +02:00
Benjamin Coenen
3bfa3e8123
when generating new function, focus on return type instead of body
...
Signed-off-by: Benjamin Coenen <5719034+bnjjj@users.noreply.github.com>
2020-10-08 20:57:18 +02:00
bors[bot]
18c62c8a39
Merge #6019
...
6019: Remove make::path_from_text r=matklad a=Veykril
This removes the `make::path_from_text` function, which according to a note should've been private. I removed it since it didn't really serve a purpose as it was simply wrapping `make::ast_from_text`.
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2020-09-29 10:29:33 +00:00
Matt Hooper
ae7c982421
Add make utility for empty associated item lists
2020-09-21 00:39:17 +01:00
Lukas Wirth
f2ae412ccf
Remove make::path_from_text
2020-09-16 21:36:10 +02:00
Lukas Wirth
45298b5d2a
Add make::glob_use_tree function to create star-only UseTree
2020-09-16 20:33:08 +02:00
bors[bot]
0275b08d15
Merge #5940
...
5940: Implement "Replace `impl Trait` function argument with the named generic" assist. r=matklad a=alekseysidorov
Fixes #5085
Co-authored-by: Aleksei Sidorov <gorthauer87@yandex.ru>
2020-09-04 21:54:42 +00:00
Aleksei Sidorov
ef0a1b2e58
Fix tests
2020-09-04 17:55:27 +03:00
Lukas Wirth
952f385682
Impl make::blank_line
2020-09-03 18:36:07 +02:00
Aleksei Sidorov
fe3170dc34
Initial implementation of the #5085 issue
2020-09-03 14:47:07 +03:00
Aleksey Kladov
b1f59ff6c1
Reduce path_from_text usage
2020-08-31 15:47:42 +02:00
Aleksey Kladov
60706fca8e
Remove dead code
2020-08-31 15:46:57 +02:00
Aleksey Kladov
7721accebf
Cleanup invert-if
...
* stick to trivial factory functions in make
* compress the logic for inverting Option/Result
2020-08-25 11:00:32 +02:00
dragfire
1d129a7172
Invert if should be smart about is_some, is_none, is_ok, is_err
2020-08-23 22:30:34 -06:00
Aleksey Kladov
b0f03db51d
Remove deprecated function
2020-08-13 11:37:54 +02:00