petr-tik
6ea28c3779
Fixed #5129
...
Addresses two issues:
- keep the parens from dbg!() in case the call is chained or there is
semantic difference if parens are excluded
- Exclude the semicolon after the dbg!(); by checking if it was
accidentally included in the macro_call
investigated, but decided against:
fix ast::MacroCall extraction to never include semicolons at the end -
this logic lives in rowan.
Defensively shorten the macro_range if there is a semicolon token.
Deleted unneccessary temp variable macro_args
Renamed macro_content to "paste_instead_of_dbg", because it isn't a
simple extraction of text inside dbg!() anymore
2020-07-27 22:17:15 +01:00
petr-tik
01bdeaad71
Make all test fn names consistent in remove_dbg
2020-07-27 21:28:41 +01:00
petr-tik
63751d1c6b
Added failing tests
2020-07-27 21:28:07 +01:00
Matthias Krüger
29d3d04227
assists: change_return_type_to_result: clarify assist description
...
I had a -> Option<PathBuf> fn, which I wanted to change to Result<PathBuf, _>, but despite advertising to do so, the assist did not
change the result type to Result<PathBuf, _> but instead just wrapped it in a Result: <Result<Option<PathBuf>, _>.
I changed the assist description to "Wrap return type in Result" to clarify that the assist only wraps the preexisting type and does
not do any deep Option-to-Result refactoring.
2020-07-22 22:44:31 +02:00
Timo Freiberg
3d9c123104
Replace existing visibility modifier in fix_visibility
2020-07-21 18:58:00 +02:00
Aleksey Kladov
be8a7048df
Cleanup extact variable
2020-07-21 18:10:03 +02:00
Aleksey Kladov
3bb1b3070a
minor
2020-07-21 17:50:19 +02:00
Jeremy Kolb
17f4d27f12
Minor perf tweaks per clippy
2020-07-19 14:26:24 -04:00
Aleksey Kladov
a28aa175d4
Add turbo-fish works after ()
2020-07-18 14:48:28 +02:00
Aleksey Kladov
7c082dcf0f
More precise ranges in remove hashes assist
2020-07-17 16:39:03 +02:00
bors[bot]
b63e23e98e
Merge #5350
...
5350: Filter assists r=matklad a=kjeremy
Uses the `CodeActionContext::only` field to compute only those assists the client cares about.
It works but I don't really like the implementation.
Co-authored-by: kjeremy <kjeremy@gmail.com>
Co-authored-by: Jeremy Kolb <kjeremy@gmail.com>
2020-07-15 17:58:46 +00:00
Jeremy Kolb
21c1504ca9
Move allow list into AssistConfig
2020-07-15 09:45:30 -04:00
Jonas Schievink
85f5cbc9dc
Move remove_bounds to edit.rs
2020-07-14 13:33:37 +02:00
Jonas Schievink
0f654b06ab
missing impl members: remove assoc. type bounds
2020-07-14 13:12:16 +02:00
Yuki Okushi
6f423466d1
Add a license field to all the crates
2020-07-14 10:57:26 +09:00
kjeremy
aa598ecb75
Filter assists
2020-07-13 17:41:47 -04:00
Aleksey Kladov
d9fd7ca6a5
change vis works on statics
2020-07-12 01:49:51 +02:00
Aleksey Kladov
a482eb0cd8
Better caret placement when filling match arms
2020-07-10 18:22:04 +02:00
Aleksey Kladov
68706b59c9
Don't mess with cursor position when adding hashes
2020-07-09 19:21:41 +02:00
Christoph Herzog
3360118040
Refactor AssistBuilder to manage a SourceChange
...
`AssistBuilder`` now managaes a full `SourceChange` instead of a
Vec<SourceFileEdit>.
This prepares AssistBuilder to handle creation of new files.
2020-07-07 12:10:18 +02:00
Aleksey Kladov
d09f692300
Add AssistKind::Generate
2020-07-03 19:32:18 +02:00
Aleksey Kladov
66b6a433c6
Unify naming of generating assists
2020-07-03 19:32:18 +02:00
kjeremy
4c9347ecc3
Don't categorize things we don't care about
2020-07-02 18:01:22 -04:00
kjeremy
36cc81ac71
Move AssistKind into AssistId
2020-07-02 17:48:35 -04:00
kjeremy
1d58e16824
Recategorize a few
2020-07-02 17:14:15 -04:00
Jeremy Kolb
b98c16a034
Categorize assists
2020-07-02 17:13:02 -04:00
Jonas Schievink
31f5b48817
Record and suggest trait items via ImportMap
2020-07-02 12:43:52 +02:00
Laurențiu Nicola
9710ad8c48
Reuse Semantics instances
2020-07-01 15:27:01 +03:00
Laurențiu Nicola
c1139a5a44
Use the existing Semantics in auto_import
2020-07-01 11:48:15 +03:00
Laurențiu Nicola
331e6d8f16
Remove db from AssistsContext
2020-07-01 10:25:59 +03:00
Laurențiu Nicola
5953cbd7ae
Make SemanticsScope non-generic
2020-07-01 09:34:45 +03:00
Laurențiu Nicola
95d67ec401
Use more of FxHash*
2020-06-29 18:07:52 +03:00
Veetaha
36128c170d
Get rid of unused imports
2020-06-29 01:23:39 +03:00
Veetaha
503f9498cd
Follow matklad suggestions
...
- Move vis_offset() to utils.rs
- Shorten explicit ra_syntax::ast -> ast
- Undo refactoring exhaustive pattern to non-exhaustive
2020-06-29 01:18:50 +03:00
Veetaha
e75e2ae5b6
Simlify with matches!()
2020-06-28 04:03:59 +03:00
Aleksey Kladov
f5584668db
introduce_variable -> extract_variable
2020-06-27 01:21:43 +02:00
bors[bot]
e628c66359
Merge #4945
...
4945: do not suggest assist for return type to result in bad case r=matklad a=bnjjj
close #4826
Co-authored-by: Benjamin Coenen <5719034+bnjjj@users.noreply.github.com>
2020-06-26 16:59:59 +00:00
Aleksey Kladov
dd5841556c
Smarter introduce variable
...
Use field init shorthand
2020-06-26 00:51:34 +02:00
Aleksey Kladov
d016cb4867
Use only one code-path for parsing fixtures
...
This removes leading newlines everywhere, shifting all ranges in tests
by one
2020-06-24 00:48:38 +02:00
Aleksey Kladov
e5101ae150
Centralize fixture parsing for assists
2020-06-24 00:30:34 +02:00
Aleksey Kladov
aa69757a01
More principled indentation trimming in fixtures
2020-06-23 23:33:41 +02:00
Aleksey Kladov
dad1333b48
New VFS
2020-06-23 17:51:06 +02:00
Laurențiu Nicola
76ddface08
Fix panic in split and merge import assists
2020-06-23 16:51:07 +03:00
Aleksey Kladov
6a6098d4c3
Remove RelativePathBuf from fixture
...
The paths in fixture are not really relative (the default one is
`/main.rs`), so it doesn't make sense to use `RelativePathBuf` here.
2020-06-23 00:14:44 +02:00
Benjamin Coenen
9342574097
do not suggest assist for return type to result in bad case #4826
...
Signed-off-by: Benjamin Coenen <5719034+bnjjj@users.noreply.github.com>
2020-06-21 18:47:27 +02:00
Benjamin Coenen
4c89d32f7a
do not suggest assist for return type to result in bad case #4826
...
Signed-off-by: Benjamin Coenen <5719034+bnjjj@users.noreply.github.com>
2020-06-18 22:16:39 +02:00
bors[bot]
83a16e825d
Merge #4878
...
4878: Make "Replace qualified name with use" replace *all* mentions of the path r=matklad a=jonas-schievink
Fixes https://github.com/rust-analyzer/rust-analyzer/issues/4836
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2020-06-16 05:29:05 +00:00
Jonas Schievink
4295a004ed
Operate only on AST paths instead of HIR
2020-06-16 00:49:59 +02:00
Jonas Schievink
aaaa68b56c
Simplify
2020-06-15 22:59:49 +02:00
Jonas Schievink
71c002e589
It's fookin' raw
2020-06-15 22:39:26 +02:00
bors[bot]
db6100dbaa
Merge #4889
...
4889: Deprecate hir::Path::from_ast r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-06-15 09:02:53 +00:00
Aleksey Kladov
52a220cece
Deprecate hir::Path::from_ast
2020-06-15 10:55:48 +02:00
Toby Dimmick
41f5471f3e
fill_match_arms bind pattern implementation
2020-06-14 22:44:51 +01:00
Toby Dimmick
34db4edb80
fill_match_arms bind pattern test
2020-06-14 22:43:16 +01:00
Jonas Schievink
5d66bfe163
Shorten *all* qualified paths when adding use
2020-06-13 19:12:05 +02:00
Jonas Schievink
b65c0a5893
Expose find_insert_use_container
2020-06-13 19:05:46 +02:00
Jonas Schievink
7e83ed99a8
Respect casing when searching for imports
2020-06-10 16:04:55 +02:00
Jonas Schievink
781b514e58
Add test for macro generated items
2020-06-10 12:38:58 +02:00
Jonas Schievink
a70a0ca73c
ImportsLocator: use ImportMap for non-local crates
2020-06-10 12:38:58 +02:00
Aleksey Kladov
8cad7d1a2b
Use correct indent when replacing with match
2020-06-09 12:38:47 +02:00
Aleksey Kladov
53cc2c16e7
Unwrap block works with match arms
2020-06-09 11:52:45 +02:00
Aleksey Kladov
5233766ce5
Simplify unwrapping of blocks
2020-06-09 11:33:28 +02:00
Aleksey Kladov
38fa4d17fb
Simplify API
2020-06-09 00:01:53 +02:00
bors[bot]
3a7c218fd4
Merge #4576
...
4576: Add implementation of extract struct from enum variant r=matklad a=mcrakhman
Hi guys! I implemented the extraction functionality including modifying multiple files. The only thing I didn't change the cursor position. I've done it with a previous API, but now snippets have been introduced and I need to figure out how to do it.
Please bear in mind that I am a newcomer in the rust-analyzer (and also Rust) world, so I tried to implement the feature to the best of my knowledge, but the API is very new to me, so I am very welcome to introducing changes etc.
Co-authored-by: Mikhail Rakhmanov <rakhmanov.m@gmail.com>
2020-06-08 16:28:48 +00:00
Florian Diebold
a4a4a1854e
Fix type parameter defaults
...
They should not be applied in expression or pattern contexts, unless there are
other explicitly given type args.
2020-06-05 20:09:13 +02:00
Mikhail Rakhmanov
5dda995538
Fix review comments
2020-06-05 13:17:17 +02:00
Mikhail Rakhmanov
74c3e7a1ad
Remove unnecessary return
2020-06-05 11:45:41 +02:00
Jess Balint
921306757b
introduce_named_lifetime assist wasn't applicable when type parameter
...
followed anonymous lifetime token
(fixes #4684 )
2020-06-04 17:31:21 -05:00
Mikhail Rakhmanov
b0c8a2be7b
Remove AsName import
2020-06-04 10:03:44 +02:00
Mikhail Rakhmanov
a6d3c77bdd
Fixed tests
2020-06-03 20:43:57 +02:00
Mikhail Rakhmanov
eefa10bc6b
Merge branch 'master' into assists_extract_enum
2020-06-03 20:10:54 +02:00
Mikhail Rakhmanov
a9d5675848
Fix incorrect behaviour if not resolved
2020-06-03 20:10:33 +02:00
Aleksey Kladov
285717de33
Rename assist
2020-06-01 15:41:16 +02:00
Aleksey Kladov
d08232b10d
Cleanup imports
2020-06-01 15:35:41 +02:00
bors[bot]
09df51dab8
Merge #4664
...
4664: Generate feature documentation from code r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-05-31 10:50:11 +00:00
Aleksey Kladov
8915183d7d
Don't require module docs for Features and Assists
2020-05-31 09:59:38 +02:00
bors[bot]
5d84028170
Merge #4562
...
4562: Assist: replace anonymous lifetime with a named one r=matklad a=jbalint
(fixes #4523 )
Co-authored-by: Jess Balint <jbalint@gmail.com>
2020-05-30 08:01:00 +00:00
Jess Balint
bd8aa04bae
add support for naming anon lifetimes in function return type
2020-05-28 15:10:14 -05:00
Mikhail Rakhmanov
08aa8e1de7
Further refactoring under review comments
2020-05-24 14:53:12 +02:00
Mikhail Rakhmanov
e2974ba8f7
Remove unnecessary set_file and change variable positions for better readability
2020-05-23 11:57:12 +02:00
Mikhail Rakhmanov
3a244e02b5
Remove unwraps where possible
2020-05-23 11:53:02 +02:00
Jess Balint
4967b811dd
tweak syntax
2020-05-22 19:09:37 -05:00
Mikhail Rakhmanov
6ee1c60c9c
Further review fixes
2020-05-23 01:41:08 +02:00
Mikhail Rakhmanov
4984520ef5
Use default instead of new in AssistDirector
2020-05-23 01:27:11 +02:00
Mikhail Rakhmanov
fce10200a0
Better naming and fix some review comments
2020-05-23 01:23:40 +02:00
kjeremy
d8af45472e
Remove unnecessary clone that prevented clippy from moving on
2020-05-22 17:13:14 -04:00
Mikhail Rakhmanov
ef1aaeb595
More formatting
2020-05-22 22:59:17 +02:00
Mikhail Rakhmanov
97ffe3c6e8
Refactor AssistDirector
2020-05-22 22:47:25 +02:00
Mikhail Rakhmanov
04a35784df
Formatting and remove unused imports
2020-05-22 22:43:52 +02:00
Mikhail Rakhmanov
5cd4eb6dd6
Add preliminary implementation of extract struct from enum variant
2020-05-22 22:28:30 +02:00
Aleksey Kladov
2c04aad2d2
KISS SourceChange
...
The idea behind requiring the label is a noble one, but we are not
really using it consistently anyway, and it should be easy to retrofit
later, should we need it.
2020-05-22 18:04:26 +02:00
Jess Balint
d42fd8efb6
use char range
2020-05-22 10:15:59 -05:00
Jess Balint
1f9e02c74e
fix generated docs issue
2020-05-22 09:25:55 -05:00
Jess Balint
1fae96a8d4
handle the case of conflicting lifetime param name
...
- and clean/format code
2020-05-22 08:51:37 -05:00
Jess Balint
2ab79c6f4d
Assist: replace anonymous lifetime with a named one
...
(fixes #4523 )
2020-05-21 21:04:02 -05:00
Aleksey Kladov
ff28c79ebd
Remove dead code for handling cursor positions
2020-05-21 15:08:03 +02:00
Aleksey Kladov
4fdb1eac08
Remove unused cursor positions
2020-05-21 10:37:11 +02:00
Aleksey Kladov
70930d3bb2
Remove set_cursor
2020-05-21 00:03:42 +02:00
Aleksey Kladov
4ac0abd296
Snippetify unwrap -> match
2020-05-21 00:01:08 +02:00
Aleksey Kladov
8300132ed0
More snippets
2020-05-20 23:50:42 +02:00