aboutsummaryrefslogtreecommitdiff
path: root/editors
Commit message (Collapse)AuthorAgeFilesLines
* Allow to disable import insertion on single path glob importsLukas Wirth2021-06-181-0/+5
|
* Merge #9258bors[bot]2021-06-161-4/+4
|\ | | | | | | | | | | | | | | 9258: minor: Give `ImportPrefix` variants better config names r=matklad a=Veykril I feel like `crate` and `self` work better than `by_crate` and `by_self`. The only reason for the current names were that `Self` doesn't work for the variant name on the rust side so I forgot about setting proper config names on serde layer. Co-authored-by: Lukas Wirth <[email protected]>
| * Give ImportPrefix variants better config namesLukas Wirth2021-06-131-4/+4
| |
| |
| \
*-. \ Merge #9267 #9279bors[bot]2021-06-151-1/+1
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9267: fix: Code: update the LSP server without asking r=matklad a=lnicola Most LSP extensions seem to do the same thing, and this is causing some confusion for users who don't notice the update prompt before Code hides it. 9279: minor: Document installation via Homebrew r=matklad a=Svetlitski `rust-analyzer` can be installed via [Homebrew](https://brew.sh) (AKA`brew`) on macOS. I've added instructions on how to do so to the documentation. Additionally, I added a `.gitignore` rule to ignore the HTML documentation produced by `asciidoctor manual.adoc` so that it is not accidentally checked into `git`. Co-authored-by: Laurențiu Nicola <[email protected]> Co-authored-by: Kevin Svetlitski <[email protected]> Co-authored-by: Aleksey Kladov <[email protected]>
| * | | Code: automatically update the LSP serverLaurențiu Nicola2021-06-141-1/+1
| |/ / | | | | | | | | | | | | | | | Most LSP extensions seem to do the same thing, and this is causing some confusion for users who don't notice the update prompt before Code hides it.
* | | Merge #9292bors[bot]2021-06-153-15/+23
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9292: fix: Code: clean-up #8951 r=wxb1ank a=wxb1ank #8951 was a major change in the VS Code extension and caused quite a few problems. This PR is a catch-all for bugs and improvements in the new code. This should fix: - #9284 - [this unreported bug](https://github.com/rust-analyzer/rust-analyzer/pull/8951/files#r651570446) - ...and one or two uncaught exceptions I just found The original lack of testing was my own fault, but this area of the VS Code API is also tricky for a couple reasons: - The [FileSystem](https://github.com/rust-analyzer/rust-analyzer/pull/8951/files#r651570446) API does not list or warn about any exceptions, but [FileSystemProvider](https://github.com/rust-analyzer/rust-analyzer/pull/8951/files#r651570446) (which `FileSystem` is a wrapper of, AFAICT) does. - At first glance, [Uri.path](https://github.com/rust-analyzer/rust-analyzer/pull/8951/files#r651570446) *looks* like it works for FS operations. It does not, at least, on Windows. You need to use `Uri.fsPath`. I only use Windows, so I need people on macOS, Linux, and (possibly) NixOS to test this. Co-authored-by: wxb1ank <[email protected]>
| * | | Use `.then()` for Thenablewxb1ank2021-06-151-3/+1
| | | |
| * | | fix: clean-up #8951wxb1ank2021-06-153-15/+25
| | | |
* | | | Merge #9282bors[bot]2021-06-151-2/+2
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | 9282: fix: Use objects instead of bools for markers in package.json r=lnicola a=lnicola Addresses https://github.com/rust-analyzer/rust-analyzer/issues/9174#issue-913980665. Co-authored-by: Laurențiu Nicola <[email protected]>
| * | | Use objects instead of bools for markers in package.jsonLaurențiu Nicola2021-06-151-2/+2
| |/ /
* / / Use `Uri.toString()` for URLswxb1ank2021-06-151-5/+7
|/ /
* | Merge #8951bors[bot]2021-06-144-47/+38
|\ \ | |/ |/| | | | | | | | | | | 8951: internal: migrate to vscode.FileSystem API r=matklad a=wxb1ank I encountered an error where `bootstrap()` attempts to create a directory with the path `C:\C:\...`. I couldn't find this reported anywhere else. Using the `vscode.FileSystem` API instead of the `fs` one works here. I assume the latter automatically prepends `C:\` to paths whereas the former does not. I don't know if this suggests `vscode.FileSystem` should be used in more places for consistency. Co-authored-by: wxb1ank <[email protected]>
| * Lint toolchain.tswxb1ank2021-06-021-1/+1
| |
| * migrate from `fs` to `vscode.FileSystem` APIwxb1ank2021-06-023-44/+35
| |
| * internal: use vscode.FileSystem API in main.tswxb1ank2021-06-022-5/+5
| |
* | Revert "Merge #9177"Aleksey Kladov2021-06-081-342/+335
| | | | | | | | | | | | | | This reverts commit f1818cb7ba2808cba3fd9bf8f199c382060a1f19, reversing changes made to 6c9362d61b895c11b1d0cf6837ada9f2a0a30eaf. This broke things
* | Merge #9177bors[bot]2021-06-081-335/+342
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | 9177: :arrow_up: npm packages r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | :arrow_up: npm packagesAleksey Kladov2021-06-081-335/+342
| | |
* | | fixMilo2021-06-071-1/+1
| | |
* | | fixMilo2021-06-061-1/+1
| | |
* | | when you click status bar icon it now restarts serverMilo2021-06-061-0/+1
|/ /
* | Add function references hover actionLukas Wirth2021-06-042-0/+6
| |
* | Make it opt-inJonas Schievink2021-06-031-0/+5
| |
* | Document that `addCallArgumentSnippets` requires `addCallParenthesisLukas Wirth2021-06-021-1/+1
|/
* Fix opening single filesKirill Bulatov2021-05-311-1/+1
|
* fix: fix shell injection in task spawningAleksey Kladov2021-05-311-6/+6
| | | | closes #9058
* Add config setting for self-on-the-flyLukas Wirth2021-05-311-0/+5
|
* Fix incorrect setting descriptionsLucas Schwiderski2021-05-291-2/+2
| | | | | | | | Descriptions for diagnostic warning hint and info display were swapped. Fixes #8485. Signed-off-by: Lucas Schwiderski <[email protected]>
* Merge #8995bors[bot]2021-05-264-22/+20
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 <[email protected]>
| * Create tasks for all workspacesKirill Bulatov2021-05-254-22/+20
| |
* | Merge #9001bors[bot]2021-05-261-0/+4
|\ \ | |/ |/| | | | | | | | | | | | | 9001: minor: explicitly set the focus to false r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * minor: explicitly set the focus to falseAleksey Kladov2021-05-261-0/+4
| |
* | Merge #8767bors[bot]2021-05-251-0/+5
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | 8767: implement range formatting r=matklad a=euclio Fixes #7580. This PR implements the `textDocument/rangeFormatting` request using `rustfmt`'s `--file-lines` option. Still needs some tests. What I want to know is how I should handle the instability of the `--file-lines` option. It's still unstable in rustfmt, so it's only available on nightly, and needs a special flag to enable. Is there a way for `rust-analyzer` to detect if it's using nightly rustfmt, or for users to opt-in? Co-authored-by: Andy Russell <[email protected]>
| * implement range formattingAndy Russell2021-05-231-0/+5
| |
* | fix: cursor position after item move commandEduardo Canellas2021-05-241-1/+1
| | | | | | | | closes Item movers need some fixes #8492
* | Merge #8955bors[bot]2021-05-243-41/+69
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 <[email protected]>
| * | Fix ts lint errorsKirill Bulatov2021-05-233-8/+8
| | |
| * | Send detached files info to server via init paramsKirill Bulatov2021-05-233-6/+27
| | |
| * | Start rust-analyzer server for arbitrary rust filesKirill Bulatov2021-05-233-39/+46
| |/
* | fix: can download server binary on windows againAleksey Kladov2021-05-241-1/+1
| | | | | | | | | | | | Closes #8956 See https://github.com/rust-analyzer/rust-analyzer/pull/8951#issuecomment-846716999
* | fix: reveal snippetsAleksey Kladov2021-05-231-0/+3
|/
* More style fixesKirill Bulatov2021-05-232-16/+19
|
* Style fixKirill Bulatov2021-05-232-12/+11
|
* Don't use a deprecated accessorKirill Bulatov2021-05-231-1/+1
|
* Better releaseId namingKirill Bulatov2021-05-232-12/+11
|
* Remove nightly release id from local storage for stable extensionsKirill Bulatov2021-05-232-1/+6
|
* Download nightly extension when configured and run from stable extension versionKirill Bulatov2021-05-231-3/+10
|
* Use `.rs` file ending to get syntax highlightingJonas Schievink2021-05-211-1/+1
|
* Add a "Debug ItemTree" LSP requestJonas Schievink2021-05-214-0/+62
|
* Merge #8873bors[bot]2021-05-201-7/+14
|\ | | | | | | | | | | | | | | | | | | | | | | 8873: Implement import-granularity guessing r=matklad a=Veykril This renames our `MergeBehavior` to `ImportGranularity` as rustfmt has it as the purpose of them are basically the same. `ImportGranularity::Preserve` currently has no specific purpose for us as we don't have an organize imports assist yet, so it currently acts the same as `ImportGranularity::Item`. We now try to guess the import style on a per file basis and fall back to the user granularity setting if the file has no specific style yet or where it is ambiguous. This can be turned off by setting `import.enforceGranularity` to `true`. Closes https://github.com/rust-analyzer/rust-analyzer/issues/8870 Co-authored-by: Lukas Tobias Wirth <[email protected]>