Lukas Wirth
a1c8bdecfd
Use items can also have doc comments
2020-12-04 17:09:40 +01:00
bors[bot]
dc09d97fb2
Merge #6649
...
6649: Accept more than just the standard rust literal suffixes in *Number::suffix r=matklad a=Veykril
I am not entirely sure whether to keep or remove the `SUFFIXES` but I figured we can always bring them back once they are needed.
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2020-12-02 13:13:01 +00:00
Lukas Wirth
49fbfffb48
Add ast::*Number::suffix tests unit tests
2020-11-28 16:22:28 +01:00
Lukas Wirth
347da74eda
Avoid allocation in ast::String::value if the string needs no unescaping
2020-11-27 12:03:58 +01:00
Lukas Wirth
931493e949
Accept more than just the standard rust literal suffixes in *Number::suffix
2020-11-27 00:00:18 +01:00
bors[bot]
e17d604888
Merge #6558
...
6558: format string highlighting: handle hex + debug type specifier r=matklad a=ruabmbua
Should fix https://github.com/rust-analyzer/rust-analyzer/issues/6427
Co-authored-by: Roland Ruckerbauer <roland.rucky@gmail.com>
2020-11-16 11:07:29 +00:00
Roland Ruckerbauer
a15dda48c6
format string highlighting: handle hex + debug type specifier
2020-11-15 17:43:14 +01:00
Lukas Wirth
e55a44a831
Use shorthand record syntax when renaming struct initializer field
2020-11-14 17:51:09 +01:00
Aleksey Kladov
81ac99f60a
Simplify code
2020-11-12 11:45:18 +01: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
Aleksey Kladov
5db789df9c
Cleanup API
2020-11-06 22:52:42 +01: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
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
Lukas Wirth
19443c1fa3
Add missing AssocItems in add_custom_impl assist
2020-11-05 23:41:46 +01:00
bors[bot]
bd6eeffb2f
Merge #6456
...
6456: Support record variants in extract_struct_from_enum_variant r=matklad a=Veykril
As requested :)
This also prevents the assist from being disabled if a definition in the value namespace exists with the same name as our new struct since that won't cause a collision
#4468
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2020-11-04 12:37:29 +00:00
Lukas Wirth
6145234450
Support struct variants in extract_struct_from_enum_variant
2020-11-03 20:57:04 +01:00
bors[bot]
7c94f1cb5e
Merge #6454
...
6454: Fix overflow panic in convert_interger_literal assist r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-11-03 18:59:15 +00:00
Aleksey Kladov
9349353e04
Fix overflow panic in convert_interger_literal assist
...
This also seizes the opportunity to move integer literal parsing to
the syntax crate, were it logically belongs.
Note though that this is still done in an ad hoc manner -- we probably
should split kitchen sink ast::Literal into a separate APIs for
strings, ints, etc
2020-11-03 19:57:57 +01:00
Lukas Wirth
cd349dbbc4
Make insert_use return a SyntaxRewriter
2020-11-02 21:40:52 +01:00
Aleksey Kladov
b610118453
Deny unreachable-pub
...
It's very useful when `pub` is equivalent to "this is crate's public
API", let's enforce this!
Ideally, we should enforce it for local `cargo test`, and only during
CI, but that needs https://github.com/rust-lang/cargo/issues/5034 .
2020-11-02 14:07:08 +01:00
Josh Mcguigan
4e76e884bd
correct hover for items with doc attribute with raw strings
2020-10-23 19:36:30 -07: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
kjeremy
82d6cfd495
Minor clippy performance suggestions
2020-09-30 15:22:49 -04: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
7d90bb1f47
Rename impl edit method to be more explicit
2020-09-21 10:01:50 +01:00
Matt Hooper
ae7c982421
Add make utility for empty associated item lists
2020-09-21 00:39:17 +01:00
Matt Hooper
4362297a0b
Add edit utility for adding an associated item list to a impl def
2020-09-21 00:38:18 +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
Lukas Wirth
a898752881
Reimplement import merging by making it recursive properly nesting all levels
2020-09-12 19:19:19 +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
e1b8d836a9
Remove unnecessary comma
2020-09-04 22:58:50 +03:00
Aleksei Sidorov
ef0a1b2e58
Fix tests
2020-09-04 17:55:27 +03:00
Aleksei Sidorov
477fa75cfb
Fix nitpicks
2020-09-04 15:24:36 +03:00
Lukas Wirth
952f385682
Impl make::blank_line
2020-09-03 18:36:07 +02:00
Aleksei Sidorov
7259cc82f3
Resolve most of corner cases
2020-09-03 17:46:04 +03:00
Aleksei Sidorov
fe3170dc34
Initial implementation of the #5085 issue
2020-09-03 14:47:07 +03:00
Aleksey Kladov
75b1f9ee23
Unify naming
2020-09-03 12:18:46 +02: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
07da02fc37
⬆️ crates
2020-08-27 19:06:00 +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
Jonas Schievink
f3ac19e8cd
Support extern types
2020-08-24 22:02:55 +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
863b1fb731
⬆️ ungrammar
2020-08-21 19:14:05 +02:00