Lukas Wirth
9e1eb77f6b
Respect coercions in inline_call
2021-07-10 19:24:49 +02:00
vi_mi
57f119b5fa
fix: Adding async keyword when await is present in generate_function assist
2021-07-09 20:04:55 +05:30
bors[bot]
2bc4f9e371
Merge #9474
...
9474: fix: Inline parameters in `inline_call` if possible r=Veykril a=Veykril
Fixes #9491
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-07-05 11:50:18 +00:00
bors[bot]
336194c09b
Merge #9476
...
9476: internal: overhaul codegen r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2021-07-03 19:26:04 +00:00
Aleksey Kladov
58d2ece88a
internal: overhaul code generation
...
* Keep codegen adjacent to the relevant crates.
* Remove codgen deps from xtask, speeding-up from-source installation.
This regresses the release process a bit, as it now needs to run the
tests (and, by extension, compile the code).
2021-07-03 22:11:03 +03:00
Lukas Wirth
d308f17a21
Inline parameters in inline_call
if possible
2021-07-03 20:05:54 +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
Lukas Wirth
251f0c6090
replace_match_with_if_let
works on more binary matches
2021-07-02 21:05:10 +02:00
bors[bot]
d18cfd4467
Merge #9458
...
9458: minor: Remove make::match_arm_with_guard r=Veykril a=Veykril
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-07-01 23:47:38 +00:00
Lukas Wirth
071ac48b6c
Remove make::match_arm_with_guard
2021-07-02 01:44:54 +02:00
bors[bot]
cd3d633850
Merge #9455
...
9455: feat: Handle not let if expressions in replace_if_let_with_match r=Veykril a=Veykril
Transforms bare `if cond {}` into `_ if cond` guard patterns in the match as long as at least one `if let` is in the if chain, otherwise the assist wont be applicable.
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-07-01 23:00:50 +00:00
Lukas Wirth
8967856d78
Handle not let if expressions in replace_if_let_with_match
2021-07-02 00:58:56 +02:00
Lukas Wirth
04f1104179
Don't classify NameRef paths inside attribute TokenTrees
2021-06-30 21:51:28 +02:00
Lukas Wirth
3ce5c66ca1
Deduplicate ast expression walking logic
2021-06-27 01:11:57 +02:00
Lukas Wirth
344cb5e76a
Don't insert imports outside of cfg attributed items
2021-06-18 23:56:43 +02:00
Lukas Wirth
2ee090faaf
Allow to disable import insertion on single path glob imports
2021-06-18 23:11:56 +02:00
Lukas Wirth
cd5f4121e3
Create modules in correct directory for nested modules in move_module assist
2021-06-17 12:09:28 +02:00
Lukas Wirth
29054e02fb
Highlight unsafe trait refs as unsafe only in impl blocks and definitions
2021-06-15 21:49:59 +02:00
Maan2003
b857a5dcf0
clippy::manual_str_repeat
2021-06-13 09:37:28 +05:30
Maan2003
c9b4ac5be4
clippy::redudant_borrow
2021-06-13 09:24:16 +05:30
Jonas Schievink
1d6eef1350
Update ungrammar
2021-06-11 18:34:30 +02:00
Lukas Wirth
31aad2528f
Fix edge case for ImportGranularity guessing
2021-06-08 22:14:30 +02:00
Lukas Wirth
f3dc4321c8
Account for generics in extract_struct_from_enum_variant
2021-06-02 17:44:00 +02:00
Lukas Wirth
fc37e2f953
Attribute completion is context aware
2021-05-27 23:28:14 +02:00
Domantas Jadenkus
22e5194396
generate match arms with todo!() as placeholder body
2021-05-24 22:17:16 +03:00
Aleksey Kladov
47d7434dde
internal: replace AstTransformer with mutable syntax trees
2021-05-22 15:27:32 +03:00
Lukas Tobias Wirth
da7f1eb756
Don't compare ast::Visibility by stringifying
2021-05-20 17:45:59 +02:00
Aleksey Kladov
75a0123614
fix: don't add extra whitespace around fields
...
closes #8785
2021-05-17 12:45:01 +03:00
Aleksey Kladov
1859df37fd
internal: use mutable syntax trees when filling fields
2021-05-16 18:10:56 +03:00
Aleksey Kladov
e4a7b44e55
internal: use mutable trees when filling match arms
2021-05-16 15:10:18 +03:00
bors[bot]
a57bd59f35
Merge #8813
...
8813: Get some more array lengths! r=lf- a=lf-
This is built on #8799 and thus contains its changes. I'll rebase it onto master when that one gets merged. It adds support for r-a understanding the length of:
* `let a: [u8; 2] = ...`
* `let a = b"aaa"`
* `let a = [0u8; 4]`
I have added support for getting the values of byte strings, which was not previously there. I am least confident in the correctness of this part and it probably needs some more tests, as we currently have only one test that exercised that part (!).
Fixes #2922 .
Co-authored-by: Jade <software@lfcode.ca>
2021-05-16 01:53:12 +00:00
Aleksey Kladov
883dd1568f
internal: use more mutable APIs
2021-05-14 20:00:35 +03:00
Aleksey Kladov
cea589b3b5
internal: rewrite assoc item manipulaion to use mutable trees
2021-05-14 18:47:08 +03:00
Aleksey Kladov
73123a7550
internal: remove SyntaxRewriter
2021-05-14 16:40:11 +03:00
Aleksey Kladov
873717190d
internal: remove more of the SyntaxRewriter
2021-05-14 16:28:59 +03:00
Aleksey Kladov
0650f77dd9
internal: remove one more immutable tree
2021-05-14 16:19:27 +03:00
Jade
73023c0299
Support length for ByteStrings
...
I am not confident that my added byte string parsing is right.
2021-05-12 21:22:46 -07: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
5342800147
internal: rewrite **Repalce impl Trait** assist to mutable syntax trees
2021-05-09 18:20:37 +03:00
Aleksey Kladov
d9c9f6dc2c
cleanups
2021-05-09 17:58:03 +03:00
Aleksey Kladov
8a7904127d
minor: remove dead code
2021-05-08 23:28:36 +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
0a156c80af
Hide implementation details of TokenText
2021-05-06 10:07:06 +05:00
Dawer
d9b4ac8128
Clean up
2021-05-06 10:07:06 +05:00
Dawer
d7e169fe55
Borrow text from nodes of immutable syntax trees
2021-05-06 10:07:06 +05:00
Dawer
dc4fa504ea
Adapt to a new rowan borrowing node API.
2021-05-06 10:06:52 +05:00