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

Lsp Resiliency #2203

Open
spotandjake opened this issue Nov 18, 2024 · 0 comments
Open

Lsp Resiliency #2203

spotandjake opened this issue Nov 18, 2024 · 0 comments
Labels
lsp Issues related to the language server.

Comments

@spotandjake
Copy link
Member

spotandjake commented Nov 18, 2024

In an ideal world the LSP would be bug free and we would never encounter exceptions, however we have seen a few exceptions occur in the lsp. Currently these exceptions cause the global lsp instance to crash which means that no matter which file your working on once the lsp has crashed for a workspace you have to manually restart it. I think we should wrap Driver.process in a try-catch to allow for soft errors most exceptions that occur are things that we want to fix but they are not high priority items and it would be nice if the lsp didn't fully crash out (Especially in cases related to specific operations), I suggest whenever we see an error we should report it via the https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#window_showMessage instead of crashing (We might also want to silence errors after they have happened repeatedly).

The main benefit of this would be that user's are not stuck completely without an lsp until we implement a fix they just would have to avoid the problem and at worse they would lose the lsp on a specific file or under a specific dependency graph.

@spotandjake spotandjake added the lsp Issues related to the language server. label Nov 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
lsp Issues related to the language server.
Projects
None yet
Development

No branches or pull requests

1 participant