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);
}