Skip to content

Commit

Permalink
Include global tasks in "Configure Tasks"
Browse files Browse the repository at this point in the history
Signed-off-by: Thomas Mäder <[email protected]>
  • Loading branch information
tsmaeder committed Jun 2, 2020
1 parent d5507de commit 3ae0586
Showing 1 changed file with 13 additions and 14 deletions.
27 changes: 13 additions & 14 deletions packages/task/src/browser/quick-open-task.ts
Original file line number Diff line number Diff line change
Expand Up @@ -243,8 +243,8 @@ export class QuickOpenTask implements QuickOpenModel, QuickOpenHandler {
let isFirstGroup = true;
const { filteredConfiguredTasks, filteredProvidedTasks } = this.getFilteredTasks([], configuredTasks, providedTasks);
const groupedTasks = this.getGroupedTasksByWorkspaceFolder([...filteredConfiguredTasks, ...filteredProvidedTasks]);
if (groupedTasks.has(undefined)) {
const configs = groupedTasks.get(undefined)!;
if (groupedTasks.has(TaskScope.Global.toString())) {
const configs = groupedTasks.get(TaskScope.Global.toString())!;
this.items.push(
...configs.map(taskConfig => {
const item = new TaskConfigureQuickOpenItem(
Expand All @@ -264,10 +264,9 @@ export class QuickOpenTask implements QuickOpenModel, QuickOpenHandler {

const rootUris = (await this.workspaceService.roots).map(rootStat => rootStat.uri);
for (const rootFolder of rootUris) {
const uri = new URI(rootFolder).withScheme('file');
const folderName = uri.displayName;
if (groupedTasks.has(uri.toString())) {
const configs = groupedTasks.get(uri.toString())!;
const folderName = new URI(rootFolder).displayName;
if (groupedTasks.has(rootFolder)) {
const configs = groupedTasks.get(rootFolder.toString())!;
this.items.push(
...configs.map((taskConfig, index) => {
const item = new TaskConfigureQuickOpenItem(
Expand All @@ -286,15 +285,15 @@ export class QuickOpenTask implements QuickOpenModel, QuickOpenHandler {
})
);
} else {
const { configUri } = this.preferences.resolve('tasks', [], uri.toString());
const { configUri } = this.preferences.resolve('tasks', [], rootFolder);
const existTaskConfigFile = !!configUri;
this.items.push(new QuickOpenGroupItem({
label: existTaskConfigFile ? 'Open tasks.json file' : 'Create tasks.json file from template',
run: (mode: QuickOpenMode): boolean => {
if (mode !== QuickOpenMode.OPEN) {
return false;
}
setTimeout(() => this.taskConfigurationManager.openConfiguration(uri.toString()));
setTimeout(() => this.taskConfigurationManager.openConfiguration(rootFolder));
return true;
},
showBorder: !isFirstGroup,
Expand Down Expand Up @@ -447,14 +446,14 @@ export class QuickOpenTask implements QuickOpenModel, QuickOpenHandler {
};
}

private getGroupedTasksByWorkspaceFolder(tasks: TaskConfiguration[]): Map<string | undefined, TaskConfiguration[]> {
const grouped = new Map<string | undefined, TaskConfiguration[]>();
private getGroupedTasksByWorkspaceFolder(tasks: TaskConfiguration[]): Map<string, TaskConfiguration[]> {
const grouped = new Map<string, TaskConfiguration[]>();
for (const task of tasks) {
const folder = task._scope;
if (grouped.has(folder.toString())) {
grouped.get(folder.toString())!.push(task);
const scope = task._scope;
if (grouped.has(scope.toString())) {
grouped.get(scope.toString())!.push(task);
} else {
grouped.set(folder.toString(), [task]);
grouped.set(scope.toString(), [task]);
}
}
for (const taskConfigs of grouped.values()) {
Expand Down

0 comments on commit 3ae0586

Please sign in to comment.