diff --git a/task-provider-sample/src/rakeTaskProvider.ts b/task-provider-sample/src/rakeTaskProvider.ts index 87dc02ba..bcc33fe3 100644 --- a/task-provider-sample/src/rakeTaskProvider.ts +++ b/task-provider-sample/src/rakeTaskProvider.ts @@ -27,6 +27,14 @@ export class RakeTaskProvider implements vscode.TaskProvider { } public resolveTask(_task: vscode.Task): vscode.Task | undefined { + const task = _task.definition.task; + // A Rake task consists of a task and an optional file as specified in RakeTaskDefinition + // Make sure that this looks like a Rake task by checking that there is a task. + if (task) { + // resolveTask requires that the same definition object be used. + const definition: RakeTaskDefinition = _task.definition; + return new vscode.Task(definition, definition.task, 'rake', new vscode.ShellExecution(`rake ${definition.task}`)); + } return undefined; } }