Lukas Wirth
f3e297331c
Cleanup edit_text_range_for_record_field_expr_or_pat
2020-11-15 16:11:06 +01:00
Lukas Wirth
cb60708274
Use shorthand field syntax in destructures
2020-11-14 21:08:20 +01:00
Lukas Wirth
924eecf4af
Properly handle shorthands in destructure patterns when renaming
2020-11-14 19:11:09 +01:00
Lukas Wirth
e55a44a831
Use shorthand record syntax when renaming struct initializer field
2020-11-14 17:51:09 +01:00
Aleksey Kladov
a27186636d
Fix attachment of inner doc comments
2020-11-12 12:09:12 +01:00
Aleksey Kladov
81ac99f60a
Simplify code
2020-11-12 11:45:18 +01:00
Aleksey Kladov
f73b874157
Update tests
2020-11-12 11:19:26 +01:00
kjeremy
3b9d164043
Update crates
2020-11-11 11:17:48 -05:00
Aleksey Kladov
731f7bfc02
Replace RacyFlag with OnceCell
2020-11-11 03:11:40 +01:00
Aleksey Kladov
0caa491893
Be more pedantic when checking codeAction/resolve support
2020-11-10 20:38:34 +01:00
Aleksey Kladov
7d2eb000b0
Switch to upstream protocol for resolving code action
...
Note that we have to maintain custom implementation on the client
side: I don't see how to marry bulitin resolve support with groups and
snippets.
2020-11-10 18:48:46 +01:00
bors[bot]
ada5a88f8f
Merge #6512
...
6512: Don't replace parent node when inserting as first child in algo::diff r=SomeoneToIgnore a=Veykril
This makes the diff a bit more detailed.
See https://github.com/rust-analyzer/rust-analyzer/pull/6287#issuecomment-723889267 for context
cc @SomeoneToIgnore
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2020-11-09 23:41:43 +00:00
bors[bot]
0a715cfbd2
Merge #6472
...
6472: Add `static` modifier for associated functions r=matklad a=p3achyjr
Adds static semantic token modifier to associated functions, resolves #6194
## Info
- Associated functions are more-or-less equivalent to static methods in other languages. This PR checks, for each function, whether that function has a self_param, and whether it's enclosed in a trait/impl.
## Changes
- Added method ```is_associated``` to code_model::Function. This basically gets the source from the ast, and checks whether the enclosing scope is an impl or trait.
- Added `static` to HighlightModifiers
- Added unit test
## Tests
- Ran ```cargo test```
Co-authored-by: Anatol Liu <axlui@anatols-mbp.lan>
2020-11-09 21:13:51 +00:00
Anatol Liu
6b950d24d4
Add static semantic token modifier for associated functions with no &self
...
refactor logic into code_model.rs
address comments
2020-11-09 13:09:20 -08:00
Lukas Wirth
a61bb4abb5
Don't replace parent node when inserting as first child in algo::diff
2020-11-09 20:10:49 +01:00
Aleksey Kladov
9634521abd
. is an operator
...
closes #6498
2020-11-09 18:12:28 +01:00
Aleksey Kladov
4a16c228e7
Fix panic when extracting struct
2020-11-09 16:59:57 +01:00
Aleksey Kladov
018f826197
Support multi-file assist tests
2020-11-09 14:44:08 +01:00
Aleksey Kladov
e72cd4600e
Fix debug for SyntaxRewriter
2020-11-09 14:09:49 +01:00
bors[bot]
73b08131df
Merge #6506
...
6506: Cleanup assists r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-11-09 12:28:57 +00:00
Aleksey Kladov
d31ce3b16c
Use standard style for test code
2020-11-09 13:28:04 +01:00
Aleksey Kladov
3cecf78488
More consistent naming
2020-11-09 13:18:40 +01:00
Aleksey Kladov
29bf6bed9b
More consistent naming
2020-11-09 13:07:18 +01:00
bors[bot]
2d3b0571bb
Merge #6465
...
6465: Support multiple file edits in AssistBuilder r=matklad a=Veykril
Fixes #6459
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2020-11-09 11:54:42 +00:00
bors[bot]
2f24714081
Merge #6501
...
6501: Remove text_edit_builder api from AssistBuilder r=matklad a=Veykril
Also fixes a small bug in `expand_glob_import` in regards to the very nice looking `something::{*}` import when only one item was used. Before it would duplicate the path and just append it, causing the following wrong import `something::something::UsedItem`.
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2020-11-09 11:40:08 +00:00
Lukas Wirth
4c03d98db4
Remove text_edit_builder api from AssistBuilder
2020-11-08 23:22:11 +01:00
Pavan Kumar Sunkara
ca3498bd84
Add some postfix snippet
2020-11-08 20:10:40 +01:00
Anatol Liu
90031a267a
Add static semantic token modifier for associated functions with no &self
...
refactor logic into code_model.rs
address comments
2020-11-08 00:01:02 -08:00
bors[bot]
dac7060382
Merge #6476
...
6476: Add missing AssocItems in add_custom_impl assist r=matklad a=Veykril
```rust
use std::fmt;
#[derive(Debu<|>g)]
struct Foo {
bar: String,
}
```
->
```rust
use std::fmt;
struct Foo {
bar: String,
}
impl fmt::Debug for Foo {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
${0:todo!()}
}
}
```
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2020-11-07 18:21:11 +00:00
m-ysk
69ba62e6cd
Minimize convert_integer_literal tests
2020-11-07 18:47:25 +09:00
Aleksey Kladov
5db789df9c
Cleanup API
2020-11-06 22:52:42 +01:00
bors[bot]
7f12a1f225
Merge #6485
...
6485: Remove RAW literals r=matklad a=matklad
bors r+
🤖
closes https://github.com/rust-analyzer/rust-analyzer/issues/6308
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-11-06 21:39:02 +00:00
bors[bot]
cdddcaee85
Merge #6477
...
6477: Add infer_function_return_type assist r=matklad a=Veykril
This adds an assist to insert a functions return type if it hasn't been specified yet by inferring it from the functions tail expression. This assist only becomes active if the cursor is on the tail expression. See https://github.com/rust-analyzer/rust-analyzer/issues/6303#issuecomment-714657326
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2020-11-06 21:32:27 +00:00
Aleksey Kladov
6158304f8b
Simplify
2020-11-06 22:30:58 +01:00
Aleksey Kladov
5ba4f949c2
Kill RAW_ literals
...
Syntactically, they are indistinguishable from non-raw versions, so it
doesn't make sense to separate then *at the syntax* level.
2020-11-06 22:23:14 +01:00
Lukas Wirth
186431e178
Adjust test-texts in infer_function_return_type
2020-11-06 21:51:15 +01:00
Lukas Wirth
4f0d02c276
Enable infer_function_return_type in return-type position
2020-11-06 21:49:03 +01:00
Aleksey Kladov
6725dcf847
Minor, cleanup style
2020-11-06 21:09:37 +01:00
bors[bot]
1faa9559fe
Merge #6480
...
6480: Support closure in change_return_type_to_result assist r=Veykril a=Veykril
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2020-11-06 19:41:13 +00:00
Lukas Wirth
e95a65ccaf
Support closure in change_return_type_to_result assist
2020-11-06 20:40:03 +01:00
Aleksey Kladov
eb46033390
More orthogonal API
2020-11-06 19:09:01 +01:00
Aleksey Kladov
735aaa7b39
Move int parsing to IntNumber token
2020-11-06 18:54:01 +01:00
Aleksey Kladov
6bcc33e5b7
Better imports
2020-11-06 18:39:09 +01:00
Aleksey Kladov
3820b26a93
Generate token for ints and floats
2020-11-06 18:19:24 +01:00
Aleksey Kladov
85db47ac76
Ignore RUST_SRC_PATH if it is set to invalid value
...
Folks report a ton of hard-to-diagnose issues, the solution for which
is "unset RUST_SRC_PATH". Let's just ignore RUST_SRC_PATH when it
won't work anyway!
2020-11-06 11:30:57 +01:00
Lukas Wirth
c665884474
Wrap non-block expressions in closures with a block
2020-11-06 03:06:08 +01:00
Lukas Wirth
2e6e5d8f73
Ignore unit expressions in infer_function_return_type assist
2020-11-06 02:17:34 +01:00
Lukas Wirth
0a7c8512ff
Support closures in infer_function_return_type assist
2020-11-06 02:15:13 +01:00
Lukas Wirth
a14df19d82
Add infer_function_return_type assist
2020-11-06 01:47:41 +01:00
Anatol Liu
3aa0e40726
Add static semantic token modifier for associated functions with no &self
...
refactor logic into code_model.rs
address comments
2020-11-05 15:46:04 -08:00