diff --git a/package.json b/package.json index 9f201ff..f186491 100644 --- a/package.json +++ b/package.json @@ -29,6 +29,26 @@ "command": "abap-artifacts.create.artifact", "title": "Create ABAP Artifact", "category": "abap-artifacts" + }, + { + "command": "abap-artifacts.tree.create", + "title": "Create" + }, + { + "command": "abap-artifacts.tree.rename", + "title": "Rename" + }, + { + "command": "abap-artifacts.tree.delete", + "title": "Delete" + }, + { + "command": "abap-artifacts.tree.refresh", + "title": "Refresh", + "icon": { + "light": "resources/light/refresh.svg", + "dark": "resources/dark/refresh.svg" + } } ], "views": { @@ -49,6 +69,27 @@ ] }, "menus": { + "view/title": [ + { + "command": "abap-artifacts.tree.refresh", + "when": "view == abap-artifacts.artifacts", + "group": "navigation" + } + ], + "view/item/context": [ + { + "command": "abap-artifacts.tree.create", + "when": "view == abap-artifacts.artifacts && viewItem =~ /create/" + }, + { + "command": "abap-artifacts.tree.rename", + "when": "view == abap-artifacts.artifacts && viewItem =~ /rename/" + }, + { + "command": "abap-artifacts.tree.delete", + "when": "view == abap-artifacts.artifacts && viewItem =~ /delete/" + } + ], "explorer/context": [ { "command": "abap-artifacts.create.artifact", diff --git a/resources/dark/refresh.svg b/resources/dark/refresh.svg new file mode 100644 index 0000000..d79fdaa --- /dev/null +++ b/resources/dark/refresh.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/light/refresh.svg b/resources/light/refresh.svg new file mode 100644 index 0000000..e034574 --- /dev/null +++ b/resources/light/refresh.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/web/artifacts.ts b/src/web/artifacts.ts index c33f221..6d2c2ad 100644 --- a/src/web/artifacts.ts +++ b/src/web/artifacts.ts @@ -8,6 +8,7 @@ export interface AnyArtifact { file: vscode.Uri, isFolder: boolean, expand: boolean, + contextValue: string, sub: AnyArtifact[]; }; @@ -77,6 +78,7 @@ async function buildFolder(path: string, filenames: vscode.Uri[]): Promise + vscode.window.showInformationMessage('todo, refresh') + ); + + vscode.commands.registerCommand('abap-artifacts.tree.create', () => + vscode.window.showInformationMessage('todo, create') + ); + vscode.commands.registerCommand('abap-artifacts.tree.rename', () => + vscode.window.showInformationMessage('todo, rename') + ); + vscode.commands.registerCommand('abap-artifacts.tree.delete', () => + vscode.window.showInformationMessage('todo, delete') + ); + let disposable = vscode.commands.registerCommand('abap-artifacts.create.artifact', createArtifact); context.subscriptions.push(disposable); }