diff options
Diffstat (limited to 'extension.json')
| -rw-r--r-- | extension.json | 304 |
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`." } ] } |
