Skip to content

Lsp Resiliency #2203

Open
Open
@spotandjake

Description

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.

Metadata

Assignees

No one assigned

    Labels

    lspIssues related to the language server.

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions