Support rust-analyzer `experimental/serverStatus` capability
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:
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
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
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",
Have rechecked that again and this seems to work for me. Can you recheck?
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!
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.