Skip to content

Commit 8cf5581

Browse files
committed
support for ${namespace} in links, solve #99
1 parent 63d8364 commit 8cf5581

File tree

2 files changed

+12
-3
lines changed

2 files changed

+12
-3
lines changed

src/commands/serverActions.ts

+11-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import * as vscode from "vscode";
22
import { config, workspaceState, checkConnection } from "../extension";
3-
import { currentWorkspaceFolder, terminalWithDocker } from "../utils";
3+
import { currentWorkspaceFolder, terminalWithDocker, currentFile } from "../utils";
44

55
export async function serverActions(): Promise<void> {
66
const { active, host, ns, https, port: defaultPort, username, password: defaultPassword, links } = config("conn");
@@ -19,10 +19,18 @@ export async function serverActions(): Promise<void> {
1919
? `&IRISUsername=${usernameEncoded}&IRISPassword=${passwordEncoded}`
2020
: `&CacheUserName=${usernameEncoded}&CachePassword=${passwordEncoded}`;
2121
const extraLinks = [];
22+
const file = currentFile();
23+
const classname = file && file.name.match(/cls$/i) ? file.name : "";
2224
for (const title in links) {
23-
const link = String(links[title])
25+
let link = String(links[title]);
26+
if (classname == "" && link.includes("${classname}")) {
27+
continue;
28+
}
29+
link = link
2430
.replace("${host}", host)
25-
.replace("${port}", port);
31+
.replace("${port}", port)
32+
.replace("${namespace}", ns == "%SYS" ? "sys" : nsEncoded.toLowerCase())
33+
.replace("${classname}", classname);
2634
extraLinks.push({
2735
id: "extraLink" + extraLinks.length,
2836
label: title,

src/extension.ts

+1
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ export let documentContentProvider: DocumentContentProvider;
6161
export let workspaceState: vscode.Memento;
6262
export let extensionContext: vscode.ExtensionContext;
6363
export let panel: vscode.StatusBarItem;
64+
export let posPanel: vscode.StatusBarItem;
6465
export let terminal: vscode.Terminal;
6566

6667
import TelemetryReporter from "vscode-extension-telemetry";

0 commit comments

Comments
 (0)