Skip to content

Commit a56bc2f

Browse files
authored
Implement custom command for opening Low Code editors (#1501)
1 parent e1a5c68 commit a56bc2f

File tree

2 files changed

+11
-2
lines changed

2 files changed

+11
-2
lines changed

src/extension.ts

+9-1
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,7 @@ const packageJson = vscode.extensions.getExtension(extensionId).packageJSON;
156156
const extensionVersion = packageJson.version;
157157
const aiKey = packageJson.aiKey;
158158
const PANEL_LABEL = "ObjectScript";
159+
const lowCodeEditorViewType = packageJson.contributes.customEditors[0].viewType;
159160

160161
const _onDidChangeConnection = new vscode.EventEmitter<void>();
161162

@@ -1319,7 +1320,7 @@ export async function activate(context: vscode.ExtensionContext): Promise<any> {
13191320
vscode.commands.registerCommand("vscode-objectscript.explorer.project.addWorkspaceFolderForProject", (node) =>
13201321
addWorkspaceFolderForProject(node)
13211322
),
1322-
vscode.window.registerCustomEditorProvider("vscode-objectscript.lowCode", new LowCodeEditorProvider(), {
1323+
vscode.window.registerCustomEditorProvider(lowCodeEditorViewType, new LowCodeEditorProvider(), {
13231324
webviewOptions: {
13241325
retainContextWhenHidden: true,
13251326
},
@@ -1586,6 +1587,13 @@ export async function activate(context: vscode.ExtensionContext): Promise<any> {
15861587
}
15871588
}),
15881589
...setUpTestController(),
1590+
vscode.commands.registerCommand("vscode-objectscript.reopenInLowCodeEditor", (uri: vscode.Uri) => {
1591+
if (vscode.window.activeTextEditor?.document.uri.toString() == uri.toString()) {
1592+
vscode.commands
1593+
.executeCommand("workbench.action.closeActiveEditor")
1594+
.then(() => vscode.commands.executeCommand("vscode.openWith", uri, lowCodeEditorViewType));
1595+
}
1596+
}),
15891597

15901598
/* Anything we use from the VS Code proposed API */
15911599
...proposed

src/providers/ObjectScriptCodeLensProvider.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,8 @@ export class ObjectScriptCodeLensProvider implements vscode.CodeLensProvider {
7979
) {
8080
cmd = {
8181
title: "Reopen in Low-Code Editor",
82-
command: "workbench.action.toggleEditorType",
82+
command: "vscode-objectscript.reopenInLowCodeEditor",
83+
arguments: [document.uri],
8384
tooltip: "Replace text editor with low-code editor",
8485
};
8586
} else if (xdataName == "KPI" && superclasses.includes("%DeepSee.KPI")) {

0 commit comments

Comments
 (0)