From 643e569a6ea484f8b5090f7f6fb2b3e288e5a90f Mon Sep 17 00:00:00 2001 From: Dirk Baeumer Date: Mon, 25 Sep 2017 15:45:00 +0200 Subject: [PATCH] Fixes #34966: Task list doesn't update when gulp, grunt or jake file changes. --- extensions/grunt/src/main.ts | 20 +------------------- extensions/gulp/src/main.ts | 20 +------------------- extensions/jake/src/main.ts | 20 +------------------- 3 files changed, 3 insertions(+), 57 deletions(-) diff --git a/extensions/grunt/src/main.ts b/extensions/grunt/src/main.ts index a5e74585e8e..171ca955342 100644 --- a/extensions/grunt/src/main.ts +++ b/extensions/grunt/src/main.ts @@ -205,7 +205,6 @@ class TaskDetector { private taskProvider: vscode.Disposable | undefined; private detectors: Map = new Map(); - private promise: Promise | undefined; constructor() { } @@ -225,15 +224,12 @@ class TaskDetector { this.taskProvider = undefined; } this.detectors.clear(); - this.promise = undefined; } private updateWorkspaceFolders(added: vscode.WorkspaceFolder[], removed: vscode.WorkspaceFolder[]): void { - let changed = false; for (let remove of removed) { let detector = this.detectors.get(remove.uri.toString()); if (detector) { - changed = true; detector.dispose(); this.detectors.delete(remove.uri.toString()); } @@ -241,22 +237,16 @@ class TaskDetector { for (let add of added) { let detector = new FolderDetector(add); if (detector.isEnabled()) { - changed = true; this.detectors.set(add.uri.toString(), detector); detector.start(); } } - if (changed) { - this.promise = undefined; - } this.updateProvider(); } private updateConfiguration(): void { - let changed = false; for (let detector of this.detectors.values()) { if (!detector.isEnabled()) { - changed = true; detector.dispose(); this.detectors.delete(detector.workspaceFolder.uri.toString()); } @@ -267,16 +257,12 @@ class TaskDetector { if (!this.detectors.has(folder.uri.toString())) { let detector = new FolderDetector(folder); if (detector.isEnabled()) { - changed = true; this.detectors.set(folder.uri.toString(), detector); detector.start(); } } } } - if (changed) { - this.promise = undefined; - } this.updateProvider(); } @@ -294,15 +280,11 @@ class TaskDetector { else if (this.taskProvider && this.detectors.size === 0) { this.taskProvider.dispose(); this.taskProvider = undefined; - this.promise = undefined; } } public getTasks(): Promise { - if (!this.promise) { - this.promise = this.computeTasks(); - } - return this.promise; + return this.computeTasks(); } private computeTasks(): Promise { diff --git a/extensions/gulp/src/main.ts b/extensions/gulp/src/main.ts index 127e07afd64..38e7a09b996 100644 --- a/extensions/gulp/src/main.ts +++ b/extensions/gulp/src/main.ts @@ -177,7 +177,6 @@ class TaskDetector { private taskProvider: vscode.Disposable | undefined; private detectors: Map = new Map(); - private promise: Promise | undefined; constructor() { } @@ -197,15 +196,12 @@ class TaskDetector { this.taskProvider = undefined; } this.detectors.clear(); - this.promise = undefined; } private updateWorkspaceFolders(added: vscode.WorkspaceFolder[], removed: vscode.WorkspaceFolder[]): void { - let changed = false; for (let remove of removed) { let detector = this.detectors.get(remove.uri.toString()); if (detector) { - changed = true; detector.dispose(); this.detectors.delete(remove.uri.toString()); } @@ -213,22 +209,16 @@ class TaskDetector { for (let add of added) { let detector = new FolderDetector(add); if (detector.isEnabled()) { - changed = true; this.detectors.set(add.uri.toString(), detector); detector.start(); } } - if (changed) { - this.promise = undefined; - } this.updateProvider(); } private updateConfiguration(): void { - let changed = false; for (let detector of this.detectors.values()) { if (!detector.isEnabled()) { - changed = true; detector.dispose(); this.detectors.delete(detector.workspaceFolder.uri.toString()); } @@ -239,16 +229,12 @@ class TaskDetector { if (!this.detectors.has(folder.uri.toString())) { let detector = new FolderDetector(folder); if (detector.isEnabled()) { - changed = true; this.detectors.set(folder.uri.toString(), detector); detector.start(); } } } } - if (changed) { - this.promise = undefined; - } this.updateProvider(); } @@ -266,15 +252,11 @@ class TaskDetector { else if (this.taskProvider && this.detectors.size === 0) { this.taskProvider.dispose(); this.taskProvider = undefined; - this.promise = undefined; } } public getTasks(): Promise { - if (!this.promise) { - this.promise = this.computeTasks(); - } - return this.promise; + return this.computeTasks(); } private computeTasks(): Promise { diff --git a/extensions/jake/src/main.ts b/extensions/jake/src/main.ts index 7ea6e99e969..31f0b8ff32a 100644 --- a/extensions/jake/src/main.ts +++ b/extensions/jake/src/main.ts @@ -182,7 +182,6 @@ class TaskDetector { private taskProvider: vscode.Disposable | undefined; private detectors: Map = new Map(); - private promise: Promise | undefined; constructor() { } @@ -202,15 +201,12 @@ class TaskDetector { this.taskProvider = undefined; } this.detectors.clear(); - this.promise = undefined; } private updateWorkspaceFolders(added: vscode.WorkspaceFolder[], removed: vscode.WorkspaceFolder[]): void { - let changed = false; for (let remove of removed) { let detector = this.detectors.get(remove.uri.toString()); if (detector) { - changed = true; detector.dispose(); this.detectors.delete(remove.uri.toString()); } @@ -218,22 +214,16 @@ class TaskDetector { for (let add of added) { let detector = new FolderDetector(add); if (detector.isEnabled()) { - changed = true; this.detectors.set(add.uri.toString(), detector); detector.start(); } } - if (changed) { - this.promise = undefined; - } this.updateProvider(); } private updateConfiguration(): void { - let changed = false; for (let detector of this.detectors.values()) { if (!detector.isEnabled()) { - changed = true; detector.dispose(); this.detectors.delete(detector.workspaceFolder.uri.toString()); } @@ -244,16 +234,12 @@ class TaskDetector { if (!this.detectors.has(folder.uri.toString())) { let detector = new FolderDetector(folder); if (detector.isEnabled()) { - changed = true; this.detectors.set(folder.uri.toString(), detector); detector.start(); } } } } - if (changed) { - this.promise = undefined; - } this.updateProvider(); } @@ -271,15 +257,11 @@ class TaskDetector { else if (this.taskProvider && this.detectors.size === 0) { this.taskProvider.dispose(); this.taskProvider = undefined; - this.promise = undefined; } } public getTasks(): Promise { - if (!this.promise) { - this.promise = this.computeTasks(); - } - return this.promise; + return this.computeTasks(); } private computeTasks(): Promise { -- GitLab