-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Announcements: Client Changes #4604
Comments
After #4632, all our current extensions are documented. There were a bunch of minor changes here and there. Most notably some requests were moved from Notably, inlay hints and runnables are are still unchanged: i want to upstream these two as well, but I am not too happy with their current state, and I don't have time to polish them right now. So i opted for documenting them as is, and cleaning up later. |
#4688 documents our |
#4710 changes API for runnables. The idea is that it's the client who is reponsible for running stuff, to make it possible to, eg, inject debugger support or other custom tools. So, rust-analzyer provides a more abstract representation of a cargo command, to make it easier for the client to make sense of it. |
#4717 adds API for lazily computing code action edits. |
#5188 adds status notification. |
adds "memory usage" command: #5244 |
#4972 will switch to gzipping release artifacts. |
rust-analyzer is available via rustup.
The "officially recommended" binary at the moment is still the one from releases in this repo, but rustup one should be fine as well. |
#5930 adapts the latest changes of the semantic tokens |
Flexible runnables configuration: |
I am adding a rust-analyzer action for #6462, and will be changing the hash. |
#6521 removes our custom support for code action resolving in favor of one provided by LSP 1.16. |
#6761 adds a |
In #6996 we want to stop releasing uncompressed binaries. Clients that can automatically install the LSP server binary should download the We've also changed the naming convention to include the platform tuple:
This allows us to support new platforms more easily, speeds up downloads and avoids wasting disk space. |
#7068 adds a command to show our HIR representation of a function. |
#7412 adds a new export type Status = "loading" | "ready" | "readyPartial" | "invalid" | "needsReload"; |
#7625 adds a "copy runnable command line" command. |
It is now possible to use ut8 coordinate space for positions and ranges: #7657 |
#8054 adds a new request to move functions, statements, etc up and down. |
This comment has been minimized.
This comment has been minimized.
#8355 replaces rust-analyzer specific |
It's solving the problem for clients like VSCode and Emacs; clients that just let users directly pass RA config JSON will need a different solution. Maybe we will have to take on the "nudging users to update their configs" somehow. |
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
#13699 uses location links in inlay hints. It is not a lsp extension and it exists in standard lsp, but since no language server which I'm aware of is currently using this feature, it is very likely that some clients have not implemented this feature. See inlay hint label part in lsp spec. |
If merged, #13876 will add a ZIP release artifact on Windows containing the language binary corresponding PDB. This should make life easier for Windows users since they no longer have to install anything. Ideally, we'd only keep producing one format, so we might drop the There's also the alternative to produce If you're maintaining a client that can automatically download rust-analyzer, consider leaving a comment on #13876 regarding your preferred format. |
#13848 adds a client capability |
#14141 adds support for |
#11557 adds a viewTree which allows to navigate through project dependencies |
#14662 adds support for locally built documentation |
#15081 adds support for a memory layout viewer. |
#15876 allows a single |
#15979 adds commands for running selected tests |
There's a recent change introducing the "Unindexed Project" notification. I think @davidbarsky forgot to mention it here. However, it is not clear to me what are the |
#16662 adds a set of lsp extension for supporting the vscode test explorer. If your client has a similar feature for exploring tests, you may find it useful. There are probably some problems around the lsp extension, or it may be too overfitted to the vscode, please raise an issue in those cases. |
#16773 puts the test explorer behind a |
Although lsp-extensions.md hasn't been updated, commit 18ca22a extended ServerStatusParams with a new field called workspaceInfo. |
#17287 removes this again as it feels out of place for the status notification. (I didn't post about it here when adding it because I was mainly experimenting, should've made that clear from the start) |
Commit ef59b49 by @roife extended the args of Runnable with an optional On the other hand, the log of commit a55e8bf has this sentence: "When the |
There was some ambiguity regarding the term The |
#16840 added runnable support to |
This issue exists to announce changes which might affect rust-analyzer plugins for different editors.
If you maintain such a plugin, consider subscribing to this issue.
All our protocol extensions are documented at lsp-extensions.md. I'll try to remember to leave a comment on this issue if I modify that file.
The text was updated successfully, but these errors were encountered: