Skip to content

Commit 1f86149

Browse files
committed
Allow user tasks to be passed as parameters to Run Task
Fixes microsoft#90344
1 parent a30ddfa commit 1f86149

3 files changed

Lines changed: 9 additions & 8 deletions

File tree

src/vs/workbench/contrib/tasks/browser/abstractTaskService.ts

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1167,8 +1167,8 @@ export abstract class AbstractTaskService extends Disposable implements ITaskSer
11671167
}
11681168
});
11691169
let resolver: ITaskResolver = {
1170-
resolve: (uri: URI, alias: string) => {
1171-
let data = resolverData.get(uri.toString());
1170+
resolve: (uri: URI | string, alias: string) => {
1171+
let data = resolverData.get(typeof uri === 'string' ? uri : uri.toString());
11721172
if (!data) {
11731173
return undefined;
11741174
}
@@ -1234,8 +1234,8 @@ export abstract class AbstractTaskService extends Disposable implements ITaskSer
12341234
});
12351235

12361236
return {
1237-
resolve: (uri: URI, identifier: string | TaskIdentifier | undefined) => {
1238-
let data = uri ? resolverData.get(uri.toString()) : undefined;
1237+
resolve: (uri: URI | string, identifier: string | TaskIdentifier | undefined) => {
1238+
let data = resolverData.get(typeof uri === 'string' ? uri : uri.toString());
12391239
if (!data || !identifier) {
12401240
return undefined;
12411241
}
@@ -2116,9 +2116,10 @@ export abstract class AbstractTaskService extends Disposable implements ITaskSer
21162116
if (identifier !== undefined) {
21172117
this.getGroupedTasks().then((grouped) => {
21182118
let resolver = this.createResolver(grouped);
2119-
let folders = this.contextService.getWorkspace().folders;
2119+
let folders: (IWorkspaceFolder | string)[] = this.contextService.getWorkspace().folders;
2120+
folders = folders.concat([USER_TASKS_GROUP_KEY]);
21202121
for (let folder of folders) {
2121-
let task = resolver.resolve(folder.uri, identifier);
2122+
let task = resolver.resolve(typeof folder === 'string' ? folder : folder.uri, identifier);
21222123
if (task) {
21232124
this.run(task).then(undefined, reason => {
21242125
// eat the error, it has already been surfaced to the user and we don't care about it here

src/vs/workbench/contrib/tasks/common/taskSystem.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ export interface ITaskExecuteResult {
9393
}
9494

9595
export interface ITaskResolver {
96-
resolve(uri: URI, identifier: string | KeyedTaskIdentifier | undefined): Task | undefined;
96+
resolve(uri: URI | string, identifier: string | KeyedTaskIdentifier | undefined): Task | undefined;
9797
}
9898

9999
export interface TaskTerminateResponse extends TerminateResponse {

src/vs/workbench/contrib/tasks/common/tasks.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -438,7 +438,7 @@ export interface KeyedTaskIdentifier extends TaskIdentifier {
438438
}
439439

440440
export interface TaskDependency {
441-
uri: URI;
441+
uri: URI | string;
442442
task: string | KeyedTaskIdentifier | undefined;
443443
}
444444

0 commit comments

Comments
 (0)