]>
git.lizzy.rs Git - rust.git/log
bors[bot] [Tue, 17 Nov 2020 18:01:18 +0000 (18:01 +0000)]
Merge #6577 #6579 #6581
6577: fix typos in syntax.md r=matklad a=jakobhellermann
6579: cargo update and add new license r=matklad a=kjeremy
6581: Use vscode-languageclient 7.0.0-next.14 r=matklad a=kjeremy
Co-authored-by: Jakob Hellermann <jakob.hellermann@protonmail.com>
Co-authored-by: kjeremy <kjeremy@gmail.com>
bors[bot] [Tue, 17 Nov 2020 17:50:08 +0000 (17:50 +0000)]
Merge #6553
6553: Auto imports in completion r=matklad a=SomeoneToIgnore
![completion](https://user-images.githubusercontent.com/
2690773 /
99155339 -
ae4fb380 -26bf-11eb-805a-
655b1706ce70 .gif)
Closes https://github.com/rust-analyzer/rust-analyzer/issues/1062 but does not handle the completion order, since it's a separate task for https://github.com/rust-analyzer/rust-analyzer/issues/4922 , https://github.com/rust-analyzer/rust-analyzer/issues/4922 and maybe something else.
2 quirks in the current implementation:
* traits are not auto imported during method completion
If I understand the current situation right, we cannot search for traits by a **part** of a method name, we need a full name with correct case to get a trait for it.
* VSCode (?) autocompletion is not as rigid as in Intellij Rust as you can notice on the animation.
Intellij is able to refresh the completions on every new symbol added, yet VS Code does not query the completions on every symbol for me.
With a few debug prints placed in RA, I've observed the following behaviour: after the first set of completion suggestions is received, next symbol input does not trigger a server request, if the completions contain this symbol.
When more symbols added, the existing completion suggestions are filtered out until none are left and only then, on the next symbol it queries for completions.
It seems like the only alternative to get an updated set of results is to manually retrigger it with Esc and Ctrl + Space.
Despite the eerie latter bullet, the completion seems to work pretty fine and fast nontheless, but if you have any ideas on how to make it more smooth, I'll gladly try it out.
Co-authored-by: Kirill Bulatov <mail4score@gmail.com>
bors[bot] [Tue, 17 Nov 2020 15:47:36 +0000 (15:47 +0000)]
Merge #6582
6582: Fill the diagnostic code field in publish_diagnostics r=kjeremy a=Veykril
Fixes #6580
Before:
![Code_znn6VgLLH9](https://user-images.githubusercontent.com/
3757771 /
99408084 -
213f7100 -28f0-11eb-8317-
3f5c2b93313d .png)
After:
![Code_c4jJsvzOEA](https://user-images.githubusercontent.com/
3757771 /
99408096 -
23093480 -28f0-11eb-9bb2-
8ebf2fb3d5a1 .png)
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
Lukas Wirth [Tue, 17 Nov 2020 15:14:45 +0000 (16:14 +0100)]
Fill the diagnostic code field in publish_diagnostics
kjeremy [Tue, 17 Nov 2020 15:10:34 +0000 (10:10 -0500)]
Use vscode-languageclient 7.0.0-next.14
bors[bot] [Tue, 17 Nov 2020 14:41:27 +0000 (14:41 +0000)]
Merge #6578
6578: Simpify project_model r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
kjeremy [Tue, 17 Nov 2020 14:39:25 +0000 (09:39 -0500)]
cargo update and add new license
Aleksey Kladov [Tue, 17 Nov 2020 14:25:46 +0000 (15:25 +0100)]
Simplify
Aleksey Kladov [Tue, 17 Nov 2020 12:35:25 +0000 (13:35 +0100)]
Make code more readable
Aleksey Kladov [Tue, 17 Nov 2020 12:29:45 +0000 (13:29 +0100)]
Minor
Aleksey Kladov [Tue, 17 Nov 2020 11:19:04 +0000 (12:19 +0100)]
Remove dead code
Aleksey Kladov [Tue, 17 Nov 2020 11:17:24 +0000 (12:17 +0100)]
Simplify
Jakob Hellermann [Tue, 17 Nov 2020 14:16:52 +0000 (15:16 +0100)]
fix typos in syntax.md
bors[bot] [Tue, 17 Nov 2020 13:44:37 +0000 (13:44 +0000)]
Merge #6575
6575: Use standard code style for test fixtures r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Tue, 17 Nov 2020 13:43:23 +0000 (14:43 +0100)]
Use standard code style for test fixtures
bors[bot] [Tue, 17 Nov 2020 13:34:46 +0000 (13:34 +0000)]
Merge #6574
6574: **Unwrap Block** supports stand-alone blocks r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Tue, 17 Nov 2020 13:08:31 +0000 (14:08 +0100)]
**Unwrap Block** supports stand-alone blocks
Aleksey Kladov [Tue, 17 Nov 2020 13:07:13 +0000 (14:07 +0100)]
Simplify
Aleksey Kladov [Tue, 17 Nov 2020 13:00:52 +0000 (14:00 +0100)]
Assist target should point at *existing* code
bors[bot] [Tue, 17 Nov 2020 13:22:43 +0000 (13:22 +0000)]
Merge #6573
6573: Add **Ignore Test** assist r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Tue, 17 Nov 2020 13:22:04 +0000 (14:22 +0100)]
Add **Ignore Test** assist
Kirill Bulatov [Tue, 17 Nov 2020 11:19:56 +0000 (13:19 +0200)]
Actually enable eager completion
bors[bot] [Tue, 17 Nov 2020 10:53:12 +0000 (10:53 +0000)]
Merge #6571
6571: Cleanup project model r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Tue, 17 Nov 2020 10:51:45 +0000 (11:51 +0100)]
Remove needless alloc
Aleksey Kladov [Tue, 17 Nov 2020 10:50:54 +0000 (11:50 +0100)]
Compress code
Aleksey Kladov [Tue, 17 Nov 2020 10:31:40 +0000 (11:31 +0100)]
simplify
bors[bot] [Tue, 17 Nov 2020 10:13:39 +0000 (10:13 +0000)]
Merge #6566
6566: Latest LSP 3.16 protocol r=matklad a=kjeremy
Pulls in https://github.com/gluon-lang/lsp-types/pull/186
Co-authored-by: kjeremy <kjeremy@gmail.com>
Kirill Bulatov [Mon, 16 Nov 2020 21:16:41 +0000 (23:16 +0200)]
Avoid turning completion objects into builders
kjeremy [Mon, 16 Nov 2020 20:10:13 +0000 (15:10 -0500)]
Latest LSP 3.16 protocol
Pulls in https://github.com/gluon-lang/lsp-types/pull/186
Kirill Bulatov [Mon, 16 Nov 2020 19:24:54 +0000 (21:24 +0200)]
Remove query aliases
Kirill Bulatov [Sat, 14 Nov 2020 21:17:08 +0000 (23:17 +0200)]
Properly fill the completion settings
Kirill Bulatov [Sat, 14 Nov 2020 12:59:03 +0000 (14:59 +0200)]
Fix the other test
Kirill Bulatov [Sat, 14 Nov 2020 12:50:57 +0000 (14:50 +0200)]
Qualify autoimport completion suggestions
Kirill Bulatov [Sat, 14 Nov 2020 09:59:23 +0000 (11:59 +0200)]
Better filter mod paths
Kirill Bulatov [Fri, 13 Nov 2020 23:26:31 +0000 (01:26 +0200)]
Move autoimport completion into the unqialified_path module
Kirill Bulatov [Fri, 13 Nov 2020 23:07:03 +0000 (01:07 +0200)]
Omit modules during autocompletion
Kirill Bulatov [Fri, 13 Nov 2020 20:31:41 +0000 (22:31 +0200)]
Tweak the search limits a bit
Kirill Bulatov [Fri, 13 Nov 2020 19:25:45 +0000 (21:25 +0200)]
Reuse existing element rendering
Kirill Bulatov [Fri, 13 Nov 2020 17:16:56 +0000 (19:16 +0200)]
Use imports_locator
Kirill Bulatov [Fri, 13 Nov 2020 16:32:30 +0000 (18:32 +0200)]
Rename the module
Kirill Bulatov [Tue, 10 Nov 2020 21:40:07 +0000 (23:40 +0200)]
Allow to configure the merge behavior
Kirill Bulatov [Tue, 10 Nov 2020 10:00:42 +0000 (12:00 +0200)]
Add braces to functions and macros
Kirill Bulatov [Tue, 10 Nov 2020 09:08:59 +0000 (11:08 +0200)]
Tidy up the tests
Kirill Bulatov [Sat, 7 Nov 2020 22:23:05 +0000 (00:23 +0200)]
Use rewriter api to add both changes
Kirill Bulatov [Fri, 18 Sep 2020 20:40:11 +0000 (23:40 +0300)]
Add imports in auto completion
bors[bot] [Mon, 16 Nov 2020 16:28:43 +0000 (16:28 +0000)]
Merge #6565
6565: Prepare to recompute completions on every keystroke r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Mon, 16 Nov 2020 16:27:36 +0000 (17:27 +0100)]
Prepare to recompute completions on every keystroke
If we set `is_incomplete: true`, VS Code will re-query completions
after every keypress.
bors[bot] [Mon, 16 Nov 2020 11:49:48 +0000 (11:49 +0000)]
Merge #6563
6563: Don't complete keywords in struct initializers r=matklad a=Veykril
Fixes #6562
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
Lukas Wirth [Mon, 16 Nov 2020 11:18:01 +0000 (12:18 +0100)]
Don't complete keywords in struct literals
bors[bot] [Mon, 16 Nov 2020 11:07:29 +0000 (11:07 +0000)]
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>
bors[bot] [Sun, 15 Nov 2020 18:51:23 +0000 (18:51 +0000)]
Merge #6552
6552: Properly handle shorthands in destructure patterns when renaming r=SomeoneToIgnore a=Veykril
Fixes #6548 and #6551.
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
Roland Ruckerbauer [Sun, 15 Nov 2020 16:43:14 +0000 (17:43 +0100)]
format string highlighting: handle hex + debug type specifier
Lukas Wirth [Sun, 15 Nov 2020 15:11:06 +0000 (16:11 +0100)]
Cleanup edit_text_range_for_record_field_expr_or_pat
Lukas Wirth [Sat, 14 Nov 2020 18:57:47 +0000 (19:57 +0100)]
Use shorthand field syntax in destructures
Lukas Wirth [Sat, 14 Nov 2020 18:11:09 +0000 (19:11 +0100)]
Properly handle shorthands in destructure patterns when renaming
Lukas Wirth [Sat, 14 Nov 2020 16:49:36 +0000 (17:49 +0100)]
Use shorthand record syntax when renaming struct initializer field
bors[bot] [Fri, 13 Nov 2020 23:30:13 +0000 (23:30 +0000)]
Merge #6544
6544: add suggestion ..Default::default() for remaining struct fields in a constructor r=bnjjj a=bnjjj
I'm not sure I should import `assists` crate inside `completions`, maybe we should move out `FamousDefs` from `assists` ? Let me know :)
close #6492
Signed-off-by: Benjamin Coenen <5719034+bnjjj@users.noreply.github.com>
Co-authored-by: Benjamin Coenen <5719034+bnjjj@users.noreply.github.com>
Benjamin Coenen [Fri, 13 Nov 2020 22:20:26 +0000 (23:20 +0100)]
add suggestion ..Default::default() for remaining struct fields in a constructor #6492
Signed-off-by: Benjamin Coenen <5719034+bnjjj@users.noreply.github.com>
bors[bot] [Fri, 13 Nov 2020 16:54:31 +0000 (16:54 +0000)]
Merge #6545
6545: Simplify project model r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Fri, 13 Nov 2020 16:53:48 +0000 (17:53 +0100)]
Remove dead code
Aleksey Kladov [Fri, 13 Nov 2020 16:38:26 +0000 (17:38 +0100)]
Cleanup workspace loading a tiny bit
Benjamin Coenen [Fri, 13 Nov 2020 16:17:16 +0000 (17:17 +0100)]
add suggestion ..Default::default() for remaining struct fields in a constructor #6492
Signed-off-by: Benjamin Coenen <5719034+bnjjj@users.noreply.github.com>
Aleksey Kladov [Fri, 13 Nov 2020 15:44:48 +0000 (16:44 +0100)]
Move tricky workspace logic to a separate module
bors[bot] [Fri, 13 Nov 2020 15:33:24 +0000 (15:33 +0000)]
Merge #6543
6543: cleanup r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Fri, 13 Nov 2020 15:32:57 +0000 (16:32 +0100)]
cleanup
bors[bot] [Fri, 13 Nov 2020 15:25:26 +0000 (15:25 +0000)]
Merge #6519
6519: Add "Open Cargo.toml" action r=matklad a=p3achyjr
## What is it?
This adds an "open cargo.toml" action from the vscode shell, resolves #6462
## Test
Ran ```cargo xtask install --server``` and ```cargo xtask install --client```, then ```Developer: Reload Window```.
![image](https://user-images.githubusercontent.com/
8763808 /
98614382 -
2a578f00 -22ad-11eb-9811-
4a72a54ff6fb .png)
When clicked:
![image](https://user-images.githubusercontent.com/
8763808 /
98618176 -
77d7fa00 -22b5-11eb-8788-
35256542f3a6 .png)
Co-authored-by: Anatol Liu <axlui@anatols-mbp.lan>
bors[bot] [Fri, 13 Nov 2020 15:18:55 +0000 (15:18 +0000)]
Merge #6542
6542: Revert "Upgrade version of npms lockfile" r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Fri, 13 Nov 2020 15:17:52 +0000 (16:17 +0100)]
Revert "Upgrade version of npms lockfile"
This reverts commit
3d559afc11b230d52b13c5540706b85a7eeb3490 .
VS Code uses nodejs 12 still, so its better to stick to the format it
understands.
Anatol Liu [Fri, 13 Nov 2020 01:48:07 +0000 (17:48 -0800)]
add open Cargo.toml action
bors[bot] [Thu, 12 Nov 2020 19:39:51 +0000 (19:39 +0000)]
Merge #6538
6538: Upgrade version of npms lockfile r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Thu, 12 Nov 2020 19:39:16 +0000 (20:39 +0100)]
Upgrade version of npms lockfile
bors[bot] [Thu, 12 Nov 2020 17:55:32 +0000 (17:55 +0000)]
Merge #6524
6524: Add support for loading rustc private crates r=matklad a=xldenis
This PR presents a solution to the problem of making`rustc_private` crates visible to `rust-analyzer`.
Currently developers add dependencies to those crates behind a `cfg(NOT_A_TARGET)` target to prevent `cargo` from building them.
This solution is unsatisfactory since it requires modifying `Cargo.toml` and causes problems for collaboration or CI.
The proposed solution suggested by @matklad is to allow users to give RA a path where the `rustc` sources could be found and then load that like a normal workspace.
This PR implements this solution by adding a `rustcSource` configuration item and adding the cargo metadata to the crate graph if it is provided.
------
I have no idea how this should be tested, or if this code is generally tested at all. I've locally run the extension with these changes and it correctly loads the relevant crates on a `rustc_private` project of mine.
Co-authored-by: Xavier Denis <xldenis@gmail.com>
Xavier Denis [Thu, 12 Nov 2020 17:46:47 +0000 (18:46 +0100)]
Address review comments
bors[bot] [Thu, 12 Nov 2020 17:48:25 +0000 (17:48 +0000)]
Merge #6514
6514: Fix extract_struct_from_enum_variant not updating record references r=Veykril a=Veykril
Related to #6510
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
Lukas Wirth [Thu, 12 Nov 2020 16:47:58 +0000 (17:47 +0100)]
Add extra test to extract_struct_from_enum_variant
bors[bot] [Thu, 12 Nov 2020 17:12:21 +0000 (17:12 +0000)]
Merge #6513
6513: Support qualified function calls in remove_unused_param r=Veykril a=Veykril
Also adds a test to check that it removes unused params across files.
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
Lukas Wirth [Mon, 9 Nov 2020 18:18:26 +0000 (19:18 +0100)]
Support qualified function calls in remove_unused_param
Lukas Wirth [Thu, 12 Nov 2020 16:32:45 +0000 (17:32 +0100)]
Use Module::find_use_path_prefixed in extract_struct_from_enum_variant assist
Lukas Wirth [Thu, 12 Nov 2020 16:13:33 +0000 (17:13 +0100)]
Fix extract_struct_from_enum_variant not updating record references
bors[bot] [Thu, 12 Nov 2020 12:01:15 +0000 (12:01 +0000)]
Merge #6529
6529: Do not insert imports before inner comments r=Veykril a=SomeoneToIgnore
Co-authored-by: Kirill Bulatov <mail4score@gmail.com>
Kirill Bulatov [Thu, 12 Nov 2020 11:52:24 +0000 (13:52 +0200)]
Remove the fixme
Kirill Bulatov [Wed, 11 Nov 2020 12:04:31 +0000 (14:04 +0200)]
Add a FIXME for non-unified inner attributes
Kirill Bulatov [Wed, 11 Nov 2020 09:37:41 +0000 (11:37 +0200)]
Do not insert imports before inner comments
bors[bot] [Thu, 12 Nov 2020 11:09:44 +0000 (11:09 +0000)]
Merge #6534
6534: Fix attachment of inner doc comments r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Thu, 12 Nov 2020 11:09:12 +0000 (12:09 +0100)]
Fix attachment of inner doc comments
Aleksey Kladov [Thu, 12 Nov 2020 10:45:18 +0000 (11:45 +0100)]
Simplify code
bors[bot] [Thu, 12 Nov 2020 10:23:40 +0000 (10:23 +0000)]
Merge #6531
6531: Update crates r=matklad a=kjeremy
Co-authored-by: kjeremy <kjeremy@gmail.com>
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Thu, 12 Nov 2020 10:19:26 +0000 (11:19 +0100)]
Update tests
kjeremy [Wed, 11 Nov 2020 16:17:48 +0000 (11:17 -0500)]
Update crates
bors[bot] [Wed, 11 Nov 2020 16:03:42 +0000 (16:03 +0000)]
Merge #6530
6530: Do not use yanked once_cell r=kjeremy a=kjeremy
Co-authored-by: kjeremy <kjeremy@gmail.com>
kjeremy [Wed, 11 Nov 2020 16:02:49 +0000 (11:02 -0500)]
Do not use yanked once_cell
Xavier Denis [Wed, 11 Nov 2020 12:03:44 +0000 (13:03 +0100)]
Reorder rustc_private loading
Xavier Denis [Tue, 10 Nov 2020 20:50:05 +0000 (21:50 +0100)]
Add support for loading rustc private crates
bors[bot] [Wed, 11 Nov 2020 02:13:46 +0000 (02:13 +0000)]
Merge #6526
6526: Replace RacyFlag with OnceCell r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Wed, 11 Nov 2020 02:11:40 +0000 (03:11 +0100)]
Replace RacyFlag with OnceCell
bors[bot] [Tue, 10 Nov 2020 19:39:27 +0000 (19:39 +0000)]
Merge #6523
6523: Be more pedantic when checking codeAction/resolve support r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Tue, 10 Nov 2020 19:38:10 +0000 (20:38 +0100)]
Be more pedantic when checking codeAction/resolve support
bors[bot] [Tue, 10 Nov 2020 17:53:10 +0000 (17:53 +0000)]
Merge #6521
6521: Switch to upstream protocol for resolving code action r=matklad a=matklad
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.
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Aleksey Kladov [Tue, 10 Nov 2020 17:20:01 +0000 (18:20 +0100)]
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.
bors[bot] [Mon, 9 Nov 2020 23:41:43 +0000 (23:41 +0000)]
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>