Implements #45664: Add API to query and execute tasks

This commit is contained in:
Dirk Baeumer
2018-03-20 22:19:00 +01:00
parent d1b4302bcf
commit 2f5061ff2d
13 changed files with 941 additions and 78 deletions

View File

@@ -132,7 +132,7 @@ export function createApiFactory(
const extHostLanguages = new ExtHostLanguages(rpcProtocol);
// Register API-ish commands
ExtHostApiCommands.register(extHostCommands, extHostWorkspace);
ExtHostApiCommands.register(extHostCommands, extHostTask);
return function (extension: IExtensionDescription): typeof vscode {
@@ -517,6 +517,21 @@ export function createApiFactory(
registerTaskProvider: (type: string, provider: vscode.TaskProvider) => {
return extHostTask.registerTaskProvider(extension, provider);
},
fetchTasks: proposedApiFunction(extension, (): Thenable<vscode.Task[]> => {
return extHostTask.executeTaskProvider();
}),
executeTask: proposedApiFunction(extension, (task: vscode.Task): Thenable<vscode.TaskExecution> => {
return extHostTask.executeTask(extension, task);
}),
onDidStartTask: (listeners, thisArgs?, disposables?) => {
return extHostTask.onDidStartTask(listeners, thisArgs, disposables);
},
terminateTask: proposedApiFunction(extension, (task: vscode.TaskExecution): void => {
extHostTask.terminateTask(task);
}),
onDidEndTask: (listeners, thisArgs?, disposables?) => {
return extHostTask.onDidEndTask(listeners, thisArgs, disposables);
},
registerFileSystemProvider: proposedApiFunction(extension, (scheme, provider) => {
return extHostFileSystem.registerFileSystemProvider(scheme, provider);
}),