zed icon indicating copy to clipboard operation
zed copied to clipboard

Support rust-analyzer `experimental/serverStatus` capability

Open bjorn3 opened this issue 1 year ago • 1 comments

Check for existing issues

  • [X] Completed

Describe the feature

While it shows progress reports when rust-analyzer is busy doing something, it doesn't show any warnings or errors about the current state of the workspace.

I believe rust-analyzer uses the following lsp extension to communicate this information with the editor: https://github.com/rust-lang/rust-analyzer/blob/master/docs/dev/lsp-extensions.md#server-status

By the way it would be nice to support the reload workspace and rebuild build dependencies actions that are shown in the same popup in vscode.

Environment

Zed: v0.160.7 (Zed) OS: Linux X11 debian 12 Memory: 15.3 GiB Architecture: x86_64 GPU: Intel(R) Graphics (ADL GT2) || Intel open-source Mesa driver || Mesa 22.3.6

If applicable, add mockups / screenshots to help present your vision of the feature

This is how vscode presents this information:

image

image

bjorn3 avatar Nov 07 '24 11:11 bjorn3

This is close to be implemented, as

https://github.com/zed-industries/zed/blob/f98c6fb2cf86e16de6860061c2ae33b6c6d5b5ab/crates/project/src/lsp_store/rust_analyzer_ext.rs#L37-L41

is already there and we react on it by showing the

Image

like popovers.

I do agree that we should show this in the Zed's activity indicator instead: https://github.com/zed-industries/zed/blob/f98c6fb2cf86e16de6860061c2ae33b6c6d5b5ab/crates/activity_indicator/src/activity_indicator.rs#L65

SomeoneToIgnore avatar May 13 '25 20:05 SomeoneToIgnore

I don't see that message when I change https://github.com/rust-lang/rustc_codegen_cranelift/blob/2f8f4643900301caa2984fd97f6c20347ea9936e/.zed/settings.json#L29 to "./Cargo.toaaaaml",

bjorn3 avatar May 18 '25 15:05 bjorn3

Image

Have rechecked that again and this seems to work for me. Can you recheck?

SomeoneToIgnore avatar Aug 30 '25 08:08 SomeoneToIgnore

VSCode makes more obvious when there is a warning with a much larger button with fully yellow background, but being able to see warnings at all is a significant improvement already. Thanks!

bjorn3 avatar Sep 04 '25 19:09 bjorn3

Yeah, this extra button causes a lot of friction already, no one favored coloring it fully.

One note that this server list shows an error only if the keyboard was used to navigate the server entry; but the status at the bottom should be more prominent in that case.

Hopefully we'll improve the button's usability later.

SomeoneToIgnore avatar Sep 04 '25 19:09 SomeoneToIgnore