Skip to content

Commit 0bb7e9f

Browse files
kimadelinewesm
authored andcommitted
Fix restartLS command disposal (microsoft/vscode-python#18993)
1 parent d9015b0 commit 0bb7e9f

File tree

1 file changed

+9
-5
lines changed
  • extensions/positron-python/src/client/activation/node

1 file changed

+9
-5
lines changed

extensions/positron-python/src/client/activation/node/manager.ts

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -35,18 +35,21 @@ export class NodeLanguageServerManager implements ILanguageServerManager {
3535

3636
private started = false;
3737

38+
private static commandDispose: IDisposable;
39+
3840
constructor(
3941
private readonly serviceContainer: IServiceContainer,
4042
private readonly analysisOptions: ILanguageServerAnalysisOptions,
4143
private readonly languageServerProxy: ILanguageServerProxy,
4244
commandManager: ICommandManager,
4345
private readonly extensions: IExtensions,
4446
) {
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+
});
5053
}
5154

5255
private static versionTelemetryProps(instance: NodeLanguageServerManager) {
@@ -59,6 +62,7 @@ export class NodeLanguageServerManager implements ILanguageServerManager {
5962
if (this.languageProxy) {
6063
this.languageProxy.dispose();
6164
}
65+
NodeLanguageServerManager.commandDispose.dispose();
6266
this.disposables.forEach((d) => d.dispose());
6367
}
6468

0 commit comments

Comments
 (0)