hide the backup restore commands from command palette (#2317)

This commit is contained in:
Alan Ren
2018-08-23 17:08:54 -07:00
committed by GitHub
parent 154213b705
commit 4ab5d84b94
3 changed files with 25 additions and 6 deletions

View File

@@ -50,7 +50,9 @@ export abstract class Task {
id: this.id,
handler: (accessor, profile, args) => this.runTask(accessor, profile, args),
description: this._description,
iconClass: this._iconClass
iconClass: this._iconClass,
iconPath: this.iconPath,
title: this.title
};
}
@@ -62,8 +64,10 @@ export abstract class Task {
};
}
public registerTask(): IDisposable {
MenuRegistry.addCommand(this.toCommandAction());
public registerTask(showInCommandPalette: boolean = true): IDisposable {
if (showInCommandPalette) {
MenuRegistry.addCommand(this.toCommandAction());
}
return TaskRegistry.registerTask(this.toITask());
}
@@ -98,6 +102,8 @@ export interface ITask {
precondition?: ContextKeyExpr;
description?: ITaskHandlerDescription;
iconClass?: string;
iconPath?: { dark: string; light?: string; };
title?: string;
}
export interface ITaskRegistry {
@@ -106,6 +112,7 @@ export interface ITaskRegistry {
getTasks(): string[];
getOrCreateTaskIconClassName(item: ICommandAction): string;
onTaskRegistered: Event<string>;
getCommandActionById(id: string): ICommandAction;
}
const ids = new IdGenerator('task-icon-');
@@ -116,6 +123,7 @@ export const TaskRegistry: ITaskRegistry = new class implements ITaskRegistry {
private _onTaskRegistered = new Emitter<string>();
public readonly onTaskRegistered: Event<string> = this._onTaskRegistered.event;
private taskIdToIconClassNameMap: Map<string /* task id */, string /* CSS rule */> = new Map<string, string>();
private taskIdToCommandActionMap: Map<string, ICommandAction> = new Map<string, ICommandAction>();
registerTask(idOrTask: string | ITask, handler?: ITaskHandler): IDisposable {
let disposable: IDisposable;
@@ -127,6 +135,13 @@ export const TaskRegistry: ITaskRegistry = new class implements ITaskRegistry {
if (idOrTask.iconClass) {
this.taskIdToIconClassNameMap.set(idOrTask.id, idOrTask.iconClass);
}
if (idOrTask.iconPath && idOrTask.title) {
this.taskIdToCommandActionMap.set(idOrTask.id, {
iconPath: idOrTask.iconPath,
id: idOrTask.id,
title: idOrTask.title
});
}
disposable = CommandsRegistry.registerCommand(idOrTask);
id = idOrTask.id;
}
@@ -161,4 +176,8 @@ export const TaskRegistry: ITaskRegistry = new class implements ITaskRegistry {
getTasks(): string[] {
return this._tasks.slice(0);
}
getCommandActionById(taskId: string): ICommandAction {
return this.taskIdToCommandActionMap.get(taskId);
}
};