Lukas Wirth
07394316ff
Add function references hover action
2021-06-04 15:54:55 +02:00
wxb1ank
388a1945ac
Lint toolchain.ts
2021-06-02 13:58:14 -04:00
wxb1ank
0448b73646
migrate from fs
to vscode.FileSystem
API
2021-06-02 12:11:32 -04:00
wxb1ank
3ca7f61a8d
internal: use vscode.FileSystem API in main.ts
2021-06-02 12:07:13 -04:00
Kirill Bulatov
60e7817e9c
Fix opening single files
2021-05-31 21:37:08 +03:00
Aleksey Kladov
ee995dbfd4
fix: fix shell injection in task spawning
...
closes #9058
2021-05-31 20:11:36 +03:00
bors[bot]
b4015b6aaa
Merge #8995
...
8995: fix: Create tasks for all workspaces r=matklad a=SomeoneToIgnore
Follow-up of https://github.com/rust-analyzer/rust-analyzer/pull/8955#discussion_r637897170
Before:
<img width="593" alt="image" src="https://user-images.githubusercontent.com/2690773/119575267-712b5300-bdbf-11eb-833c-f688f7a7dd0f.png ">
After:
<img width="643" alt="image" src="https://user-images.githubusercontent.com/2690773/119575273-74264380-bdbf-11eb-8283-a78bbcb7346e.png ">
This is the first time I've used multiple workspaces feature in VSCode, but so far looks like
* opening detached files works
* run and debug lens work
* Rust Analyzer: Run action works
* run task works and now shows tasks for all workspaces
* there are no platform-specific changes involved
Co-authored-by: Kirill Bulatov <mail4score@gmail.com>
2021-05-26 20:58:07 +00:00
Aleksey Kladov
249e22b325
minor: explicitly set the focus to false
2021-05-26 13:04:01 +03:00
Kirill Bulatov
a05163db14
Create tasks for all workspaces
2021-05-26 01:11:52 +03:00
Eduardo Canellas
3dce8a3924
fix: cursor position after item move command
...
closes Item movers need some fixes #8492
2021-05-24 13:17:28 -03:00
bors[bot]
05fc97e31b
Merge #8955
...
8955: feature: Support standalone Rust files r=matklad a=SomeoneToIgnore
![standalone](https://user-images.githubusercontent.com/2690773/119277037-0b579380-bc26-11eb-8d77-20d46ab4916a.gif )
Closes https://github.com/rust-analyzer/rust-analyzer/issues/6388
Caveats:
* I've decided to support multiple detached files in the code (anticipating the scratch files), but I found no way to open multiple files in VSCode at once: running `code *.rs` makes the plugin to register in the `vscode.workspace.textDocuments` only the first file, while code actually displays all files later.
Apparently what happens is the same as when you have VSCode open at some workplace already and then run `code some_other_file.rs`: it gets opened in the same workspace of the same VSCode with no server to support it.
If there's a way to override it, I'd appreciate the pointer.
* No way to toggle inlay hints, since the setting is updated for the workspace (which does not exist for a single file opened)
> [2021-05-24 00:22:49.100] [exthost] [error] Error: Unable to write to Workspace Settings because no workspace is opened. Please open a workspace first and try again.
* No runners/lens to run or check the code are implemented for this mode.
In theory, we can detect `rustc`, run it on a file and run the resulting binary, but not sure if worth doing it at this stage.
Otherwise imports, hints, completion and other features work.
Co-authored-by: Kirill Bulatov <mail4score@gmail.com>
2021-05-24 12:40:25 +00:00
Aleksey Kladov
df146341c5
fix: can download server binary on windows again
...
Closes #8956
See https://github.com/rust-analyzer/rust-analyzer/pull/8951#issuecomment-846716999
2021-05-24 11:52:25 +03:00
Kirill Bulatov
c1f6a5a0b0
Fix ts lint errors
2021-05-23 23:47:58 +03:00
Aleksey Kladov
a6633a88a8
fix: reveal snippets
2021-05-23 23:40:19 +03:00
Kirill Bulatov
b3383b0661
Send detached files info to server via init params
2021-05-23 22:46:20 +03:00
Kirill Bulatov
d9a5490646
Start rust-analyzer server for arbitrary rust files
2021-05-23 22:46:20 +03:00
Kirill Bulatov
daedcc2b77
More style fixes
2021-05-23 13:57:04 +03:00
Kirill Bulatov
223dbd2187
Style fix
2021-05-23 13:43:06 +03:00
Kirill Bulatov
95c51d8f1d
Don't use a deprecated accessor
2021-05-23 11:54:03 +03:00
Kirill Bulatov
230ed3304a
Better releaseId naming
2021-05-23 11:51:35 +03:00
Kirill Bulatov
be3e997ddf
Remove nightly release id from local storage for stable extensions
2021-05-23 11:49:34 +03:00
Kirill Bulatov
b8635a8e60
Download nightly extension when configured and run from stable extension version
2021-05-23 11:28:06 +03:00
Jonas Schievink
463ecefc64
Use .rs
file ending to get syntax highlighting
2021-05-22 00:11:54 +02:00
Jonas Schievink
271ec6b990
Add a "Debug ItemTree" LSP request
2021-05-21 23:59:52 +02:00
Jonas Schievink
a85a2c4d15
Allow viewing the crate graph in a webview
2021-05-11 16:15:31 +02:00
bors[bot]
fb45d2adec
Merge #8624
...
8624: Automatically detect rust library source file map r=vsrs a=vsrs
This PR adds a new possible `rust-analyzer.debug.sourceFileMap` value:
```json
{
"rust-analyzer.debug.sourceFileMap": "auto"
}
```
I did not make it the default because it uses two shell calls (`rustc --print sysroot` and `rustc -V -v`). First one can be slow (https://github.com/rust-lang/rustup/issues/783 )
Fixes #8619
Co-authored-by: vsrs <vit@conrlab.com>
2021-04-27 20:41:35 +00:00
Jorge Mederos Alvarado
0230f22d2a
Fix how and when old inlay hint decorations are disposed
2021-04-26 20:29:54 -04:00
Jorge Mederos Alvarado
9e5ef0ce72
Add option to opt out from smaller inlay hints font size
2021-04-26 20:29:54 -04:00
vsrs
1b4197cb35
Use explicit rustc commit-hash
...
Required for lldb on mac
2021-04-22 18:59:03 +03:00
vsrs
1ebfe11730
Add special auto
value for debug.sourceFileMap
2021-04-22 16:09:46 +03:00
vsrs
8f781e782c
Autodetect rust library source file map
2021-04-22 15:27:56 +03:00
Jonas Schievink
30aae2cefb
Move cursor position when using item movers
2021-04-14 00:03:04 +02:00
Aleksey Kladov
ad02bfe58f
Sacrifice for the semicolon god
2021-04-06 15:50:02 +03:00
Aleksey Kladov
8fe20b19d4
More robust status notifications
2021-04-06 15:45:31 +03:00
Jonas Schievink
e6580aa380
Use const
instead of let
2021-03-27 19:02:08 +01:00
Jonas Schievink
201fbac8a9
Fix handling of multi-cursor snippets
...
This allows one snippet per TextEdit, multiple in the same TextEdit
are still broken
2021-03-27 18:50:55 +01:00
ivan770
236abe2e60
Improve cursor positioning after moving
2021-03-18 11:22:28 +02:00
ivan770
5f5a3e6eae
Fix tsfmt and eslint warnings
2021-03-18 11:22:27 +02:00
ivan770
a154ef7ca1
Remove movable array, improve client code
2021-03-18 11:22:27 +02:00
ivan770
7d60458495
Item up and down movers
2021-03-18 11:22:27 +02:00
Lukas Wirth
f05fef7063
Support multiple parents in parentModule in vscode-client
2021-03-15 15:50:55 +01:00
bors[bot]
7accf6bc37
Merge #7799
...
7799: Related tests r=matklad a=vsrs
![tests](https://user-images.githubusercontent.com/62505555/109397453-a9013680-7947-11eb-8b11-ac03079f7645.gif )
This adds an ability to look for tests for the item under the cursor: function, constant, data type, etc
The LSP part is bound to change. But the feature itself already works and I'm looking for a feedback :)
Co-authored-by: vsrs <vit@conrlab.com>
2021-03-13 13:50:35 +00:00
Laurențiu Nicola
88ef0541a5
Improve version display
2021-03-12 19:49:00 +02:00
vsrs
daa2637486
Apply review suggestions
2021-03-11 17:39:41 +03:00
Kam Y. Tse
77b7c96aea
Make extension respect http proxy settings
2021-03-07 18:21:48 +08:00
vsrs
f234b80520
Remove erroneous comment
2021-02-27 21:59:53 +03:00
vsrs
45d4e6b639
Add progress reporting
2021-02-27 21:07:23 +03:00
vsrs
669e117644
Add LSP request and VSCode command
2021-02-27 20:04:43 +03:00
Laurențiu Nicola
23a8fc5284
Try to detect musl distros in the Code extension
2021-02-20 18:44:28 +02:00
kjeremy
a403be6456
Remove Semantic Tokens flicker workaround
...
https://github.com/microsoft/vscode-languageserver-node/issues/576 has been closed with
the latest vscode-languageclient release.
2021-02-16 16:27:30 -05:00
Jeremy Kolb
8105418b25
Start LSP 3.17 support
2021-02-14 14:51:29 -05:00
Yaroslav Bolyukin
471795b019
fix: tolerate spaces in nix binary patching
...
If path to original file contains space (I.e on code insiders, where
default data directory is ~/Code - Insiders/), then there is syntax
error evaluating src arg.
Instead pass path as str, and coerce to path back in nix expression
Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
2021-02-13 23:11:00 +03:00
bors[bot]
82a1b91f20
Merge #7625
...
7625: Add **Copy Run Command Line** command for vscode r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2021-02-10 11:38:56 +00:00
Aleksey Kladov
97166e2ad9
Add **Copy Run Command Line** command for vscode
...
This is useful when you want to, e.g., run a specific test in a terminal
with `--release`.
2021-02-10 14:37:27 +03:00
Sahandevs
91dd61b9a6
use await instead
2021-02-09 17:42:46 +03:30
Sahandevs
2f82a84d2a
fix errors
2021-02-07 22:06:16 +03:30
Sahandevs
3a0234d60f
format
2021-02-07 21:59:06 +03:30
Sahandevs
1bb4e973ff
handle Thenable type rejects
2021-02-07 21:52:32 +03:30
Sahandevs
1d0e93b58e
handle promise catches
2021-02-07 21:27:21 +03:30
Sahandevs
06c02021a3
remove unnecessary
2021-02-07 21:15:13 +03:30
Lukas Wirth
fb2b1f5ea6
Fix resolveCodeAction trying to edit files before creating them
2021-02-05 21:33:37 +01:00
Edwin Cheng
35310f1032
Update vscode for new status
2021-01-29 01:04:14 +08:00
Laurențiu Nicola
03a1da9d46
Simplify file download code
2021-01-25 19:12:54 +02:00
bors[bot]
83231dd987
Merge #7409 #7421
...
7409: Add References CodeLens. r=matklad a=vsrs
Closes #5836
7421: Fix RA_LOG example in dev docs r=lnicola a=lnicola
bors r+
Co-authored-by: vsrs <vit@conrlab.com>
Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
2021-01-25 11:18:58 +00:00
Laurențiu Nicola
5bd84716ed
Code: reduce progress notification spam
2021-01-25 10:05:38 +02:00
vsrs
3618c4e0d3
Add References code lens.
...
For Struct, Enum, Union and Trait symbols.
2021-01-23 16:56:20 +03:00
Laurențiu Nicola
a19728604f
Download aarch64-unknown-linux-gnu from GitHub
2021-01-17 16:35:57 +02:00
Laurențiu Nicola
1749a78ada
Fix server path comparison
2021-01-14 15:38:57 +02:00
Laurențiu Nicola
c547ec1cd6
Don't update the server if managed by the user
2021-01-07 16:37:08 +02:00
Aleksey Kladov
01a5b83562
Rename extension config
2021-01-04 18:41:24 +03:00
Laurențiu Nicola
9decc4c0a3
Allow download of aarch64-pc-windows-msvc binaries
2021-01-04 16:32:46 +02:00
bors[bot]
1cc73d60bb
Merge #7068
...
7068: Add VSCode command to view the hir of a function body r=theotherphil a=theotherphil
Will fix https://github.com/rust-analyzer/rust-analyzer/issues/7061 . Very rough initial version just to work out where I needed to wire everything up.
@matklad would you be happy merging a hir visualiser of some kind? If so, do you have any thoughts on what you'd like it show, and how?
I've spent very little time on this thus far, so I'm fine with throwing away the contents of this PR, but I want to avoid taking the time to make this more polished/interactive/useful only to discover that no-one else has any interest in this functionality.
![image](https://user-images.githubusercontent.com/1974256/103236081-bb58f700-493b-11eb-9d12-55ae1b870f8f.png )
Co-authored-by: Phil Ellison <phil.j.ellison@gmail.com>
2021-01-03 09:03:15 +00:00
Phil Ellison
609a069757
Remove some unnecessary code copied from the Syntax Tree command
2021-01-01 19:35:10 +00:00
lf-
f7f6ac3554
Add an option for extra env vars in the Code extension
2020-12-30 04:51:07 -08:00
Lukas Wirth
689898e4f6
Apply text edits manually in vscode client
2020-12-29 15:43:17 +01:00
Phil Ellison
077592a12f
Initial implementation of view-hir command
2020-12-28 18:29:58 +00:00
bors[bot]
94f661c62a
Merge #7001
...
7001: Add support for downloading aarch64-apple-darwin binaries r=matklad a=lnicola
There's also a slight behavior change here: we no longer download our 64-binaries on 32-bit Darwin and Linux. We still do that on Windows, as I don't know how to detect 32-bit Node on 64 Windows.
But some people install the 32-bit Code by mistake, I doubt 32-bit Windows is that popular in the Rust crowd.
Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
2020-12-22 16:38:12 +00:00
P. Horban
92b13d2fab
Fix grammar nit
...
Co-authored-by: Laurențiu Nicola <lnicola@users.noreply.github.com>
2020-12-22 16:22:33 +01:00
Przemyslaw Horban
a8b60afc2a
Extension conflict check detests more combinations
2020-12-22 15:53:00 +01:00
Laurențiu Nicola
5ff576f503
Add support for downloading aarch64-apple-darwin binaries, change naming convention
2020-12-22 16:48:49 +02:00
bors[bot]
b98ee075ee
Merge #6746
...
6746: Feature/add assist extract module to file r=matklad a=sasurau4
Fix #6522
## Screenshot
<img src="https://user-images.githubusercontent.com/13580199/102748269-33a44300-43a5-11eb-9e37-f5fcb8e62f73.gif " width=600 />
## TODO
- [x] Remove all TODO comment
- [x] Pass the doc test
Co-authored-by: Daiki Ihara <sasurau4@gmail.com>
2020-12-22 10:04:24 +00:00
Laurențiu Nicola
211551646f
Don't download x64 binaries on non-Mac arm64
2020-12-21 21:40:01 +02:00
Son
6089c6b1ea
Allow code extension to download binary in apple arm
2020-12-22 06:23:50 +11:00
Laurențiu Nicola
1da99a79d9
Remove outdated FIXME
2020-12-21 20:36:58 +02:00
Laurențiu Nicola
ee73466830
Use /etc/os-release to check for NixOS
...
The motivation in #5641 isn't too strong, but /etc/os-release exists on
pretty much every Linux distro, while /etc/nixos sounds like an
implementation detail.
2020-12-21 19:21:43 +02:00
Daiki Ihara
23ed33a3a6
Use workspace applyEdit instead of snippetWorkspaceEdit
2020-12-21 15:55:40 +09:00
Przemyslaw Horban
689ebb98be
Fixed formatting
2020-12-18 18:47:03 +01:00
Przemyslaw Horban
1152e27520
Added a warning if conflicting rust-lang.rust is enabled.
2020-12-18 18:39:51 +01:00
Kafji
e65cd07e48
Remove workaround & fix fetch$1 is not a function
...
Remove workaround for https://github.com/rollup/plugins/issues/491
because it's fixed in 15.0
https://github.com/rollup/plugins/blob/master/packages/commonjs/CHANGELOG.md#v1500 .
Also fix fetch$1 is not a function error
https://github.com/rust-analyzer/rust-analyzer/issues/6757 .
2020-12-08 13:06:36 +07:00
kjeremy
1d333a8387
Use vscode-languageclient 7.0.0-next.14
2020-11-17 10:10:34 -05:00
Anatol Liu
b1b7727e04
add open Cargo.toml action
2020-11-12 17:48:07 -08: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]
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
Charles Pierce
d2bf2ebe15
Restore semantic token flickering workaround removed in #5697
2020-11-04 10:26:58 -08:00
Lukas Wirth
be00b6b8fa
Support multiple workspace edits
2020-11-04 15:04:28 +01:00
kjeremy
77ffe137f2
Smaller inlay hints
...
This makes things a lot more readable but isn't officially supported by vscode: https://github.com/Microsoft/vscode/issues/9078
Inspired by Visual Studio, IntelliJ and Resharper.
2020-10-28 09:52:23 -04:00
Laurențiu Nicola
91b4dd63b0
Also set textDecoration: none on inlay hints
2020-10-28 13:49:38 +02:00
Laurențiu Nicola
8a5a5b2477
Set font-wieght: normal on inlay hints
2020-10-27 09:18:25 +02:00
kjeremy
5cb6fafd36
Latest proposed LSP 3.16.0
...
Needs: https://github.com/gluon-lang/lsp-types/pull/183
2020-10-26 09:23:34 -04:00
feileacan
d019cdbbb2
Check cargoExtraArgs for undefined before using
2020-10-18 11:40:48 +11:00