File tree 1 file changed +9
-5
lines changed
src/client/activation/node 1 file changed +9
-5
lines changed Original file line number Diff line number Diff line change @@ -35,18 +35,21 @@ export class NodeLanguageServerManager implements ILanguageServerManager {
35
35
36
36
private started = false ;
37
37
38
+ private static commandDispose : IDisposable ;
39
+
38
40
constructor (
39
41
private readonly serviceContainer : IServiceContainer ,
40
42
private readonly analysisOptions : ILanguageServerAnalysisOptions ,
41
43
private readonly languageServerProxy : ILanguageServerProxy ,
42
44
commandManager : ICommandManager ,
43
45
private readonly extensions : IExtensions ,
44
46
) {
45
- this . disposables . push (
46
- commandManager . registerCommand ( Commands . RestartLS , ( ) => {
47
- this . restartLanguageServer ( ) . ignoreErrors ( ) ;
48
- } ) ,
49
- ) ;
47
+ if ( NodeLanguageServerManager . commandDispose ) {
48
+ NodeLanguageServerManager . commandDispose . dispose ( ) ;
49
+ }
50
+ NodeLanguageServerManager . commandDispose = commandManager . registerCommand ( Commands . RestartLS , ( ) => {
51
+ this . restartLanguageServer ( ) . ignoreErrors ( ) ;
52
+ } ) ;
50
53
}
51
54
52
55
private static versionTelemetryProps ( instance : NodeLanguageServerManager ) {
@@ -59,6 +62,7 @@ export class NodeLanguageServerManager implements ILanguageServerManager {
59
62
if ( this . languageProxy ) {
60
63
this . languageProxy . dispose ( ) ;
61
64
}
65
+ NodeLanguageServerManager . commandDispose . dispose ( ) ;
62
66
this . disposables . forEach ( ( d ) => d . dispose ( ) ) ;
63
67
}
64
68
You can’t perform that action at this time.
0 commit comments