File tree Expand file tree Collapse file tree 1 file changed +6
-2
lines changed Expand file tree Collapse file tree 1 file changed +6
-2
lines changed Original file line number Diff line number Diff line change @@ -303,8 +303,12 @@ export class LanguageClientManager implements LanguageClient {
303
303
}
304
304
case State . Stopped : {
305
305
this . updateStatus ( 'closed' )
306
-
307
- if ( state . oldState === State . Running && ! this . isDisposed ( ) ) {
306
+ setTimeout ( ( ) => {
307
+ // setTimeout is required or the dispose() fails (Client is stopping but no stop promise available.)
308
+ void languageClient . dispose ( )
309
+ } )
310
+ if ( state . oldState === State . Running && ! this . isDisposed ( ) && this . languageClient === languageClient ) {
311
+ this . languageClient = undefined
308
312
console . info ( '[LSP] Restarting language client' , state )
309
313
this . start ( ) . catch ( error => {
310
314
monaco . errorHandler . onUnexpectedError ( new Error ( '[LSP] Language client stopped' , {
You can’t perform that action at this time.
0 commit comments