This is an automated email from the ASF dual-hosted git repository.

marat pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-karavan.git


The following commit(s) were added to refs/heads/main by this push:
     new aa9f3f5  Fix #246 (#252)
aa9f3f5 is described below

commit aa9f3f5672184d798aff83c4ae3da86217a2ca74
Author: Marat Gubaidullin <[email protected]>
AuthorDate: Tue Mar 29 12:01:19 2022 -0400

    Fix #246 (#252)
---
 karavan-vscode/package.json           | 24 +++++++++++++++++++++++-
 karavan-vscode/src/extension.ts       | 10 +++++++++-
 karavan-vscode/src/integrationView.ts |  6 +++---
 3 files changed, 35 insertions(+), 5 deletions(-)

diff --git a/karavan-vscode/package.json b/karavan-vscode/package.json
index 7374a59..0f0b7f0 100644
--- a/karavan-vscode/package.json
+++ b/karavan-vscode/package.json
@@ -44,8 +44,9 @@
   "activationEvents": [
     "onCommand:karavan.create-crd",
     "onCommand:karavan.create-yaml",
-    "onCommand:karavan.jbang-run",
     "onCommand:karavan.open",
+    "onCommand:karavan.open-yaml",
+    "onCommand:karavan.jbang-run",
     "onView:integrations"
   ],
   "main": "./dist/extension.js",
@@ -118,6 +119,10 @@
         }
       },
       {
+        "command": "karavan.open-yaml",
+        "title": "Karavan: Open YAML"
+      },
+      {
         "command": "karavan.jbang-run",
         "title": "Karavan: JBang Run",
         "icon": {
@@ -215,6 +220,23 @@
                                        "when": "view == dsl",
                                        "group": "navigation"
                                }
+                       ],
+      "view/item/context": [
+        {
+          "command": "karavan.open",
+          "when": "view == integrations && viewItem == 'integration'",
+          "group": "navigation_1_open@1"
+        },
+        {
+          "command": "karavan.open-yaml",
+          "when": "view == integrations && viewItem == 'integration'",
+          "group": "navigation_1_open@2"
+        },
+        {
+          "command": "karavan.jbang-run",
+          "when": "view == integrations && viewItem == 'integration'",
+          "group": "navigation_2_run@1"
+        }
                        ]
     },
     "viewsContainers": {
diff --git a/karavan-vscode/src/extension.ts b/karavan-vscode/src/extension.ts
index af5262a..ce4166e 100644
--- a/karavan-vscode/src/extension.ts
+++ b/karavan-vscode/src/extension.ts
@@ -21,6 +21,7 @@ import {IntegrationView} from "./integrationView";
 import { KameletView } from "./kameletView";
 import { ComponentView } from "./componentView";
 import { DslView } from "./dslView";
+import { ViewColumn } from "vscode";
 
 const KARAVAN_LOADED = "karavan:loaded";
 
@@ -59,10 +60,17 @@ export function activate(context: vscode.ExtensionContext) {
     const createYaml = vscode.commands.registerCommand("karavan.create-yaml", 
(...args: any[]) => designer.createIntegration(false, args[0].fsPath));
     context.subscriptions.push(createYaml);
 
-    // Open Camel-K integration in designer
+    // Openintegration in designer
     const open = vscode.commands.registerCommand("karavan.open", (...args: 
any[]) => designer.karavanOpen(args[0].fsPath));
     context.subscriptions.push(open);
 
+    // Open integration in YAML editor
+    const openYaml = vscode.commands.registerCommand("karavan.open-yaml", 
(...args: any[]) => {
+        let uri = vscode.Uri.file(args[0].fsPath);
+        vscode.window.showTextDocument( uri, { preserveFocus: false, preview: 
false});
+    });
+    context.subscriptions.push(openYaml);
+
     // Run Integration in designer
     const run = vscode.commands.registerCommand("karavan.jbang-run", (...args: 
any[]) => designer.jbangRun(args[0].fsPath));
     context.subscriptions.push(run);
diff --git a/karavan-vscode/src/integrationView.ts 
b/karavan-vscode/src/integrationView.ts
index 3583c74..62bbf5b 100644
--- a/karavan-vscode/src/integrationView.ts
+++ b/karavan-vscode/src/integrationView.ts
@@ -61,13 +61,13 @@ export class IntegrationItem extends vscode.TreeItem {
 
        constructor(
                public readonly title: string,
-               public readonly fullPath: string,
+               public readonly fsPath: string,
                public readonly description: string,
                public readonly integration?: Integration,
                public readonly command?: vscode.Command
        ) {
                super(title, integration ? 
vscode.TreeItemCollapsibleState.Collapsed : 
vscode.TreeItemCollapsibleState.None);
-               this.tooltip = this.fullPath;
+               this.tooltip = this.fsPath;
        }
 
        iconPath = this.integration ? {
@@ -75,5 +75,5 @@ export class IntegrationItem extends vscode.TreeItem {
                dark: path.join(__filename, '..', '..', 'icons', 'dark', 
this.integration?.crd ? 'crd.svg' : 'karavan.svg')
        } : vscode.ThemeIcon.File;
 
-       contextValue = 'integration';
+       contextValue = this.integration ? 'integration' : "route";
 }
\ No newline at end of file

Reply via email to