From fae8e8e91bb31fdcebe9280bf99a41b365b7c01f Mon Sep 17 00:00:00 2001 From: Matt Bierner Date: Mon, 4 Jun 2018 18:37:30 -0700 Subject: [PATCH] Prevent multiple calls to listen --- .../src/features/bufferSyncSupport.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/extensions/typescript-language-features/src/features/bufferSyncSupport.ts b/extensions/typescript-language-features/src/features/bufferSyncSupport.ts index 8e46d7f4069..0e704f60a59 100644 --- a/extensions/typescript-language-features/src/features/bufferSyncSupport.ts +++ b/extensions/typescript-language-features/src/features/bufferSyncSupport.ts @@ -167,6 +167,7 @@ export default class BufferSyncSupport { private readonly pendingDiagnostics = new Map(); private readonly diagnosticDelayer: Delayer; private pendingGetErr: { request: Promise, files: string[], token: CancellationTokenSource } | undefined; + private listening: boolean = false; constructor( client: ITypeScriptServiceClient, @@ -187,6 +188,10 @@ export default class BufferSyncSupport { public readonly onDelete = this._onDelete.event; public listen(): void { + if (this.listening) { + return; + } + this.listening = true; workspace.onDidOpenTextDocument(this.openTextDocument, this, this.disposables); workspace.onDidCloseTextDocument(this.onDidCloseTextDocument, this, this.disposables); workspace.onDidChangeTextDocument(this.onDidChangeTextDocument, this, this.disposables); -- GitLab