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 {
303303 }
304304 case State . Stopped : {
305305 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
308312 console . info ( '[LSP] Restarting language client' , state )
309313 this . start ( ) . catch ( error => {
310314 monaco . errorHandler . onUnexpectedError ( new Error ( '[LSP] Language client stopped' , {
You can’t perform that action at this time.
0 commit comments