microsoft/vscode-languageserver-node

Error handler unable to intercept and suppress error notification

Open

#1,608 opened on Feb 3, 2025

View on GitHub
 (5 comments) (2 reactions) (0 assignees)TypeScript (397 forks)auto 404
feature-requesthelp wanted

Repository metrics

Stars
 (1,776 stars)
PR merge metrics
 (PR metrics pending)

Description

https://github.com/microsoft/vscode-languageserver-node/blob/dadd73f7fc283b4d0adb602adadcf4be16ef3a7b/client/src/common/client.ts#L1793-L1803

I am developing a language server with an external dependency so I want to start/stop it myself. Unfortunately, if the dependency goes missing then the "Connection to server got closed. Server will not be restarted." message will appear if this.$state === ClientState.Stopping because I can't use the this._clientOptions.errorHandler to try to suppress it. Now when the dependency comes back the language server will restart even though the notification claimed that it "will not be restarted".

Essentially, I do not want the vscode-languageclient to popup any errors about the server being dead because I want to control everything myself but I can't avoid this particular notification (there may be others I have not encountered yet...?) because of this if statement.

Contributor guide