aboutsummaryrefslogtreecommitdiff
path: root/extension.json
diff options
context:
space:
mode:
Diffstat (limited to 'extension.json')
-rw-r--r--extension.json304
1 files changed, 261 insertions, 43 deletions
diff --git a/extension.json b/extension.json
index 8f455cd..83e5934 100644
--- a/extension.json
+++ b/extension.json
@@ -102,6 +102,20 @@
"description": "Write lldb-dap-proxy traffic to a log file in the extension's storage directory. For extension development only."
}
]
+ },
+ {
+ "type": "section",
+ "title": "Tasks",
+ "description": "Controls for the task system.",
+ "children": [
+ {
+ "key": "at.dcz.nova-zig.tasks.discover-steps",
+ "title": "Discover Build Steps",
+ "type": "boolean",
+ "default": true,
+ "description": "Run `zig build --list-steps` and surface each step as a task in the task list. Disable for projects where running build.zig on activation is undesirable."
+ }
+ ]
}
],
"configWorkspace": [
@@ -170,6 +184,19 @@
"description": "Write lldb-dap-proxy traffic to a log file in the extension's storage directory. For extension development only."
}
]
+ },
+ {
+ "type": "section",
+ "title": "Tasks",
+ "description": "Workspace-specific task settings.",
+ "children": [
+ {
+ "key": "at.dcz.nova-zig.tasks.discover-steps",
+ "title": "Discover Build Steps",
+ "type": "boolean",
+ "description": "Run `zig build --list-steps` and surface each step as a task in the task list. Disable for projects where running build.zig on activation is undesirable."
+ }
+ ]
}
],
"issueMatchers": {
@@ -224,9 +251,36 @@
"key": "runStep",
"title": "Run Step",
"type": "string",
- "default": "run",
- "placeholder": "run",
- "description": "The `zig build` step to execute for the Run action."
+ "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)."
+ },
+ {
+ "key": "optimize",
+ "title": "Optimize",
+ "type": "enum",
+ "default": "",
+ "values": [
+ ["", "Project Default"],
+ ["Debug", "Debug"],
+ ["ReleaseSafe", "ReleaseSafe"],
+ ["ReleaseFast", "ReleaseFast"],
+ ["ReleaseSmall", "ReleaseSmall"]
+ ],
+ "description": "Passed as `-Doptimize=<mode>`. Leave on Project Default to let `build.zig` decide."
+ },
+ {
+ "key": "target",
+ "title": "Target",
+ "type": "string",
+ "placeholder": "host",
+ "description": "Cross-compile target triple, passed as `-Dtarget=`. Leave blank for the host."
+ },
+ {
+ "key": "userOptions",
+ "title": "User Options",
+ "type": "stringArray",
+ "description": "Custom `-D` flags. Each entry is `key` (boolean flag) or `key=value`."
},
{
"key": "buildArgs",
@@ -239,23 +293,35 @@
"title": "Program Arguments",
"type": "stringArray",
"description": "Arguments passed after `--` to the built program."
+ },
+ {
+ "key": "console",
+ "title": "Console",
+ "type": "enum",
+ "default": "internalConsole",
+ "values": [
+ ["internalConsole", "Internal Console"],
+ ["externalTerminal", "External Terminal"]
+ ],
+ "description": "Where to run the program. External Terminal launches the macOS Terminal app."
}
]
},
- "zigBuildRunTerminal": {
- "name": "Zig Package (macOS Terminal)",
- "description": "Build a Zig package and run it in the external macOS Terminal app.",
+ "zigDebug": {
+ "name": "Zig Debug",
+ "description": "Build a Zig package in Debug mode and launch it under lldb-dap.",
"tasks": {
"build": {
"resolve": "at.dcz.nova-zig.tasks",
"data": {
- "type": "build"
+ "type": "build-debug"
}
},
"run": {
"resolve": "at.dcz.nova-zig.tasks",
+ "buildBeforeRunning": true,
"data": {
- "type": "build-run-terminal"
+ "type": "debug"
}
},
"clean": {
@@ -276,42 +342,88 @@
"placeholder": "Workspace Root"
},
{
- "key": "runStep",
- "title": "Run Step",
+ "key": "programPath",
+ "title": "Program",
+ "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`."
+ },
+ {
+ "key": "optimize",
+ "title": "Optimize",
+ "type": "enum",
+ "default": "Debug",
+ "values": [
+ ["Debug", "Debug"],
+ ["ReleaseSafe", "ReleaseSafe"],
+ ["ReleaseFast", "ReleaseFast"],
+ ["ReleaseSmall", "ReleaseSmall"]
+ ],
+ "description": "Passed as `-Doptimize=<mode>`. Debug is the recommended default for stepping through code."
+ },
+ {
+ "key": "target",
+ "title": "Target",
"type": "string",
- "default": "run",
- "placeholder": "run",
- "description": "The `zig build` step to execute for the Run action."
+ "placeholder": "host",
+ "description": "Cross-compile target triple, passed as `-Dtarget=`. Leave blank for the host."
+ },
+ {
+ "key": "userOptions",
+ "title": "User Options",
+ "type": "stringArray",
+ "description": "Custom `-D` flags. Each entry is `key` (boolean flag) or `key=value`."
},
{
"key": "buildArgs",
"title": "Build Arguments",
"type": "stringArray",
- "description": "Additional arguments appended after `zig build` for both Build and Run."
+ "description": "Additional arguments appended after `zig build`."
},
{
"key": "runArgs",
"title": "Program Arguments",
"type": "stringArray",
- "description": "Arguments passed after `--` to the built program."
+ "description": "Arguments passed to the debugged program."
+ },
+ {
+ "key": "console",
+ "title": "Console",
+ "type": "enum",
+ "default": "internalConsole",
+ "values": [
+ ["internalConsole", "Internal Console"],
+ ["integratedTerminal", "Integrated Terminal"],
+ ["externalTerminal", "External Terminal"]
+ ],
+ "description": "Where the debugged program should run."
+ },
+ {
+ "key": "stopOnEntry",
+ "title": "Stop On Entry",
+ "type": "boolean",
+ "default": false,
+ "description": "Pause immediately when the program starts."
}
]
},
- "zigDebug": {
- "name": "Zig Debug",
- "description": "Build a Zig package in Debug mode and launch it under lldb-dap.",
+ "zigTest": {
+ "name": "Zig Test",
+ "description": "Run `zig build test` with optional --test-filter and --summary controls.",
"tasks": {
"build": {
"resolve": "at.dcz.nova-zig.tasks",
"data": {
- "type": "build-debug"
+ "type": "test-build"
}
},
"run": {
"resolve": "at.dcz.nova-zig.tasks",
- "buildBeforeRunning": true,
"data": {
- "type": "debug"
+ "type": "test-run"
}
},
"clean": {
@@ -332,45 +444,151 @@
"placeholder": "Workspace Root"
},
{
- "key": "programPath",
- "title": "Program",
- "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."
+ "key": "testFilter",
+ "title": "Test Filter",
+ "type": "string",
+ "placeholder": "substring of test name",
+ "description": "Substring of the test name. Passed as `--test-filter`."
+ },
+ {
+ "key": "summary",
+ "title": "Summary",
+ "type": "enum",
+ "default": "",
+ "values": [
+ ["", "Default"],
+ ["all", "All"],
+ ["failures", "Failures only"],
+ ["none", "None"]
+ ],
+ "description": "Controls `zig build`'s --summary verbosity."
+ },
+ {
+ "key": "optimize",
+ "title": "Optimize",
+ "type": "enum",
+ "default": "",
+ "values": [
+ ["", "Project Default"],
+ ["Debug", "Debug"],
+ ["ReleaseSafe", "ReleaseSafe"],
+ ["ReleaseFast", "ReleaseFast"],
+ ["ReleaseSmall", "ReleaseSmall"]
+ ],
+ "description": "Passed as `-Doptimize=<mode>`."
+ },
+ {
+ "key": "target",
+ "title": "Target",
+ "type": "string",
+ "placeholder": "host",
+ "description": "Cross-compile target triple, passed as `-Dtarget=`. Leave blank for the host."
+ },
+ {
+ "key": "userOptions",
+ "title": "User Options",
+ "type": "stringArray",
+ "description": "Custom `-D` flags. Each entry is `key` (boolean flag) or `key=value`."
},
{
"key": "buildArgs",
"title": "Build Arguments",
"type": "stringArray",
- "description": "Additional arguments appended after `zig build -Doptimize=Debug`."
+ "description": "Additional arguments appended after `zig build test`."
},
{
"key": "runArgs",
"title": "Program Arguments",
"type": "stringArray",
- "description": "Arguments passed to the debugged program."
+ "description": "Arguments passed after `--` to the test runner."
+ }
+ ]
+ },
+ "zigWatch": {
+ "name": "Zig Watch",
+ "description": "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.",
+ "tasks": {
+ "build": {
+ "resolve": "at.dcz.nova-zig.tasks",
+ "data": {
+ "type": "watch"
+ }
+ },
+ "clean": {
+ "resolve": "at.dcz.nova-zig.tasks",
+ "data": {
+ "type": "clean"
+ }
+ }
+ },
+ "config": [
+ {
+ "key": "cwd",
+ "title": "Working Directory",
+ "type": "path",
+ "allowFiles": false,
+ "allowFolders": true,
+ "relative": true,
+ "placeholder": "Workspace Root"
},
{
- "key": "console",
- "title": "Console",
+ "key": "step",
+ "title": "Step",
+ "type": "string",
+ "default": "",
+ "placeholder": "install",
+ "description": "Build step to watch. Leave blank for `zig build`'s default install step."
+ },
+ {
+ "key": "debounceMs",
+ "title": "Debounce (ms)",
+ "type": "number",
+ "description": "Passed as `--debounce <N>`. Leave blank for Zig's default."
+ },
+ {
+ "key": "incremental",
+ "title": "Incremental",
"type": "enum",
- "default": "internalConsole",
+ "default": "",
"values": [
- ["internalConsole", "Internal Console"],
- ["integratedTerminal", "Integrated Terminal"],
- ["externalTerminal", "External Terminal"]
+ ["", "Default"],
+ ["on", "On"],
+ ["off", "Off"]
],
- "description": "Where the debugged program should run."
+ "description": "Toggle `-fincremental` / `-fno-incremental`."
},
{
- "key": "stopOnEntry",
- "title": "Stop On Entry",
- "type": "boolean",
- "default": false,
- "description": "Pause immediately when the program starts."
+ "key": "optimize",
+ "title": "Optimize",
+ "type": "enum",
+ "default": "",
+ "values": [
+ ["", "Project Default"],
+ ["Debug", "Debug"],
+ ["ReleaseSafe", "ReleaseSafe"],
+ ["ReleaseFast", "ReleaseFast"],
+ ["ReleaseSmall", "ReleaseSmall"]
+ ],
+ "description": "Passed as `-Doptimize=<mode>`."
+ },
+ {
+ "key": "target",
+ "title": "Target",
+ "type": "string",
+ "placeholder": "host",
+ "description": "Cross-compile target triple, passed as `-Dtarget=`. Leave blank for the host."
+ },
+ {
+ "key": "userOptions",
+ "title": "User Options",
+ "type": "stringArray",
+ "description": "Custom `-D` flags. Each entry is `key` (boolean flag) or `key=value`."
+ },
+ {
+ "key": "buildArgs",
+ "title": "Build Arguments",
+ "type": "stringArray",
+ "description": "Additional arguments appended after `zig build`."
}
]
}