aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Czihak <git@dcz.at>2026-05-10 22:00:06 +0200
committerDavid Czihak <git@dcz.at>2026-05-10 22:00:06 +0200
commit9f283a84db8f01dcd85265ba76d9241af183d4ea (patch)
tree601cf1baefd0a06f43827547ef29e656b6a5507a
parentb8fa474bf0c214ff9d1dfcec29c7ba439fc56219 (diff)
Feat: Full localization, reactive task list, 0.2.0 changelogv0.2.0
-rw-r--r--Zig.novaextension/CHANGELOG.md29
-rw-r--r--Zig.novaextension/Images/filetype-script-zig/filetype-script-zig.pngbin2890 -> 0 bytes
-rw-r--r--Zig.novaextension/Images/filetype-script-zig/filetype-script-zig@2x.pngbin2983 -> 0 bytes
-rw-r--r--Zig.novaextension/Images/zig-build/zig-build.pngbin1957 -> 0 bytes
-rw-r--r--Zig.novaextension/Images/zig-build/zig-build@2x.pngbin4955 -> 0 bytes
-rw-r--r--Zig.novaextension/Images/zig-mark/metadata.json3
-rw-r--r--Zig.novaextension/Images/zig-mark/zig-mark.pngbin1941 -> 0 bytes
-rw-r--r--Zig.novaextension/Images/zig-mark/zig-mark@2x.pngbin1199 -> 0 bytes
-rw-r--r--Zig.novaextension/Images/zig-task/zig-task.pngbin1773 -> 0 bytes
-rw-r--r--Zig.novaextension/Images/zig-task/zig-task@2x.pngbin4339 -> 0 bytes
-rw-r--r--Zig.novaextension/Scripts/main.js200
-rw-r--r--Zig.novaextension/de.lproj/strings.json242
-rw-r--r--Zig.novaextension/en.lproj/strings.json237
-rw-r--r--Zig.novaextension/extension.json199
14 files changed, 434 insertions, 476 deletions
diff --git a/Zig.novaextension/CHANGELOG.md b/Zig.novaextension/CHANGELOG.md
index 88606ae..7f76537 100644
--- a/Zig.novaextension/CHANGELOG.md
+++ b/Zig.novaextension/CHANGELOG.md
@@ -2,24 +2,23 @@
## 0.2.0 — 2026-05-10
-- Tasks now expose first-class config for `-Doptimize`, `-Dtarget`, and custom `-D<key>=<value>` user options on every template that takes them.
-- Added **Zig Test** template (`zig build test` with `--test-filter` and `--summary`).
-- Added **Zig Watch** template (`zig build --watch`, with `--debounce` and `-fincremental` controls). Note: Nova issue matchers only fire on the first build cycle.
-- **Zig Package** gained a Console setting (Internal / External Terminal). The standalone *Zig Package (macOS Terminal)* template has been removed.
-- Dynamic per-step tasks: each step from `zig build --list-steps` appears as `Zig Build: <step>` in the task list. Cached and refreshed on `build.zig` / `build.zig.zon` changes.
-- **Zig Debug** auto-detects `programPath` from `build.zig.zon`'s `.name` and the `zig-out/bin/<name>` location when the field is left blank.
-- The Run Step default flips from `run` to empty — `zig build` then runs its own default install step. Clear and re-set the field on existing tasks to use the new behavior.
-- Clean now refuses to run when the working directory is `/`, `$HOME`, or outside the workspace, and runs `zig build uninstall` first when the project exposes that step.
-- "Current Zig File" Clean walks up to the nearest `build.zig` instead of cleaning the file's directory.
-- Issue assistant no longer registers for the non-existent `zig-package` syntax.
+*Zig Package* is now **Zig build**. The macOS Terminal variant is gone — use the new Console setting instead.
+
+- New specialized **Zig test** and **Zig watch** templates.
+- Every template now has fields for optimization mode, cross-compilation target, and custom `-D` flags.
+- Build steps from `build.zig` show up automatically as individual tasks and refresh when you save the file.
+- **Zig debug** can guess the program path from `build.zig.zon`.
+- _Run Step_ now defaults to empty, which runs `zig build`’s default step.
+- Task settings (step discovery, current file task visibility) apply immediately without restarting Nova.
+- Clean won’t touch paths outside the workspace and runs `zig build uninstall` first when the project has it.
+- Localizations updated.
## 0.1.8 — 2026-05-07
-- Added a setting to write an LLDB proxy log file for debugging the debug adapter.
-- Improved ZLS error logging in the Extension Console.
-- Updated German localisation.
-- Clarified third-party licences for bundled assets and grammar.
+- New setting to log lldb-dap traffic to a file — useful when the debug adapter misbehaves.
+- ZLS errors now show up properly in the Extension Console if logging is enabled.
+- German localization and licence notices updated.
## 0.1.7 — 2026-05-07
-- Initial release: syntax highlighting, ZLS integration, task templates, and LLDB debugging.
+Initial release. Syntax highlighting, ZLS, task templates, and LLDB debugging.
diff --git a/Zig.novaextension/Images/filetype-script-zig/filetype-script-zig.png b/Zig.novaextension/Images/filetype-script-zig/filetype-script-zig.png
deleted file mode 100644
index 19ae2b8..0000000
--- a/Zig.novaextension/Images/filetype-script-zig/filetype-script-zig.png
+++ /dev/null
Binary files differ
diff --git a/Zig.novaextension/Images/filetype-script-zig/filetype-script-zig@2x.png b/Zig.novaextension/Images/filetype-script-zig/filetype-script-zig@2x.png
deleted file mode 100644
index 44f033f..0000000
--- a/Zig.novaextension/Images/filetype-script-zig/filetype-script-zig@2x.png
+++ /dev/null
Binary files differ
diff --git a/Zig.novaextension/Images/zig-build/zig-build.png b/Zig.novaextension/Images/zig-build/zig-build.png
deleted file mode 100644
index f0b86c8..0000000
--- a/Zig.novaextension/Images/zig-build/zig-build.png
+++ /dev/null
Binary files differ
diff --git a/Zig.novaextension/Images/zig-build/zig-build@2x.png b/Zig.novaextension/Images/zig-build/zig-build@2x.png
deleted file mode 100644
index 437c1f9..0000000
--- a/Zig.novaextension/Images/zig-build/zig-build@2x.png
+++ /dev/null
Binary files differ
diff --git a/Zig.novaextension/Images/zig-mark/metadata.json b/Zig.novaextension/Images/zig-mark/metadata.json
deleted file mode 100644
index 8d164cd..0000000
--- a/Zig.novaextension/Images/zig-mark/metadata.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "template": true
-}
diff --git a/Zig.novaextension/Images/zig-mark/zig-mark.png b/Zig.novaextension/Images/zig-mark/zig-mark.png
deleted file mode 100644
index 903a55a..0000000
--- a/Zig.novaextension/Images/zig-mark/zig-mark.png
+++ /dev/null
Binary files differ
diff --git a/Zig.novaextension/Images/zig-mark/zig-mark@2x.png b/Zig.novaextension/Images/zig-mark/zig-mark@2x.png
deleted file mode 100644
index e7a8454..0000000
--- a/Zig.novaextension/Images/zig-mark/zig-mark@2x.png
+++ /dev/null
Binary files differ
diff --git a/Zig.novaextension/Images/zig-task/zig-task.png b/Zig.novaextension/Images/zig-task/zig-task.png
deleted file mode 100644
index adbed18..0000000
--- a/Zig.novaextension/Images/zig-task/zig-task.png
+++ /dev/null
Binary files differ
diff --git a/Zig.novaextension/Images/zig-task/zig-task@2x.png b/Zig.novaextension/Images/zig-task/zig-task@2x.png
deleted file mode 100644
index 21f056e..0000000
--- a/Zig.novaextension/Images/zig-task/zig-task@2x.png
+++ /dev/null
Binary files differ
diff --git a/Zig.novaextension/Scripts/main.js b/Zig.novaextension/Scripts/main.js
index 70e4169..17edb72 100644
--- a/Zig.novaextension/Scripts/main.js
+++ b/Zig.novaextension/Scripts/main.js
@@ -18,6 +18,7 @@ const CONFIG_KEYS = {
zlsDebug: `${EXTENSION_ID}.zls.debug`,
lldbDapDebug: `${EXTENSION_ID}.debug-adapter.debug`,
discoverSteps: `${EXTENSION_ID}.tasks.discover-steps`,
+ showCurrentFile: `${EXTENSION_ID}.tasks.show-current-file`,
};
// --- LIFECYCLE ---------------------------------------------------------------
@@ -291,10 +292,7 @@ function buildZigArgv(config, options) {
function resolveCleanPaths(cwd) {
const showWarning = () => {
nova.workspace.showWarningMessage(
- localizeText(
- "warning.clean.unsafe_cwd",
- "Refusing to clean: the working directory must be inside this workspace.",
- ),
+ localize("warning.clean.unsafe-cwd"),
);
};
@@ -532,31 +530,6 @@ const stepCache = {
// --- LOCALIZATION -------------------------------------------------------------
-/**
- * Resolve a localized string, substituting `{variable}` placeholders
- *
- * @param {string} key - Key
- * @param {string} fallback - Fallback text
- * @param {*} variables - Dictionary of variable names and values
- */
-function localizeText(key, fallback, variables) {
- let text = nova.localize(key, null);
-
- if (key === text) {
- return fallback !== undefined ? String(fallback) : key;
- }
-
- if (!variables || typeof variables !== "object") {
- return text;
- }
-
- for (const [name, value] of Object.entries(variables)) {
- text = text.split(`{${name}}`).join(String(value));
- }
-
- return text;
-}
-
function localize(key, variables) {
let text = nova.localize(key, null);
@@ -707,10 +680,7 @@ async function resolveZigExecutable() {
const zigPath = await resolveExecutable(CONFIG_KEYS.zigPath, "zig");
if (!zigPath) {
nova.workspace.showWarningMessage(
- localizeText(
- "warning.zig.not-found",
- "Zig was not found. Install it or set a Zig executable path in Zig extension settings.",
- ),
+ localize("warning.zig.not-found"),
);
return null;
}
@@ -913,10 +883,7 @@ function registerCommands() {
if (!command) {
workspace.showWarningMessage(
- localizeText(
- "warning.terminal.launch_failed",
- "Unable to launch the Zig task in Terminal.",
- ),
+ localize("warning.terminal.launch-failed"),
);
return;
}
@@ -925,10 +892,7 @@ function registerCommands() {
buildShellCommand(command, args, cwd),
);
if (result.status !== 0) {
- const prefix = localizeText(
- "warning.terminal.open_failed",
- "Unable to open Terminal for the Zig task.",
- );
+ const prefix = localize("warning.terminal.open-failed");
const suffix = result.stderr ? ` ${result.stderr}` : "";
workspace.showWarningMessage(`${prefix}${suffix}`);
}
@@ -1055,10 +1019,7 @@ class ZigLanguageServer {
if (!zlsPath) {
this.warnMissingTool(
"zls",
- localizeText(
- "warning.zls.not-found",
- "ZLS was not found. Install it or set a ZLS executable path in Zig extension settings.",
- ),
+ localize("warning.zls.not-found"),
);
return;
}
@@ -1083,7 +1044,7 @@ class ZigLanguageServer {
const client = new LanguageClient(
LANGUAGE_CLIENT_ID,
- localizeText("name.language_server", "Zig Language Server"),
+ localize("name.language-server"),
serverOptions,
clientOptions,
);
@@ -1107,11 +1068,7 @@ class ZigLanguageServer {
if (error) {
console.error(`[${LANGUAGE_CLIENT_ID}] ${error.message}`);
nova.workspace.showWarningMessage(
- localizeText(
- "warning.zls.stopped_unexpectedly",
- "The Zig Language Server stopped unexpectedly ({executable}).",
- { executable: zlsPath || "zls" },
- ),
+ localize("warning.zls.stopped-unexpectedly", { executable: zlsPath || "zls" }),
);
}
});
@@ -1136,11 +1093,7 @@ class ZigLanguageServer {
} catch (error) {
console.error(`[${LANGUAGE_CLIENT_ID}] Failed to start ZLS`, error);
nova.workspace.showWarningMessage(
- localizeText(
- "warning.zls.start_failed",
- "Unable to start the Zig language server at {path}.",
- { path: zlsPath },
- ),
+ localize("warning.zls.start-failed", { path: zlsPath }),
);
this.stop();
}
@@ -1218,9 +1171,79 @@ class ZigTaskAssistant {
identifier: TASK_ASSISTANT_ID,
name: localize("autotasks.title"),
});
+ this.watchers = [];
+ this.configDisposables = [];
+ this.pathChangeDisposable = nova.workspace.onDidChangePath(() => {
+ this.stopWatching();
+ this.startWatching();
+ });
+ this.startWatching();
+ this.observeTaskConfig();
+ }
+
+ observeTaskConfig() {
+ const reload = () => {
+ if (typeof nova.workspace.reloadTasks === "function") {
+ try {
+ nova.workspace.reloadTasks(TASK_ASSISTANT_ID);
+ } catch (_) {}
+ }
+ };
+ for (const key of [CONFIG_KEYS.discoverSteps, CONFIG_KEYS.showCurrentFile]) {
+ this.configDisposables.push(nova.config.onDidChange(key, reload));
+ this.configDisposables.push(nova.workspace.config.onDidChange(key, reload));
+ }
+ }
+
+ startWatching() {
+ const cwd = nova.workspace.path;
+ if (!cwd) return;
+ const reload = () => {
+ console.log(`[${TASK_ASSISTANT_ID}] build file changed, refreshing steps`);
+ stepCache.invalidate(cwd);
+ if (typeof nova.workspace.reloadTasks === "function") {
+ try {
+ nova.workspace.reloadTasks(TASK_ASSISTANT_ID);
+ } catch (_) {}
+ }
+ };
+ for (const name of ["build.zig", "build.zig.zon"]) {
+ try {
+ this.watchers.push(nova.fs.watch(nova.path.join(cwd, name), reload));
+ } catch (_) {}
+ }
+ }
+
+ stopWatching() {
+ for (const w of this.watchers) {
+ if (w && typeof w.dispose === "function") {
+ try {
+ w.dispose();
+ } catch (_) {}
+ }
+ }
+ this.watchers = [];
}
dispose() {
+ this.stopWatching();
+ for (const d of this.configDisposables) {
+ if (d && typeof d.dispose === "function") {
+ try {
+ d.dispose();
+ } catch (_) {}
+ }
+ }
+ this.configDisposables = [];
+ if (
+ this.pathChangeDisposable &&
+ typeof this.pathChangeDisposable.dispose === "function"
+ ) {
+ try {
+ this.pathChangeDisposable.dispose();
+ } catch (_) {}
+ this.pathChangeDisposable = null;
+ }
if (this.disposable && typeof this.disposable.dispose === "function") {
this.disposable.dispose();
this.disposable = null;
@@ -1230,25 +1253,27 @@ class ZigTaskAssistant {
provideTasks() {
const tasks = [];
- const currentFile = new Task(localize("autotasks.current-file.name"));
- currentFile.image = "zig-script";
- currentFile.setAction(
- Task.Run,
- new TaskResolvableAction({
- data: {
- type: "current-file-run",
- },
- }),
- );
- currentFile.setAction(
- Task.Clean,
- new TaskResolvableAction({
- data: {
- type: "current-file-clean",
- },
- }),
- );
- tasks.push(currentFile);
+ if (getBooleanConfigValue(CONFIG_KEYS.showCurrentFile, true)) {
+ const currentFile = new Task(localize("autotasks.current-file.name"));
+ currentFile.image = "zig-script";
+ currentFile.setAction(
+ Task.Run,
+ new TaskResolvableAction({
+ data: {
+ type: "current-file-run",
+ },
+ }),
+ );
+ currentFile.setAction(
+ Task.Clean,
+ new TaskResolvableAction({
+ data: {
+ type: "current-file-clean",
+ },
+ }),
+ );
+ tasks.push(currentFile);
+ }
const workspacePath = nova.workspace.path;
if (
@@ -1329,10 +1354,7 @@ class ZigTaskAssistant {
console.log(`[${TASK_ASSISTANT_ID}] resolveCleanAction: cwd=${cwd}`);
if (!cwd) {
nova.workspace.showWarningMessage(
- localizeText(
- "warning.clean.missing_cwd",
- "Choose a workspace or working directory before cleaning Zig build artifacts.",
- ),
+ localize("warning.clean.missing-cwd"),
);
return null;
}
@@ -1481,10 +1503,7 @@ class ZigTaskAssistant {
const cwd = filePath ? nova.path.dirname(filePath) : null;
if (!filePath || !cwd) {
nova.workspace.showWarningMessage(
- localizeText(
- "warning.current_file.focus_editor_for_run",
- "Focus a Zig editor before running Current Zig File.",
- ),
+ localize("warning.current-file.focus-editor-for-run"),
);
return null;
}
@@ -1497,10 +1516,7 @@ class ZigTaskAssistant {
const startDir = activeZigFileDirectory();
if (!startDir) {
nova.workspace.showWarningMessage(
- localizeText(
- "warning.current_file.focus_editor_for_clean",
- "Focus a Zig editor before cleaning Current Zig File artifacts.",
- ),
+ localize("warning.current-file.focus-editor-for-clean"),
);
return null;
}
@@ -1514,10 +1530,7 @@ class ZigTaskAssistant {
const lldbDapPath = await resolveLldbDapExecutable();
if (!lldbDapPath) {
nova.workspace.showWarningMessage(
- localizeText(
- "warning.lldb_dap.not-found",
- "lldb-dap was not found. Install Xcode Command Line Tools or set an LLDB DAP executable path in Zig extension settings.",
- ),
+ localize("warning.lldb-dap.not-found"),
);
return null;
}
@@ -1535,10 +1548,7 @@ class ZigTaskAssistant {
}
if (!programPath) {
nova.workspace.showWarningMessage(
- localizeText(
- "warning.debug.choose_program",
- "Choose a program path before running Zig Debug.",
- ),
+ localize("warning.debug.choose-program"),
);
return null;
}
diff --git a/Zig.novaextension/de.lproj/strings.json b/Zig.novaextension/de.lproj/strings.json
index 3ebacf6..f1faac0 100644
--- a/Zig.novaextension/de.lproj/strings.json
+++ b/Zig.novaextension/de.lproj/strings.json
@@ -1,149 +1,113 @@
{
- "Zig": "Zig",
- "zig": "zig",
- "Zig (LLDB DAP)": "Zig (LLDB DAP)",
- "zls": "zls",
-
- "Zig Package": "Zig-Paket",
- "Build and run a Zig package from one Nova task configuration.": "Ein Zig-Paket aus einer einzigen Nova-Task-Konfiguration bauen und ausführen.",
- "Working Directory": "Arbeitsverzeichnis",
- "Workspace Root": "Projektverzeichnis",
- "Run Step": "Ausführungsschritt",
- "run": "run",
- "install": "install",
- "host": "host",
- "The `zig build` step to execute for the Run action.": "Der `zig build`-Schritt, der für die Ausführen-Aktion ausgeführt wird.",
- "The `zig build` step to execute for the Run action. Leave blank to run `zig build` with no step (Zig's default install step).": "Der `zig build`-Schritt für die Ausführen-Aktion. Leer lassen, um `zig build` ohne Schritt auszuführen (Zigs Standardschritt `install`).",
- "Build Arguments": "Build-Argumente",
- "Additional arguments appended after `zig build` for both Build and Run.": "Zusätzliche Argumente, die nach `zig build` sowohl für Bauen als auch Ausführen angehängt werden.",
- "Additional arguments appended after `zig build`.": "Zusätzliche Argumente, die nach `zig build` angehängt werden.",
- "Additional arguments appended after `zig build test`.": "Zusätzliche Argumente, die nach `zig build test` angehängt werden.",
- "Program Arguments": "Programmargumente",
- "Arguments passed after `--` to the built program.": "Argumente, die nach `--` an das gebaute Programm übergeben werden.",
- "Arguments passed after `--` to the test runner.": "Argumente, die nach `--` an den Test-Runner übergeben werden.",
- "Optimize": "Optimierung",
- "Project Default": "Projektstandard",
- "Passed as `-Doptimize=<mode>`. Leave on Project Default to let `build.zig` decide.": "Wird als `-Doptimize=<mode>` übergeben. Bei „Projektstandard“ entscheidet `build.zig`.",
- "Passed as `-Doptimize=<mode>`. Debug is the recommended default for stepping through code.": "Wird als `-Doptimize=<mode>` übergeben. „Debug“ ist der empfohlene Standard zum Durchlaufen des Codes.",
- "Passed as `-Doptimize=<mode>`.": "Wird als `-Doptimize=<mode>` übergeben.",
- "Target": "Ziel",
- "Cross-compile target triple, passed as `-Dtarget=`. Leave blank for the host.": "Cross-Compile-Ziel-Triplet, wird als `-Dtarget=` übergeben. Leer lassen für den Host.",
- "User Options": "Benutzeroptionen",
- "Custom `-D` flags. Each entry is `key` (boolean flag) or `key=value`.": "Eigene `-D`-Flags. Jeder Eintrag ist `key` (boolesches Flag) oder `key=value`.",
- "Where to run the program. External Terminal launches the macOS Terminal app.": "Wo das Programm ausgeführt werden soll. „Externes Terminal“ startet die macOS-Terminal-App.",
- "Zig Debug": "Zig-Debug",
- "Build a Zig package in Debug mode and launch it under lldb-dap.": "Ein Zig-Paket im Debug-Modus bauen und unter lldb-dap starten.",
- "Program": "Programm",
- "zig-out/bin/app": "zig-out/bin/app",
- "Path to the executable to debug. Relative paths are resolved against the working directory.": "Pfad zur zu debuggenden ausführbaren Datei. Relative Pfade werden gegen das Arbeitsverzeichnis aufgelöst.",
- "Path to the executable to debug. Relative paths are resolved against the working directory. Leave blank to auto-detect from `build.zig.zon`.": "Pfad zur zu debuggenden ausführbaren Datei. Relative Pfade werden gegen das Arbeitsverzeichnis aufgelöst. Leer lassen, um aus `build.zig.zon` automatisch zu erkennen.",
- "Additional arguments appended after `zig build -Doptimize=Debug`.": "Zusätzliche Argumente, die nach `zig build -Doptimize=Debug` angehängt werden.",
- "Arguments passed to the debugged program.": "Argumente, die an das zu debuggende Programm übergeben werden.",
- "Console": "Konsole",
- "Internal Console": "Interne Konsole",
- "Integrated Terminal": "Integriertes Terminal",
- "External Terminal": "Externes Terminal",
- "Where the debugged program should run.": "Wo das zu debuggende Programm ausgeführt werden soll.",
- "Stop On Entry": "Beim Start anhalten",
- "Pause immediately when the program starts.": "Sofort anhalten, wenn das Programm startet.",
- "warning.terminal.launch_failed": "Zig-Task konnte im Terminal nicht gestartet werden.",
- "warning.terminal.open_failed": "Terminal für die Zig-Task konnte nicht geöffnet werden.",
-
- "name.language_server": "Zig Language Server",
- "warning.zls.stopped_unexpectedly": "Der Zig Language Server wurde unerwartet beendet ({executable}).",
- "warning.zls.start_failed": "Der Zig Language Server konnte unter {path} nicht gestartet werden.",
- "name.extension": "Zig",
- "task.current_file.name": "Aktuelle Zig-Datei",
- "warning.clean.missing_cwd": "Wähle vor dem Bereinigen von Zig-Build-Artefakten einen Workspace oder ein Arbeitsverzeichnis aus.",
- "warning.current_file.focus_editor_for_run": "Fokussiere einen Zig-Editor, bevor du „Aktuelle Zig-Datei“ ausführst.",
- "warning.current_file.focus_editor_for_clean": "Fokussiere einen Zig-Editor, bevor du Artefakte der „Aktuelle Zig-Datei“ bereinigst.",
-
- "warning.debug.choose_program": "Wähle vor dem Ausführen von Zig Debug einen Programmpfad aus.",
-
- "Debug Adapter": "Debug-Adapter",
- "Controls for the lldb-dap integration.": "Steuerelemente für die lldb-dap-Integration.",
- "Enable Proxy Log": "Proxy-Protokoll aktivieren",
- "Write lldb-dap-proxy traffic to a log file in the extension's storage directory. For extension development only.": "lldb-dap-Proxy-Datenverkehr in eine Protokolldatei im Speicherverzeichnis der Erweiterung schreiben. Nur für die Erweiterungsentwicklung.",
- "Zig Test": "Zig-Test",
- "Run `zig build test` with optional --test-filter and --summary controls.": "Führt `zig build test` mit optionalen --test-filter- und --summary-Steuerungen aus.",
- "Test Filter": "Testfilter",
- "substring of test name": "Teil eines Testnamens",
- "Substring of the test name. Passed as `--test-filter`.": "Teil des Testnamens. Wird als `--test-filter` übergeben.",
- "Summary": "Zusammenfassung",
- "Default": "Standard",
- "All": "Alle",
- "Failures only": "Nur Fehler",
- "None": "Keine",
- "Controls `zig build`'s --summary verbosity.": "Steuert die Ausführlichkeit von `zig build --summary`.",
- "Zig Watch": "Zig-Watch",
- "Run `zig build --watch` and rebuild on file changes. Note: inline issues only update on the first build cycle — Nova's matchers do not re-arm for streaming output.": "Führt `zig build --watch` aus und baut bei Dateiänderungen neu. Hinweis: Inline-Probleme werden nur im ersten Build-Zyklus aktualisiert — Novas Matcher werden für Streaming-Ausgaben nicht erneut aktiviert.",
- "Step": "Schritt",
- "Build step to watch. Leave blank for `zig build`'s default install step.": "Build-Schritt, der überwacht werden soll. Leer lassen für Zigs Standardschritt `install`.",
- "Debounce (ms)": "Entprellung (ms)",
- "Passed as `--debounce <N>`. Leave blank for Zig's default.": "Wird als `--debounce <N>` übergeben. Leer lassen für Zigs Standard.",
- "Incremental": "Inkrementell",
- "On": "Ein",
- "Off": "Aus",
- "Toggle `-fincremental` / `-fno-incremental`.": "Schaltet `-fincremental` / `-fno-incremental` um.",
- "warning.clean.unsafe_cwd": "Reinigung verweigert: Das Arbeitsverzeichnis muss innerhalb dieses Workspaces liegen.",
- "warning.fmt.no_file": "Öffne eine gespeicherte Zig-Datei, bevor du „Aktuelle Zig-Datei formatieren“ ausführst.",
- "warning.fmt.not_zig": "„Aktuelle Zig-Datei formatieren“ funktioniert nur mit Zig-Dateien.",
- "warning.fmt.no_workspace": "Öffne einen Workspace, bevor du „Workspace formatieren“ ausführst.",
- "warning.fmt.failed": "zig fmt ist fehlgeschlagen.",
-
- "warning.zig.not-found": "zig wurde nicht gefunden. Stelle sicher, dass zig über PATH gefunden werden kann, oder gib den Pfad explizit an in den Erweiterungs- oder Projekteinstellungen.",
- "warning.zls.not-found": "zls wurde nicht gefunden. Stelle sicher, dass zls über PATH gefunden werden kann, oder gib den Pfad explizit an in den Erweiterungs- oder Projekteinstellungen",
- "warning.node.not-found": "node wurde nicht gefunden. Stelle sicher, dass node über PATH gefunden werden kann, oder gib den Pfad explizit an in den Erweiterungs- oder Projekteinstellungen",
- "warning.lldb_dap.not-found": "lldb-dap wurde nicht gefunden. Installiere die Xcode Command line tools, oder gib den Pfad explizit an in den Erweiterungs- oder Projekteinstellungen.",
-
- "tasks.buildrun.name": "Zig Build",
- "tasks.buildrun.info": "Zig kompilieren und ausführen",
-
- "tasks.debug.name": "Zig Debug",
- "tasks.debug.info": "Zig mit Debug-Symbolen für LLDB kompilieren und ausführen",
-
- "tasks.test.name": "Zig Test",
- "tasks.test.info": "Tests ausführen, die im Zig-Projekt definiert sind",
-
- "tasks.watch.name": "Zig Watch",
- "tasks.watch.info": "Zig-Dateien beobachten und bei Änderungen autimatisch neu kompilieren",
-
- "autotasks.title": "Automatisch erkannte Aufgaben",
- "autotasks.current-file.name": "Aktuelle Zig-Datei ausführen",
"autotasks.buildstep.name": "zig build {step}",
-
- "config.general.title": "Allgemein",
- "config.zig.executable-path.title": "Pfad zu zig",
- "config.zig.executable-path.info": "Leer lassen, um zig über die Umgebungsvariable PATH zu finden",
-
- "config.zls.title": "Erweiterte Sprachfunktionen",
- "config.zls.info": "Diagnose, Vervollständigung, Navigation und mehr",
- "config.zls.enable.title": "ZLS aktivieren",
- "config.zls.enable.info": "Für diese Funktion muss ZLS installiert sein",
- "config.zls.build-on-save.title": "Beim Speichern bauen",
- "config.zls.build-on-save.info": "Erlaube ZLS, den build / check-Runner beim Speichern aufzurufen",
- "config.zls.log-communication.title": "ZLS-Protokoll",
- "config.zls.log-communication.info": "Kommunikation zwischen ZLS und Nova in der Erweiterungskonsole protokollieren",
- "config.zls.executable-path.title": "Pfad zu zls",
- "config.zls.executable-path.info": "Leer lassen, um zls über die Umgebungsvariable PATH zu finden",
-
- "config.debugging.title": "Debugging",
+ "autotasks.current-file.name": "Aktuelle Zig-Datei ausführen",
+ "autotasks.title": "Automatisch erkannte Aufgaben",
"config.debugging.info": "Einstellungen für die LLDB-Integration",
- "config.debugging.lldb-dap-path.title": "Pfad zu lldb-dap",
"config.debugging.lldb-dap-path.info": "Leer lassen, um lldb-dap über das Xcode Command line tool xcrun oder über die Umgebungsvariable PATH zu finden",
- "config.debugging.logging.title": "LLDB-Protokoll",
+ "config.debugging.lldb-dap-path.title": "Pfad zu lldb-dap",
"config.debugging.logging.info": "Ausgabe des lldb-dap-Proxy im Erweiterungsverzeichnis protokollieren",
-
- "config.tasks.title": "Aufgaben",
- "config.tasks.info": "Aufgabenbezogene Einstellungen",
-
- "config.tasks.autodiscover.title": "Aufgaben automatisch erkennen",
- "config.tasks.autodiscover.info": "Erkenne Build Steps und füge sie automatisch in die Aufgabenliste hinzu",
-
- "config.enabled": "Aktiviert",
+ "config.debugging.logging.title": "LLDB-Protokoll",
+ "config.debugging.title": "Debugging",
"config.disabled": "Deaktiviert",
+ "config.enabled": "Aktiviert",
+ "config.general.title": "Allgemein",
"config.inherit": "Globale Einstellung verwenden",
-
+ "config.tasks.autodiscover.info": "Build Steps erkennen und automatisch in die Aufgabenliste hinzufügen",
+ "config.tasks.autodiscover.title": "Aufgaben automatisch erkennen",
+ "config.tasks.info": "Aufgabenbezogene Einstellungen",
+ "config.tasks.show-current-file.info": "Eine Aufgabe zum Ausführen der aktuell geöffneten Zig-Datei hinzufügen",
+ "config.tasks.show-current-file.title": "Aufgabe für aktuelle Datei anzeigen",
+ "config.tasks.title": "Aufgaben",
+ "config.zig.executable-path.info": "Leer lassen, um zig über die Umgebungsvariable PATH zu finden",
+ "config.zig.executable-path.title": "Pfad zu zig",
+ "config.zls.build-on-save.info": "Erlaube ZLS, den build / check-Runner beim Speichern aufzurufen",
+ "config.zls.build-on-save.title": "Beim Speichern bauen",
+ "config.zls.enable.info": "Für diese Funktion muss ZLS installiert sein",
+ "config.zls.enable.title": "ZLS aktivieren",
+ "config.zls.executable-path.info": "Leer lassen, um zls über die Umgebungsvariable PATH zu finden",
+ "config.zls.executable-path.title": "Pfad zu zls",
+ "config.zls.info": "Diagnose, Vervollständigung, Navigation und mehr",
+ "config.zls.log-communication.info": "Kommunikation zwischen ZLS und Nova in der Erweiterungskonsole protokollieren",
+ "config.zls.log-communication.title": "ZLS-Protokoll",
+ "config.zls.title": "Erweiterte Sprachfunktionen",
+ "name.language-server": "Zig Language Server",
+ "tasks.buildrun.config.build-args.info": "Zusätzliche Argumente, die nach `zig build` sowohl für Bauen als auch Ausführen angehängt werden.",
+ "tasks.buildrun.config.console.info": "Wo das Programm ausgeführt werden soll. „Externes Terminal“ startet die macOS-Terminal-App.",
+ "tasks.buildrun.config.optimize.info": "Wird als `-Doptimize=<mode>` übergeben. Bei „Projektstandard“ entscheidet `build.zig`.",
+ "tasks.buildrun.config.run-args.info": "Argumente, die nach `--` an das gebaute Programm übergeben werden.",
+ "tasks.buildrun.config.run-step.info": "Der `zig build`-Schritt für die Ausführen-Aktion. Leer lassen, um `zig build` ohne Schritt auszuführen (Zigs Standardschritt `install`).",
+ "tasks.buildrun.config.run-step.placeholder": "install",
+ "tasks.buildrun.config.run-step.title": "Ausführungsschritt",
+ "tasks.buildrun.info": "Zig kompilieren und ausführen",
+ "tasks.buildrun.name": "Zig Build",
+ "tasks.config.build-args.info": "Zusätzliche Argumente, die nach `zig build` angehängt werden.",
+ "tasks.config.build-args.title": "Build-Argumente",
+ "tasks.config.console.external": "Externes Terminal",
+ "tasks.config.console.integrated": "Integriertes Terminal",
+ "tasks.config.console.internal": "Interne Konsole",
+ "tasks.config.console.title": "Konsole",
+ "tasks.config.cwd.placeholder": "Projektverzeichnis",
+ "tasks.config.cwd.title": "Arbeitsverzeichnis",
+ "tasks.config.default": "Standard",
+ "tasks.config.off": "Aus",
+ "tasks.config.on": "Ein",
+ "tasks.config.optimize.default": "Projektstandard",
+ "tasks.config.optimize.info": "Wird als `-Doptimize=<mode>` übergeben.",
+ "tasks.config.optimize.title": "Optimierung",
+ "tasks.config.run-args.title": "Programmargumente",
+ "tasks.config.target.info": "Cross-Compile-Ziel-Triplet, wird als `-Dtarget=` übergeben. Leer lassen für den Host.",
+ "tasks.config.target.placeholder": "host",
+ "tasks.config.target.title": "Ziel",
+ "tasks.config.user-options.info": "Eigene `-D`-Flags. Jeder Eintrag ist `key` (boolesches Flag) oder `key=value`.",
+ "tasks.config.user-options.title": "Benutzeroptionen",
+ "tasks.debug.config.build-args.info": "Zusätzliche Argumente, die nach `zig build -Doptimize=Debug` angehängt werden.",
+ "tasks.debug.config.console.info": "Wo das zu debuggende Programm ausgeführt werden soll.",
+ "tasks.debug.config.optimize.info": "Wird als `-Doptimize=<mode>` übergeben. „Debug“ ist der empfohlene Standard zum Durchlaufen des Codes.",
+ "tasks.debug.config.program.info": "Pfad zur zu debuggenden ausführbaren Datei. Relative Pfade werden gegen das Arbeitsverzeichnis aufgelöst. Leer lassen, um aus `build.zig.zon` automatisch zu erkennen.",
+ "tasks.debug.config.program.placeholder": "zig-out/bin/app",
+ "tasks.debug.config.program.title": "Programm",
+ "tasks.debug.config.run-args.info": "Argumente, die an das zu debuggende Programm übergeben werden.",
+ "tasks.debug.config.stop-on-entry.info": "Sofort anhalten, wenn das Programm startet.",
+ "tasks.debug.config.stop-on-entry.title": "Beim Start anhalten",
+ "tasks.debug.info": "Zig mit Debug-Symbolen für LLDB kompilieren und ausführen",
+ "tasks.debug.name": "Zig Debug",
+ "tasks.test.config.build-args.info": "Zusätzliche Argumente, die nach `zig build test` angehängt werden.",
+ "tasks.test.config.run-args.info": "Argumente, die nach `--` an den Test-Runner übergeben werden.",
+ "tasks.test.config.summary.all": "Alle",
+ "tasks.test.config.summary.failures": "Nur Fehler",
+ "tasks.test.config.summary.info": "Steuert die Ausführlichkeit von `zig build --summary`.",
+ "tasks.test.config.summary.none": "Keine",
+ "tasks.test.config.summary.title": "Zusammenfassung",
+ "tasks.test.config.test-filter.info": "Teil des Testnamens. Wird als `--test-filter` übergeben.",
+ "tasks.test.config.test-filter.placeholder": "Teil eines Testnamens",
+ "tasks.test.config.test-filter.title": "Testfilter",
+ "tasks.test.info": "Tests ausführen, die im Zig-Projekt definiert sind",
+ "tasks.test.name": "Zig Test",
+ "tasks.watch.config.debounce.info": "Wird als `--debounce <N>` übergeben. Leer lassen für Zigs Standard.",
+ "tasks.watch.config.debounce.title": "Entprellung (ms)",
+ "tasks.watch.config.incremental.info": "Schaltet `-fincremental` / `-fno-incremental` um.",
+ "tasks.watch.config.incremental.title": "Inkrementell",
+ "tasks.watch.config.step.info": "Build-Schritt, der überwacht werden soll. Leer lassen für Zigs Standardschritt `install`.",
+ "tasks.watch.config.step.placeholder": "install",
+ "tasks.watch.config.step.title": "Schritt",
+ "tasks.watch.info": "Zig-Dateien beobachten und bei Änderungen automatisch neu kompilieren",
+ "tasks.watch.name": "Zig Watch",
+ "warning.clean.missing-cwd": "Wähle vor dem Bereinigen von Zig-Build-Artefakten einen Workspace oder ein Arbeitsverzeichnis aus.",
+ "warning.clean.unsafe-cwd": "Reinigung verweigert: Das Arbeitsverzeichnis muss innerhalb dieses Workspaces liegen.",
+ "warning.current-file.focus-editor-for-clean": "Fokussiere einen Zig-Editor, bevor du Artefakte der „Aktuelle Zig-Datei“ bereinigst.",
+ "warning.current-file.focus-editor-for-run": "Fokussiere einen Zig-Editor, bevor du „Aktuelle Zig-Datei“ ausführst.",
+ "warning.debug.choose-program": "Wähle vor dem Ausführen von Zig Debug einen Programmpfad aus.",
+ "warning.fmt.failed": "zig fmt ist fehlgeschlagen.",
+ "warning.fmt.no-file": "Öffne eine gespeicherte Zig-Datei, bevor du „Aktuelle Zig-Datei formatieren“ ausführst.",
+ "warning.fmt.no-workspace": "Öffne einen Workspace, bevor du „Workspace formatieren“ ausführst.",
+ "warning.fmt.not-zig": "„Aktuelle Zig-Datei formatieren“ funktioniert nur mit Zig-Dateien.",
+ "warning.lldb-dap.not-found": "lldb-dap wurde nicht gefunden. Installiere die Xcode Command line tools, oder gib den Pfad explizit an in den Erweiterungs- oder Projekteinstellungen.",
+ "warning.terminal.launch-failed": "Zig-Task konnte im Terminal nicht gestartet werden.",
+ "warning.terminal.open-failed": "Terminal für die Zig-Task konnte nicht geöffnet werden.",
+ "warning.zig.not-found": "zig wurde nicht gefunden. Stelle sicher, dass zig über PATH gefunden werden kann, oder gib den Pfad explizit an in den Erweiterungs- oder Projekteinstellungen.",
+ "warning.zls.not-found": "zls wurde nicht gefunden. Stelle sicher, dass zls über PATH gefunden werden kann, oder gib den Pfad explizit an in den Erweiterungs- oder Projekteinstellungen",
+ "warning.zls.start-failed": "Der Zig Language Server konnte unter {path} nicht gestartet werden.",
+ "warning.zls.stopped-unexpectedly": "Der Zig Language Server wurde unerwartet beendet ({executable}).",
"workspaceconfig.inherit.info": "Leer lassen, um die globale Einstellung zu verwenden",
"workspaceconfig.inherit.placeholder": "Globale Einstellung"
}
diff --git a/Zig.novaextension/en.lproj/strings.json b/Zig.novaextension/en.lproj/strings.json
index 0646258..6287864 100644
--- a/Zig.novaextension/en.lproj/strings.json
+++ b/Zig.novaextension/en.lproj/strings.json
@@ -1,144 +1,113 @@
{
- "Zig": "Zig",
- "zig": "zig",
- "Zig (LLDB DAP)": "Zig (LLDB DAP)",
- "zls": "zls",
-
- "Working Directory": "Arbeitsverzeichnis",
- "Workspace Root": "Workspace root",
- "Run Step": "Ausführungsschritt",
- "run": "run",
- "install": "install",
- "host": "host",
- "The `zig build` step to execute for the Run action.": "Der `zig build`-Schritt, der für die Ausführen-Aktion ausgeführt wird.",
- "The `zig build` step to execute for the Run action. Leave blank to run `zig build` with no step (Zig's default install step).": "Der `zig build`-Schritt für die Ausführen-Aktion. Leer lassen, um `zig build` ohne Schritt auszuführen (Zigs Standardschritt `install`).",
- "Build Arguments": "Build-Argumente",
- "Additional arguments appended after `zig build` for both Build and Run.": "Zusätzliche Argumente, die nach `zig build` sowohl für Bauen als auch Ausführen angehängt werden.",
- "Additional arguments appended after `zig build`.": "Zusätzliche Argumente, die nach `zig build` angehängt werden.",
- "Additional arguments appended after `zig build test`.": "Zusätzliche Argumente, die nach `zig build test` angehängt werden.",
- "Program Arguments": "Programmargumente",
- "Arguments passed after `--` to the built program.": "Argumente, die nach `--` an das gebaute Programm übergeben werden.",
- "Arguments passed after `--` to the test runner.": "Argumente, die nach `--` an den Test-Runner übergeben werden.",
- "Optimize": "Optimierung",
- "Project Default": "Projektstandard",
- "Passed as `-Doptimize=<mode>`. Leave on Project Default to let `build.zig` decide.": "Wird als `-Doptimize=<mode>` übergeben. Bei „Projektstandard“ entscheidet `build.zig`.",
- "Passed as `-Doptimize=<mode>`. Debug is the recommended default for stepping through code.": "Wird als `-Doptimize=<mode>` übergeben. „Debug“ ist der empfohlene Standard zum Durchlaufen des Codes.",
- "Passed as `-Doptimize=<mode>`.": "Wird als `-Doptimize=<mode>` übergeben.",
- "Target": "Ziel",
- "Cross-compile target triple, passed as `-Dtarget=`. Leave blank for the host.": "Cross-Compile-Ziel-Triplet, wird als `-Dtarget=` übergeben. Leer lassen für den Host.",
- "User Options": "Benutzeroptionen",
- "Custom `-D` flags. Each entry is `key` (boolean flag) or `key=value`.": "Eigene `-D`-Flags. Jeder Eintrag ist `key` (boolesches Flag) oder `key=value`.",
- "Where to run the program. External Terminal launches the macOS Terminal app.": "Wo das Programm ausgeführt werden soll. „Externes Terminal“ startet die macOS-Terminal-App.",
- "Zig Debug": "Zig-Debug",
- "Build a Zig package in Debug mode and launch it under lldb-dap.": "Ein Zig-Paket im Debug-Modus bauen und unter lldb-dap starten.",
- "Program": "Programm",
- "zig-out/bin/app": "zig-out/bin/app",
- "Path to the executable to debug. Relative paths are resolved against the working directory.": "Pfad zur zu debuggenden ausführbaren Datei. Relative Pfade werden gegen das Arbeitsverzeichnis aufgelöst.",
- "Path to the executable to debug. Relative paths are resolved against the working directory. Leave blank to auto-detect from `build.zig.zon`.": "Pfad zur zu debuggenden ausführbaren Datei. Relative Pfade werden gegen das Arbeitsverzeichnis aufgelöst. Leer lassen, um aus `build.zig.zon` automatisch zu erkennen.",
- "Additional arguments appended after `zig build -Doptimize=Debug`.": "Zusätzliche Argumente, die nach `zig build -Doptimize=Debug` angehängt werden.",
- "Arguments passed to the debugged program.": "Argumente, die an das zu debuggende Programm übergeben werden.",
- "Console": "Konsole",
- "Internal Console": "Interne Konsole",
- "Integrated Terminal": "Integriertes Terminal",
- "External Terminal": "Externes Terminal",
- "Where the debugged program should run.": "Wo das zu debuggende Programm ausgeführt werden soll.",
- "Stop On Entry": "Beim Start anhalten",
- "Pause immediately when the program starts.": "Sofort anhalten, wenn das Programm startet.",
- "warning.terminal.launch_failed": "Zig-Task konnte im Terminal nicht gestartet werden.",
- "warning.terminal.open_failed": "Terminal für die Zig-Task konnte nicht geöffnet werden.",
-
- "name.language_server": "Zig Language Server",
- "warning.zls.stopped_unexpectedly": "Der Zig Language Server wurde unerwartet beendet ({executable}).",
- "warning.zls.start_failed": "Der Zig Language Server konnte unter {path} nicht gestartet werden.",
- "name.extension": "Zig",
- "task.current_file.name": "Aktuelle Zig-Datei",
- "warning.clean.missing_cwd": "Wähle vor dem Bereinigen von Zig-Build-Artefakten einen Workspace oder ein Arbeitsverzeichnis aus.",
-
- "warning.current_file.focus_editor_for_run": "Fokussiere einen Zig-Editor, bevor du „Aktuelle Zig-Datei“ ausführst.",
- "warning.current_file.focus_editor_for_clean": "Fokussiere einen Zig-Editor, bevor du Artefakte der „Aktuelle Zig-Datei“ bereinigst.",
-
- "warning.debug.choose_program": "Wähle vor dem Ausführen von Zig Debug einen Programmpfad aus.",
-
- "Zig Test": "Zig-Test",
- "Run `zig build test` with optional --test-filter and --summary controls.": "Führt `zig build test` mit optionalen --test-filter- und --summary-Steuerungen aus.",
- "Test Filter": "Testfilter",
- "substring of test name": "Teil eines Testnamens",
- "Substring of the test name. Passed as `--test-filter`.": "Teil des Testnamens. Wird als `--test-filter` übergeben.",
- "Summary": "Zusammenfassung",
- "Default": "Standard",
- "All": "Alle",
- "Failures only": "Nur Fehler",
- "None": "Keine",
- "Controls `zig build`'s --summary verbosity.": "Steuert die Ausführlichkeit von `zig build --summary`.",
- "Zig Watch": "Zig-Watch",
- "Run `zig build --watch` and rebuild on file changes. Note: inline issues only update on the first build cycle — Nova's matchers do not re-arm for streaming output.": "Führt `zig build --watch` aus und baut bei Dateiänderungen neu. Hinweis: Inline-Probleme werden nur im ersten Build-Zyklus aktualisiert — Novas Matcher werden für Streaming-Ausgaben nicht erneut aktiviert.",
- "Step": "Schritt",
- "Build step to watch. Leave blank for `zig build`'s default install step.": "Build-Schritt, der überwacht werden soll. Leer lassen für Zigs Standardschritt `install`.",
- "Debounce (ms)": "Entprellung (ms)",
- "Passed as `--debounce <N>`. Leave blank for Zig's default.": "Wird als `--debounce <N>` übergeben. Leer lassen für Zigs Standard.",
- "Incremental": "Inkrementell",
- "On": "Ein",
- "Off": "Aus",
- "Toggle `-fincremental` / `-fno-incremental`.": "Schaltet `-fincremental` / `-fno-incremental` um.",
- "warning.clean.unsafe_cwd": "Reinigung verweigert: Das Arbeitsverzeichnis muss innerhalb dieses Workspaces liegen.",
- "warning.fmt.no_file": "Öffne eine gespeicherte Zig-Datei, bevor du „Aktuelle Zig-Datei formatieren“ ausführst.",
- "warning.fmt.not_zig": "„Aktuelle Zig-Datei formatieren“ funktioniert nur mit Zig-Dateien.",
- "warning.fmt.no_workspace": "Öffne einen Workspace, bevor du „Workspace formatieren“ ausführst.",
- "warning.fmt.failed": "zig fmt ist fehlgeschlagen.",
-
- "warning.zig.not-found": "zig executable not found. Make sure it can be found in the PATH or explicitly define the path in the extension or workspace settings.",
- "warning.zls.not-found": "zls executable not found. Make sure zls can be found in the PATH or explicitly define the path in the extension or workspace settings.",
- "warning.node.not-found": "node executable not found. Make sure node can be found in the PATH. Without it, debugging cannot work.",
- "warning.lldb_dap.not-found": "lldb-dap executable not found. Install Xcode command line tools or explicitly define the path in the extension or workspace settings.",
-
- "tasks.buildrun.name": "Zig build",
- "tasks.buildrun.info": "Build and run Zig",
-
- "tasks.debug.name": "Zig debug",
- "tasks.debug.info": "Build and run Zig with debug symbols for use with LLDB",
-
- "tasks.test.name": "Zig test",
- "tasks.test.info": "Build and run tests defined in your Zig project",
-
- "tasks.watch.name": "Zig watch",
- "tasks.watch.info": "Monitor Zig files and recompile on changes",
-
- "autotasks.title": "Auto-discovered tasks",
- "autotasks.current-file.name": "Run active Zig file",
"autotasks.buildstep.name": "zig build {step}",
-
- "config.general.title": "General",
- "config.zig.executable-path.title": "Path to zig",
- "config.zig.executable-path.info": "Leave empty to resolve zig via the environment variable PATH",
-
- "config.zls.title": "Advanced language features",
- "config.zls.info": "Diagnostics, completions, hover, navigation",
- "config.zls.enable.title": "Enable ZLS",
- "config.zls.enable.info": "ZLS needs to be installed for this to work",
- "config.zls.build-on-save.title": "Bei Speichern bauen",
- "config.zls.build-on-save.info": "Allow ZLS to call the build / check runner on save",
- "config.zls.log-communication.title": "ZLS log",
- "config.zls.log-communication.info": "Log communication between ZLS and Nova to the extension console",
- "config.zls.executable-path.title": "Path to zls",
- "config.zls.executable-path.info": "Leave empty to resolve zls via the environment variable PATH",
-
- "config.debugging.title": "Debugging",
+ "autotasks.current-file.name": "Run active Zig file",
+ "autotasks.title": "Auto-discovered tasks",
"config.debugging.info": "Settings for the LLDB integration",
- "config.debugging.lldb-dap-path.title": "Path to lldb-dap",
"config.debugging.lldb-dap-path.info": "Leave empty to resolve lldb-dap via the Xcode Command line tool xcrun or via the environment variable PATH",
- "config.debugging.logging.title": "LLDB log",
+ "config.debugging.lldb-dap-path.title": "Path to lldb-dap",
"config.debugging.logging.info": "Log output of the lldb-dap proxy to the extension directory",
-
- "config.tasks.title": "Tasks",
- "config.tasks.info": "Task-related settings",
-
- "config.tasks.autodiscover.title": "Auto-discover tasks",
- "config.tasks.autodiscover.info": "Discover build steps and add them to the list of tasks",
-
- "config.enabled": "Enabled",
+ "config.debugging.logging.title": "LLDB log",
+ "config.debugging.title": "Debugging",
"config.disabled": "Disabled",
+ "config.enabled": "Enabled",
+ "config.general.title": "General",
"config.inherit": "Inherit from Global",
-
+ "config.tasks.autodiscover.info": "Discover build steps and add them to the list of tasks",
+ "config.tasks.autodiscover.title": "Auto-discover tasks",
+ "config.tasks.info": "Task-related settings",
+ "config.tasks.show-current-file.info": "Add a task for running the currently open Zig file",
+ "config.tasks.show-current-file.title": "Show current file task",
+ "config.tasks.title": "Tasks",
+ "config.zig.executable-path.info": "Leave empty to resolve zig via the environment variable PATH",
+ "config.zig.executable-path.title": "Path to zig",
+ "config.zls.build-on-save.info": "Allow ZLS to call the build / check runner on save",
+ "config.zls.build-on-save.title": "Build on Save",
+ "config.zls.enable.info": "ZLS needs to be installed for this to work",
+ "config.zls.enable.title": "Enable ZLS",
+ "config.zls.executable-path.info": "Leave empty to resolve zls via the environment variable PATH",
+ "config.zls.executable-path.title": "Path to zls",
+ "config.zls.info": "Diagnostics, completions, hover, navigation",
+ "config.zls.log-communication.info": "Log communication between ZLS and Nova to the extension console",
+ "config.zls.log-communication.title": "ZLS log",
+ "config.zls.title": "Advanced language features",
+ "name.language-server": "Zig Language Server",
+ "tasks.buildrun.config.build-args.info": "Additional arguments appended after `zig build` for both Build and Run.",
+ "tasks.buildrun.config.console.info": "Where to run the program. External Terminal launches the macOS Terminal app.",
+ "tasks.buildrun.config.optimize.info": "Passed as `-Doptimize=<mode>`. Leave on Project Default to let `build.zig` decide.",
+ "tasks.buildrun.config.run-args.info": "Arguments passed after `--` to the built program.",
+ "tasks.buildrun.config.run-step.info": "The `zig build` step to execute for the Run action. Leave blank to run `zig build` with no step (Zig's default install step).",
+ "tasks.buildrun.config.run-step.placeholder": "install",
+ "tasks.buildrun.config.run-step.title": "Run Step",
+ "tasks.buildrun.info": "Build and run Zig",
+ "tasks.buildrun.name": "Zig build",
+ "tasks.config.build-args.info": "Additional arguments appended after `zig build`.",
+ "tasks.config.build-args.title": "Build Arguments",
+ "tasks.config.console.external": "External Terminal",
+ "tasks.config.console.integrated": "Integrated Terminal",
+ "tasks.config.console.internal": "Internal Console",
+ "tasks.config.console.title": "Console",
+ "tasks.config.cwd.placeholder": "Workspace Root",
+ "tasks.config.cwd.title": "Working Directory",
+ "tasks.config.default": "Default",
+ "tasks.config.off": "Off",
+ "tasks.config.on": "On",
+ "tasks.config.optimize.default": "Project Default",
+ "tasks.config.optimize.info": "Passed as `-Doptimize=<mode>`.",
+ "tasks.config.optimize.title": "Optimize",
+ "tasks.config.run-args.title": "Program Arguments",
+ "tasks.config.target.info": "Cross-compile target triple, passed as `-Dtarget=`. Leave blank for the host.",
+ "tasks.config.target.placeholder": "host",
+ "tasks.config.target.title": "Target",
+ "tasks.config.user-options.info": "Custom `-D` flags. Each entry is `key` (boolean flag) or `key=value`.",
+ "tasks.config.user-options.title": "User Options",
+ "tasks.debug.config.build-args.info": "Additional arguments appended after `zig build -Doptimize=Debug`.",
+ "tasks.debug.config.console.info": "Where the debugged program should run.",
+ "tasks.debug.config.optimize.info": "Passed as `-Doptimize=<mode>`. Debug is the recommended default for stepping through code.",
+ "tasks.debug.config.program.info": "Path to the executable to debug. Relative paths are resolved against the working directory. Leave blank to auto-detect from `build.zig.zon`.",
+ "tasks.debug.config.program.placeholder": "zig-out/bin/app",
+ "tasks.debug.config.program.title": "Program",
+ "tasks.debug.config.run-args.info": "Arguments passed to the debugged program.",
+ "tasks.debug.config.stop-on-entry.info": "Pause immediately when the program starts.",
+ "tasks.debug.config.stop-on-entry.title": "Stop On Entry",
+ "tasks.debug.info": "Build and run Zig with debug symbols for use with LLDB",
+ "tasks.debug.name": "Zig debug",
+ "tasks.test.config.build-args.info": "Additional arguments appended after `zig build test`.",
+ "tasks.test.config.run-args.info": "Arguments passed after `--` to the test runner.",
+ "tasks.test.config.summary.all": "All",
+ "tasks.test.config.summary.failures": "Failures only",
+ "tasks.test.config.summary.info": "Controls `zig build`'s --summary verbosity.",
+ "tasks.test.config.summary.none": "None",
+ "tasks.test.config.summary.title": "Summary",
+ "tasks.test.config.test-filter.info": "Substring of the test name. Passed as `--test-filter`.",
+ "tasks.test.config.test-filter.placeholder": "substring of test name",
+ "tasks.test.config.test-filter.title": "Test Filter",
+ "tasks.test.info": "Build and run tests defined in your Zig project",
+ "tasks.test.name": "Zig test",
+ "tasks.watch.config.debounce.info": "Passed as `--debounce <N>`. Leave blank for Zig's default.",
+ "tasks.watch.config.debounce.title": "Debounce (ms)",
+ "tasks.watch.config.incremental.info": "Toggle `-fincremental` / `-fno-incremental`.",
+ "tasks.watch.config.incremental.title": "Incremental",
+ "tasks.watch.config.step.info": "Build step to watch. Leave blank for `zig build`'s default install step.",
+ "tasks.watch.config.step.placeholder": "install",
+ "tasks.watch.config.step.title": "Step",
+ "tasks.watch.info": "Monitor Zig files and recompile on changes",
+ "tasks.watch.name": "Zig watch",
+ "warning.clean.missing-cwd": "Choose a workspace or working directory before cleaning Zig build artifacts.",
+ "warning.clean.unsafe-cwd": "Refusing to clean: the working directory must be inside this workspace.",
+ "warning.current-file.focus-editor-for-clean": "Focus a Zig editor before cleaning Current Zig File artifacts.",
+ "warning.current-file.focus-editor-for-run": "Focus a Zig editor before running Current Zig File.",
+ "warning.debug.choose-program": "Choose a program path before running Zig Debug.",
+ "warning.fmt.failed": "zig fmt failed.",
+ "warning.fmt.no-file": "Open a saved Zig file before running Format Current Zig File.",
+ "warning.fmt.no-workspace": "Open a workspace before running Format Workspace.",
+ "warning.fmt.not-zig": "Format Current Zig File only works with Zig files.",
+ "warning.lldb-dap.not-found": "lldb-dap executable not found. Install Xcode command line tools or explicitly define the path in the extension or workspace settings.",
+ "warning.terminal.launch-failed": "Unable to launch the Zig task in Terminal.",
+ "warning.terminal.open-failed": "Unable to open Terminal for the Zig task.",
+ "warning.zig.not-found": "zig executable not found. Make sure it can be found in the PATH or explicitly define the path in the extension or workspace settings.",
+ "warning.zls.not-found": "zls executable not found. Make sure zls can be found in the PATH or explicitly define the path in the extension or workspace settings.",
+ "warning.zls.start-failed": "Unable to start the Zig language server at {path}.",
+ "warning.zls.stopped-unexpectedly": "The Zig Language Server stopped unexpectedly ({executable}).",
"workspaceconfig.inherit.info": "Leave empty to inherit the global configuration",
"workspaceconfig.inherit.placeholder": "Global configuration"
}
diff --git a/Zig.novaextension/extension.json b/Zig.novaextension/extension.json
index f63a7b8..f6d4855 100644
--- a/Zig.novaextension/extension.json
+++ b/Zig.novaextension/extension.json
@@ -118,6 +118,13 @@
"type": "boolean",
"default": true,
"description": "config.tasks.autodiscover.info"
+ },
+ {
+ "key": "at.dcz.nova-zig.tasks.show-current-file",
+ "title": "config.tasks.show-current-file.title",
+ "type": "boolean",
+ "default": true,
+ "description": "config.tasks.show-current-file.info"
}
]
}
@@ -214,6 +221,18 @@
["disabled", "config.disabled"]
],
"description": "config.tasks.autodiscover.info"
+ },
+ {
+ "key": "at.dcz.nova-zig.tasks.show-current-file",
+ "title": "config.tasks.show-current-file.title",
+ "type": "enum",
+ "default": "inherit",
+ "values": [
+ ["inherit", "config.inherit"],
+ ["enabled", "config.enabled"],
+ ["disabled", "config.disabled"]
+ ],
+ "description": "config.tasks.show-current-file.info"
}
]
}
@@ -228,7 +247,7 @@
"debugAdapters": {
"zig-lldb-dap": {
"name": "LLDB",
- "image": "zig-mark"
+ "image": "zig-hex"
}
},
@@ -260,70 +279,70 @@
"config": [
{
"key": "cwd",
- "title": "Working Directory",
+ "title": "tasks.config.cwd.title",
"type": "path",
"allowFiles": false,
"allowFolders": true,
"relative": true,
- "placeholder": "Workspace Root"
+ "placeholder": "tasks.config.cwd.placeholder"
},
{
"key": "runStep",
- "title": "Run Step",
+ "title": "tasks.buildrun.config.run-step.title",
"type": "string",
"default": "",
- "placeholder": "install",
- "description": "The `zig build` step to execute for the Run action. Leave blank to run `zig build` with no step (Zig's default install step)."
+ "placeholder": "tasks.buildrun.config.run-step.placeholder",
+ "description": "tasks.buildrun.config.run-step.info"
},
{
"key": "optimize",
- "title": "Optimize",
+ "title": "tasks.config.optimize.title",
"type": "enum",
"default": "",
"values": [
- ["", "Project Default"],
+ ["", "tasks.config.optimize.default"],
["Debug", "Debug"],
["ReleaseSafe", "ReleaseSafe"],
["ReleaseFast", "ReleaseFast"],
["ReleaseSmall", "ReleaseSmall"]
],
- "description": "Passed as `-Doptimize=<mode>`. Leave on Project Default to let `build.zig` decide."
+ "description": "tasks.buildrun.config.optimize.info"
},
{
"key": "target",
- "title": "Target",
+ "title": "tasks.config.target.title",
"type": "string",
- "placeholder": "host",
- "description": "Cross-compile target triple, passed as `-Dtarget=`. Leave blank for the host."
+ "placeholder": "tasks.config.target.placeholder",
+ "description": "tasks.config.target.info"
},
{
"key": "userOptions",
- "title": "User Options",
+ "title": "tasks.config.user-options.title",
"type": "stringArray",
- "description": "Custom `-D` flags. Each entry is `key` (boolean flag) or `key=value`."
+ "description": "tasks.config.user-options.info"
},
{
"key": "buildArgs",
- "title": "Build Arguments",
+ "title": "tasks.config.build-args.title",
"type": "stringArray",
- "description": "Additional arguments appended after `zig build` for both Build and Run."
+ "description": "tasks.buildrun.config.build-args.info"
},
{
"key": "runArgs",
- "title": "Program Arguments",
+ "title": "tasks.config.run-args.title",
"type": "stringArray",
- "description": "Arguments passed after `--` to the built program."
+ "description": "tasks.buildrun.config.run-args.info"
},
{
"key": "console",
- "title": "Console",
+ "title": "tasks.config.console.title",
"type": "enum",
"default": "internalConsole",
"values": [
- ["internalConsole", "Internal Console"],
- ["externalTerminal", "External Terminal"]
+ ["internalConsole", "tasks.config.console.internal"],
+ ["externalTerminal", "tasks.config.console.external"]
],
- "description": "Where to run the program. External Terminal launches the macOS Terminal app."
+ "description": "tasks.buildrun.config.console.info"
}
]
},
@@ -355,26 +374,26 @@
"config": [
{
"key": "cwd",
- "title": "Working Directory",
+ "title": "tasks.config.cwd.title",
"type": "path",
"allowFiles": false,
"allowFolders": true,
"relative": true,
- "placeholder": "Workspace Root"
+ "placeholder": "tasks.config.cwd.placeholder"
},
{
"key": "programPath",
- "title": "Program",
+ "title": "tasks.debug.config.program.title",
"type": "path",
"allowFiles": true,
"allowFolders": false,
"relative": true,
- "placeholder": "zig-out/bin/app",
- "description": "Path to the executable to debug. Relative paths are resolved against the working directory. Leave blank to auto-detect from `build.zig.zon`."
+ "placeholder": "tasks.debug.config.program.placeholder",
+ "description": "tasks.debug.config.program.info"
},
{
"key": "optimize",
- "title": "Optimize",
+ "title": "tasks.config.optimize.title",
"type": "enum",
"default": "Debug",
"values": [
@@ -383,51 +402,51 @@
["ReleaseFast", "ReleaseFast"],
["ReleaseSmall", "ReleaseSmall"]
],
- "description": "Passed as `-Doptimize=<mode>`. Debug is the recommended default for stepping through code."
+ "description": "tasks.debug.config.optimize.info"
},
{
"key": "target",
- "title": "Target",
+ "title": "tasks.config.target.title",
"type": "string",
- "placeholder": "host",
- "description": "Cross-compile target triple, passed as `-Dtarget=`. Leave blank for the host."
+ "placeholder": "tasks.config.target.placeholder",
+ "description": "tasks.config.target.info"
},
{
"key": "userOptions",
- "title": "User Options",
+ "title": "tasks.config.user-options.title",
"type": "stringArray",
- "description": "Custom `-D` flags. Each entry is `key` (boolean flag) or `key=value`."
+ "description": "tasks.config.user-options.info"
},
{
"key": "buildArgs",
- "title": "Build Arguments",
+ "title": "tasks.config.build-args.title",
"type": "stringArray",
- "description": "Additional arguments appended after `zig build`."
+ "description": "tasks.debug.config.build-args.info"
},
{
"key": "runArgs",
- "title": "Program Arguments",
+ "title": "tasks.config.run-args.title",
"type": "stringArray",
- "description": "Arguments passed to the debugged program."
+ "description": "tasks.debug.config.run-args.info"
},
{
"key": "console",
- "title": "Console",
+ "title": "tasks.config.console.title",
"type": "enum",
"default": "internalConsole",
"values": [
- ["internalConsole", "Internal Console"],
- ["integratedTerminal", "Integrated Terminal"],
- ["externalTerminal", "External Terminal"]
+ ["internalConsole", "tasks.config.console.internal"],
+ ["integratedTerminal", "tasks.config.console.integrated"],
+ ["externalTerminal", "tasks.config.console.external"]
],
- "description": "Where the debugged program should run."
+ "description": "tasks.debug.config.console.info"
},
{
"key": "stopOnEntry",
- "title": "Stop On Entry",
+ "title": "tasks.debug.config.stop-on-entry.title",
"type": "boolean",
"default": false,
- "description": "Pause immediately when the program starts."
+ "description": "tasks.debug.config.stop-on-entry.info"
}
]
},
@@ -458,71 +477,71 @@
"config": [
{
"key": "cwd",
- "title": "Working Directory",
+ "title": "tasks.config.cwd.title",
"type": "path",
"allowFiles": false,
"allowFolders": true,
"relative": true,
- "placeholder": "Workspace Root"
+ "placeholder": "tasks.config.cwd.placeholder"
},
{
"key": "testFilter",
- "title": "Test Filter",
+ "title": "tasks.test.config.test-filter.title",
"type": "string",
- "placeholder": "substring of test name",
- "description": "Substring of the test name. Passed as `--test-filter`."
+ "placeholder": "tasks.test.config.test-filter.placeholder",
+ "description": "tasks.test.config.test-filter.info"
},
{
"key": "summary",
- "title": "Summary",
+ "title": "tasks.test.config.summary.title",
"type": "enum",
"default": "",
"values": [
- ["", "Default"],
- ["all", "All"],
- ["failures", "Failures only"],
- ["none", "None"]
+ ["", "tasks.config.default"],
+ ["all", "tasks.test.config.summary.all"],
+ ["failures", "tasks.test.config.summary.failures"],
+ ["none", "tasks.test.config.summary.none"]
],
- "description": "Controls `zig build`'s --summary verbosity."
+ "description": "tasks.test.config.summary.info"
},
{
"key": "optimize",
- "title": "Optimize",
+ "title": "tasks.config.optimize.title",
"type": "enum",
"default": "",
"values": [
- ["", "Project Default"],
+ ["", "tasks.config.optimize.default"],
["Debug", "Debug"],
["ReleaseSafe", "ReleaseSafe"],
["ReleaseFast", "ReleaseFast"],
["ReleaseSmall", "ReleaseSmall"]
],
- "description": "Passed as `-Doptimize=<mode>`."
+ "description": "tasks.config.optimize.info"
},
{
"key": "target",
- "title": "Target",
+ "title": "tasks.config.target.title",
"type": "string",
- "placeholder": "host",
- "description": "Cross-compile target triple, passed as `-Dtarget=`. Leave blank for the host."
+ "placeholder": "tasks.config.target.placeholder",
+ "description": "tasks.config.target.info"
},
{
"key": "userOptions",
- "title": "User Options",
+ "title": "tasks.config.user-options.title",
"type": "stringArray",
- "description": "Custom `-D` flags. Each entry is `key` (boolean flag) or `key=value`."
+ "description": "tasks.config.user-options.info"
},
{
"key": "buildArgs",
- "title": "Build Arguments",
+ "title": "tasks.config.build-args.title",
"type": "stringArray",
- "description": "Additional arguments appended after `zig build test`."
+ "description": "tasks.test.config.build-args.info"
},
{
"key": "runArgs",
- "title": "Program Arguments",
+ "title": "tasks.config.run-args.title",
"type": "stringArray",
- "description": "Arguments passed after `--` to the test runner."
+ "description": "tasks.test.config.run-args.info"
}
]
},
@@ -547,73 +566,73 @@
"config": [
{
"key": "cwd",
- "title": "Working Directory",
+ "title": "tasks.config.cwd.title",
"type": "path",
"allowFiles": false,
"allowFolders": true,
"relative": true,
- "placeholder": "Workspace Root"
+ "placeholder": "tasks.config.cwd.placeholder"
},
{
"key": "step",
- "title": "Step",
+ "title": "tasks.watch.config.step.title",
"type": "string",
"default": "",
- "placeholder": "install",
- "description": "Build step to watch. Leave blank for `zig build`'s default install step."
+ "placeholder": "tasks.watch.config.step.placeholder",
+ "description": "tasks.watch.config.step.info"
},
{
"key": "debounceMs",
- "title": "Debounce (ms)",
+ "title": "tasks.watch.config.debounce.title",
"type": "number",
"min": 0,
"max": 60000,
- "description": "Passed as `--debounce <N>`. Leave blank for Zig's default."
+ "description": "tasks.watch.config.debounce.info"
},
{
"key": "incremental",
- "title": "Incremental",
+ "title": "tasks.watch.config.incremental.title",
"type": "enum",
"default": "",
"values": [
- ["", "Default"],
- ["on", "On"],
- ["off", "Off"]
+ ["", "tasks.config.default"],
+ ["on", "tasks.config.on"],
+ ["off", "tasks.config.off"]
],
- "description": "Toggle `-fincremental` / `-fno-incremental`."
+ "description": "tasks.watch.config.incremental.info"
},
{
"key": "optimize",
- "title": "Optimize",
+ "title": "tasks.config.optimize.title",
"type": "enum",
"default": "",
"values": [
- ["", "Project Default"],
+ ["", "tasks.config.optimize.default"],
["Debug", "Debug"],
["ReleaseSafe", "ReleaseSafe"],
["ReleaseFast", "ReleaseFast"],
["ReleaseSmall", "ReleaseSmall"]
],
- "description": "Passed as `-Doptimize=<mode>`."
+ "description": "tasks.config.optimize.info"
},
{
"key": "target",
- "title": "Target",
+ "title": "tasks.config.target.title",
"type": "string",
- "placeholder": "host",
- "description": "Cross-compile target triple, passed as `-Dtarget=`. Leave blank for the host."
+ "placeholder": "tasks.config.target.placeholder",
+ "description": "tasks.config.target.info"
},
{
"key": "userOptions",
- "title": "User Options",
+ "title": "tasks.config.user-options.title",
"type": "stringArray",
- "description": "Custom `-D` flags. Each entry is `key` (boolean flag) or `key=value`."
+ "description": "tasks.config.user-options.info"
},
{
"key": "buildArgs",
- "title": "Build Arguments",
+ "title": "tasks.config.build-args.title",
"type": "stringArray",
- "description": "Additional arguments appended after `zig build`."
+ "description": "tasks.config.build-args.info"
}
]
}