47 lines
1.1 KiB
TypeScript
47 lines
1.1 KiB
TypeScript
import * as vscode from 'vscode';
|
|
|
|
class QuickItem extends vscode.TreeItem {
|
|
customChildren: QuickItem[] | undefined;
|
|
|
|
constructor(label: string, command?: string, args?: any, collapsibleState?: vscode.TreeItemCollapsibleState, children?: QuickItem[]) {
|
|
super(label, collapsibleState);
|
|
if (command) {
|
|
this.command = {
|
|
title: label,
|
|
command,
|
|
arguments: args,
|
|
};
|
|
}
|
|
this.customChildren = children;
|
|
}
|
|
}
|
|
|
|
export default class QuickAccessTreeProvider {
|
|
getChildren(element: QuickItem) {
|
|
if (element && element.customChildren) {
|
|
return element.customChildren;
|
|
}
|
|
|
|
return [
|
|
new QuickItem(
|
|
'DevStar Home',
|
|
undefined,
|
|
undefined,
|
|
vscode.TreeItemCollapsibleState.Expanded,
|
|
[new QuickItem('Open', 'devstar.showHome')]
|
|
),
|
|
// new QuickItem(
|
|
// 'Miscellaneous',
|
|
// undefined,
|
|
// undefined,
|
|
// vscode.TreeItemCollapsibleState.Expanded,
|
|
// [new QuickItem('Connect Remote Container', 'devstar.connectRemoteContainer')]
|
|
// ),
|
|
];
|
|
}
|
|
|
|
getTreeItem(element: QuickItem) {
|
|
return element;
|
|
}
|
|
}
|