@@ -48,14 +48,14 @@ export async function activate(context: vscode.ExtensionContext, eventStream: Ev
4848 omnisharp = server ;
4949 const advisor = new Advisor ( server ) ; // create before server is started
5050 const disposables = new CompositeDisposable ( ) ;
51- const localDisposables = new CompositeDisposable ( ) ;
51+ let localDisposables : CompositeDisposable ;
5252
5353 disposables . add ( server . onServerStart ( ( ) => {
5454 // register language feature provider on start
55+ localDisposables = new CompositeDisposable ( ) ;
5556 const definitionMetadataDocumentProvider = new DefinitionMetadataDocumentProvider ( ) ;
5657 definitionMetadataDocumentProvider . register ( ) ;
5758 localDisposables . add ( definitionMetadataDocumentProvider ) ;
58-
5959 const definitionProvider = new DefinitionProvider ( server , definitionMetadataDocumentProvider ) ;
6060 localDisposables . add ( vscode . languages . registerDefinitionProvider ( documentSelector , definitionProvider ) ) ;
6161 localDisposables . add ( vscode . languages . registerDefinitionProvider ( { scheme : definitionMetadataDocumentProvider . scheme } , definitionProvider ) ) ;
@@ -84,7 +84,10 @@ export async function activate(context: vscode.ExtensionContext, eventStream: Ev
8484
8585 disposables . add ( server . onServerStop ( ( ) => {
8686 // remove language feature providers on stop
87- localDisposables . dispose ( ) ;
87+ if ( localDisposables ) {
88+ localDisposables . dispose ( ) ;
89+ }
90+ localDisposables = null ;
8891 } ) ) ;
8992
9093 disposables . add ( registerCommands ( server , eventStream , platformInfo ) ) ;
0 commit comments