Closed mickaelistria closed 8 years ago
At the moment, this issue and probably child issue #44 are the ones that are the most annoying for the Eclipse IDE integration
It seems like the possible errors thrown by handleMessage
on line 203 of LanguageServerProtocol.xtend
should be caught, logged and not thrown.
Or maybe the condition line 205
val result = handleMessage(input, headers)
if (!result) keepRunning = false
IMO, the loop should be continued even if the message wasn't properly handled.
I merged #55. Please reopen if there is still something to be done about this.
I have the case where I see that a parsing error on the reader side (such as the possible ones reported in #23 ) makes that all future requests to the language server are sent, the the stream receives the response from server, but the ls-api MessageReader doesn't seem to parse them any more, so operations all return a timeout.
In case of a parsing error, the language endpoint should still be usable for other operations (an error in hover should still allow to use completion).