diff options
| -rw-r--r-- | Zig.novaextension/CHANGELOG.md | 29 | ||||
| -rw-r--r-- | Zig.novaextension/Images/filetype-script-zig/filetype-script-zig.png | bin | 2890 -> 0 bytes | |||
| -rw-r--r-- | Zig.novaextension/Images/filetype-script-zig/filetype-script-zig@2x.png | bin | 2983 -> 0 bytes | |||
| -rw-r--r-- | Zig.novaextension/Images/zig-build/zig-build.png | bin | 1957 -> 0 bytes | |||
| -rw-r--r-- | Zig.novaextension/Images/zig-build/zig-build@2x.png | bin | 4955 -> 0 bytes | |||
| -rw-r--r-- | Zig.novaextension/Images/zig-mark/metadata.json | 3 | ||||
| -rw-r--r-- | Zig.novaextension/Images/zig-mark/zig-mark.png | bin | 1941 -> 0 bytes | |||
| -rw-r--r-- | Zig.novaextension/Images/zig-mark/zig-mark@2x.png | bin | 1199 -> 0 bytes | |||
| -rw-r--r-- | Zig.novaextension/Images/zig-task/zig-task.png | bin | 1773 -> 0 bytes | |||
| -rw-r--r-- | Zig.novaextension/Images/zig-task/zig-task@2x.png | bin | 4339 -> 0 bytes | |||
| -rw-r--r-- | Zig.novaextension/Scripts/main.js | 200 | ||||
| -rw-r--r-- | Zig.novaextension/de.lproj/strings.json | 242 | ||||
| -rw-r--r-- | Zig.novaextension/en.lproj/strings.json | 237 | ||||
| -rw-r--r-- | Zig.novaextension/extension.json | 199 |
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 Binary files differdeleted file mode 100644 index 19ae2b8..0000000 --- a/Zig.novaextension/Images/filetype-script-zig/filetype-script-zig.png +++ /dev/null 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 Binary files differdeleted file mode 100644 index 44f033f..0000000 --- a/Zig.novaextension/Images/filetype-script-zig/filetype-script-zig@2x.png +++ /dev/null diff --git a/Zig.novaextension/Images/zig-build/zig-build.png b/Zig.novaextension/Images/zig-build/zig-build.png Binary files differdeleted file mode 100644 index f0b86c8..0000000 --- a/Zig.novaextension/Images/zig-build/zig-build.png +++ /dev/null diff --git a/Zig.novaextension/Images/zig-build/zig-build@2x.png b/Zig.novaextension/Images/zig-build/zig-build@2x.png Binary files differdeleted file mode 100644 index 437c1f9..0000000 --- a/Zig.novaextension/Images/zig-build/zig-build@2x.png +++ /dev/null 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 Binary files differdeleted file mode 100644 index 903a55a..0000000 --- a/Zig.novaextension/Images/zig-mark/zig-mark.png +++ /dev/null diff --git a/Zig.novaextension/Images/zig-mark/zig-mark@2x.png b/Zig.novaextension/Images/zig-mark/zig-mark@2x.png Binary files differdeleted file mode 100644 index e7a8454..0000000 --- a/Zig.novaextension/Images/zig-mark/zig-mark@2x.png +++ /dev/null diff --git a/Zig.novaextension/Images/zig-task/zig-task.png b/Zig.novaextension/Images/zig-task/zig-task.png Binary files differdeleted file mode 100644 index adbed18..0000000 --- a/Zig.novaextension/Images/zig-task/zig-task.png +++ /dev/null diff --git a/Zig.novaextension/Images/zig-task/zig-task@2x.png b/Zig.novaextension/Images/zig-task/zig-task@2x.png Binary files differdeleted file mode 100644 index 21f056e..0000000 --- a/Zig.novaextension/Images/zig-task/zig-task@2x.png +++ /dev/null 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" } ] } |
