{
}
function cmdOpenAveRecords(): void {
- vscode.env.openExternal(vscode.Uri.parse(`${AVE_RECORDS_BASE}/records`));
+ vscode.env.openExternal(vscode.Uri.parse(aveRecordsIndexLink()));
}
// ── Event handlers ────────────────────────────────────────────────────────────
diff --git a/vscode/src/features/codeActions.ts b/vscode/src/features/codeActions.ts
index 3c28615..016d689 100644
--- a/vscode/src/features/codeActions.ts
+++ b/vscode/src/features/codeActions.ts
@@ -14,7 +14,8 @@
import * as path from "path";
import * as vscode from "vscode";
-import { BawbelFinding, AVE_RECORDS_BASE, SUPPRESS_FILE } from "../core/types";
+import { BawbelFinding, SUPPRESS_FILE } from "../core/types";
+import { aveRecordLink } from "../core/links";
import { isSuppressed, loadSuppressions } from "../core/suppressions";
import { DiagnosticsManager } from "./diagnostics";
@@ -157,7 +158,7 @@ export class BawbelCodeActionProvider implements vscode.CodeActionProvider {
details.command = {
command: "vscode.open",
title: "Open AVE record",
- arguments: [vscode.Uri.parse(`${AVE_RECORDS_BASE}/records/${aveId}`)],
+ arguments: [vscode.Uri.parse(aveRecordLink(aveId))],
};
actions.push(details);
}
diff --git a/vscode/src/features/diagnostics.ts b/vscode/src/features/diagnostics.ts
index 65d6bfc..e2d67e5 100644
--- a/vscode/src/features/diagnostics.ts
+++ b/vscode/src/features/diagnostics.ts
@@ -16,9 +16,9 @@ import {
BawbelFileResult,
SEVERITY_INDEX,
SEVERITY_EMOJI,
- AVE_RECORDS_BASE,
SUPPRESS_FILE,
} from "../core/types";
+import { aveRecordLink } from "../core/links";
import { getRemediation, hasSpecificRemediation } from "../core/remediation";
import { isSuppressed, loadSuppressions } from "../core/suppressions";
@@ -235,14 +235,14 @@ export class DiagnosticsManager {
`Engine: ${f.engine}`,
].filter(Boolean).join(" | "),
owasp ? `OWASP: ${owasp}` : "",
- `Details: ${AVE_RECORDS_BASE}/records/${f.ave_id}`,
+ `Details: ${aveRecordLink(f.ave_id)}`,
].filter(s => s !== undefined).join("\n");
const diag = new vscode.Diagnostic(range, message, vsSev);
diag.source = "Bawbel";
diag.code = {
value: f.ave_id,
- target: vscode.Uri.parse(`${AVE_RECORDS_BASE}/records/${f.ave_id}`),
+ target: vscode.Uri.parse(aveRecordLink(f.ave_id)),
};
if (f.severity === "LOW") {
@@ -267,7 +267,7 @@ export class DiagnosticsManager {
diag.tags = [vscode.DiagnosticTag.Unnecessary];
diag.code = {
value: f.ave_id,
- target: vscode.Uri.parse(`${AVE_RECORDS_BASE}/records/${f.ave_id}`),
+ target: vscode.Uri.parse(aveRecordLink(f.ave_id)),
};
return diag;
}
diff --git a/vscode/src/ui/reportPanel.ts b/vscode/src/ui/reportPanel.ts
index 903a79f..3f593d4 100644
--- a/vscode/src/ui/reportPanel.ts
+++ b/vscode/src/ui/reportPanel.ts
@@ -9,6 +9,7 @@
*/
import * as vscode from "vscode";
+import { aveRecordsIndexLink } from "../core/links";
import { runCommand } from "../core/cli";
import { BawbelFileResult } from "../core/types";
@@ -129,7 +130,7 @@ export class ReportPanel {
Bawbel Report — ${escapeHtml(name)}
${html}
- Generated by bawbel report · AVE records
+ Generated by bawbel report · AVE records