]> git.lizzy.rs Git - rust.git/commit
Merge #8955
authorbors[bot] <26634292+bors[bot]@users.noreply.github.com>
Mon, 24 May 2021 12:40:25 +0000 (12:40 +0000)
committerGitHub <noreply@github.com>
Mon, 24 May 2021 12:40:25 +0000 (12:40 +0000)
commit05fc97e31b1d04bf5d5885edd98a1510f0931a62
tree27a99294690e75990250b0c1306ef99fad4558fa
parent31a19148e967163ea9ebb42e341944be76ce8960
parent5c0369b1d0c5351672f2a16e9a0d17beee84bcbe
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>