Skip to content
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

Suppress warning notifications from LSP servers and widget API proposal #495

Open
harry-xm opened this issue Aug 29, 2024 · 0 comments
Open
Labels
enhancement New feature or request

Comments

@harry-xm
Copy link

harry-xm commented Aug 29, 2024

Background

Open a Rust file in https://github.com/eunomia-bpf/eunomia-bpf/tree/master/ecli on macOS and LSP4IJ turns every warning message from rust-analyzer into a notification that is persisted in the Notifications panel.

Plan

vscode screenshot

In order to turn it into a status bar widget that reflects warnings like the rust-analyzer VSCode plugin, the following APIs are needed to implement it in a language plugin.

  1. A status bar widget API, (optionally) with which plugins can customize its normal, warning and error style. If clicked, it should open a panel that lists warnings and errors from the LSP server.
  2. API to suppress warnings from LSP servers.

Each file can only have one active LSP server, so it makes sense to provide a unified experience from LSP4IJ. If the widget API is too heavy for LSP4IJ, API to get and register for notifications of LSP servers' status and lifecycle changes is an alternative that allows plugins to manage the widgets themselves.

If LSP4IJ could not provide a warnings and errors panel for LSP servers, API to fetch or collect warning and error messages from LSP servers is needed.

Originally posted by @harry-xm in #493

@angelozerr angelozerr added the enhancement New feature or request label Aug 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants