aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorDavid Czihak <git@dcz.at>2026-05-08 03:00:15 +0200
committerDavid Czihak <git@dcz.at>2026-05-08 03:00:15 +0200
commitb9d713336bd4fdc5e40899257b1fe7a356ca8dcf (patch)
treee1d2860ddf998a9507db45f04a67670c34c336aa /README.md
parentfa99e9c7564bafef500ec3b2218859319098ee74 (diff)
Feat: New task system
This commit brings a complete rewrite of the task system to align the Zig build system and Nova task system as closely as possible. Lots of new options and settings have been added to the tasks, and the Zig extension will auto-detect tasks from the `zig build --list-steps` command. Should you prefer to add tasks manually, or need a more fine-grained control, the auto-detection can be disabled. This rewrite has not yet been thoroughly tested and will likely be a little rough around the edges.
Diffstat (limited to 'README.md')
-rw-r--r--README.md23
1 files changed, 19 insertions, 4 deletions
diff --git a/README.md b/README.md
index 0f816bd..118ffb3 100644
--- a/README.md
+++ b/README.md
@@ -28,10 +28,25 @@ This extension is not endorsed by, affiliated with, or associated with the [Zig
### Tasks
-- **Zig Package**: build and run a Zig package in the Nova console
-- **Zig Package (macOS Terminal)**: build and run in the external Terminal app for interactive CLIs
-- **Zig Debug**: build in Debug mode and launch under the debugger, with configurable console and stop-on-entry
-- A clean action on every runnable template that removes `.zig-cache`, `zig-cache`, and `zig-out`
+Four templates expose the `zig build` surface — pick one in **Project Settings > Tasks > New Task**:
+
+- **Zig Package**: build and run a Zig package. Configurable optimize mode, target triple, custom `-D` user options, run step, build/program arguments, and console (Internal Console or External Terminal).
+- **Zig Debug**: build and launch under lldb-dap. Same flag surface as Zig Package, plus program path (auto-detected from `build.zig.zon` when blank), console, and stop-on-entry.
+- **Zig Test**: run `zig build test` with optional `--test-filter`, `--summary`, plus optimize/target/user-options.
+- **Zig Watch**: run `zig build --watch` with configurable step, debounce, and incremental flag.
+
+Every runnable template also exposes a clean action that removes `.zig-cache`, `zig-cache`, and `zig-out`. Clean refuses to run when the working directory resolves to `/`, `$HOME`, or anywhere outside the workspace; when the project's `build.zig` exposes an `uninstall` step, it runs first.
+
+Two ad-hoc tasks appear automatically:
+
+- **Current Zig File**: run via `zig run <file>` and clean the nearest `build.zig` ancestor.
+- **Zig Build: \<step\>**: one task per step discovered from `zig build --list-steps`. The list is cached and refreshed when `build.zig` or `build.zig.zon` changes.
+
+The legacy **Zig Package (macOS Terminal)** template is preserved for backward compatibility. New configurations should use **Zig Package** with Console set to External Terminal.
+
+#### Watch-mode caveat
+
+Nova issue matchers fire only on the first build cycle of a long-running task. With `zig build --watch`, errors from later cycles will not appear inline — re-run the task to refresh the issue overlay.
### Debugging