{ "identifier": "at.dcz.nova-zig", "organization": "David Czihak", "name": "Zig", "version": "0.1.8", "license": "BSD-2-Clause", "description": "Zig language support – ZLS, LLDB, Tree-Sitter grammar", "categories": ["completions", "formatters", "issues", "languages", "tasks"], "keywords": ["zig", "zon", "zls"], "repository": "https://git.dcz.at/Zig.novaextension/", "bugs": { "email": "bugs@dcz.at" }, "min_runtime": "10", "entitlements": { "process": true, "filesystem": "readwrite" }, "main": "main.js", "activationEvents": [ "onLanguage:zig", "onWorkspaceContains:*.zig", "onWorkspaceContains:build.zig", "onWorkspaceContains:build.zig.zon" ], "config": [ { "type": "section", "title": "config.general.title", "children": [ { "key": "at.dcz.nova-zig.toolchain.zig-path", "title": "zig.executable-path.title", "type": "path", "placeholder": "zig", "description": "zig.executable-path.info", "allowFiles": true, "allowFolders": false, "filetype": "public.unix-executable" } ] }, { "type": "section", "title": "zls.title", "description": "zls.info", "children": [ { "key": "at.dcz.nova-zig.zls.enabled", "title": "zls.enable.title", "type": "boolean", "default": true, "description": "zls.enable.info" }, { "key": "at.dcz.nova-zig.toolchain.zls-path", "title": "zls.executable-path.title", "type": "path", "placeholder": "zls", "description": "zls.executable-path.info", "allowFiles": true, "allowFolders": false, "filetype": "public.unix-executable" }, { "key": "at.dcz.nova-zig.zls.build-on-save", "title": "zls.build-on-save.title", "type": "boolean", "default": false, "description": "zls.build-on-save.info" }, { "key": "at.dcz.nova-zig.zls.debug", "title": "zls.log-communication.title", "type": "boolean", "default": false, "description": "zls.log-communication.info" } ] }, { "type": "section", "title": "debugging.title", "description": "debugging.info", "children": [ { "key": "at.dcz.nova-zig.toolchain.lldb-dap-path", "title": "debugging.lldb-dap-path.title", "type": "path", "placeholder": "lldb-dap", "description": "debugging.lldb-dap-path.info", "allowFiles": true, "allowFolders": false, "filetype": "public.unix-executable" }, { "key": "at.dcz.nova-zig.debug-adapter.debug", "title": "debugging.logging.title", "type": "boolean", "default": false, "description": "debugging.logging.info" } ] }, { "type": "section", "title": "tasks.title", "description": "tasks.info", "children": [ { "key": "at.dcz.nova-zig.tasks.discover-steps", "title": "tasks.autodiscover.title", "type": "boolean", "default": true, "description": "tasks.autodiscover.info" } ] } ], "configWorkspace": [ { "type": "section", "title": "config.general.title", "children": [ { "key": "at.dcz.nova-zig.toolchain.zig-path", "title": "zig.executable-path.title", "type": "path", "placeholder": "zig", "description": "setting.inherit.path-info", "allowFiles": true, "allowFolders": false, "filetype": "public.unix-executable" } ] }, { "type": "section", "title": "zls.title", "description": "zls.info", "children": [ { "key": "at.dcz.nova-zig.zls.enabled", "title": "zls.enable.title", "type": "enum", "default": "inherit", "values": [ ["inherit", "setting.inherit"], ["enabled", "setting.enabled"], ["disabled", "setting.disabled"] ], "description": "zls.enable.info" }, { "key": "at.dcz.nova-zig.toolchain.zls-path", "title": "zls.executable-path.title", "type": "path", "placeholder": "zls", "description": "setting.inherit.path-info", "allowFiles": true, "allowFolders": false, "filetype": "public.unix-executable" }, { "key": "at.dcz.nova-zig.zls.build-on-save", "title": "zls.build-on-save.title", "type": "enum", "default": "inherit", "values": [ ["inherit", "setting.inherit"], ["enabled", "setting.enabled"], ["disabled", "setting.disabled"] ], "description": "zls.build-on-save.info" } ] }, { "type": "section", "title": "debugging.title", "description": "debugging.info", "children": [ { "key": "at.dcz.nova-zig.toolchain.lldb-dap-path", "title": "debugging.lldb-dap-path.title", "type": "path", "placeholder": "lldb-dap", "description": "setting.inherit.path-info", "allowFiles": true, "allowFolders": false, "filetype": "public.unix-executable" } ] }, { "type": "section", "title": "tasks.title", "description": "tasks.info", "children": [ { "key": "at.dcz.nova-zig.tasks.discover-steps", "title": "tasks.autodiscover.title", "type": "enum", "default": "inherit", "values": [ ["inherit", "setting.inherit"], ["enabled", "setting.enabled"], ["disabled", "setting.disabled"] ], "description": "tasks.autodiscover.info" } ] } ], "breakpoints": [ { "syntax": "zig" } ], "debugAdapters": { "zig-lldb-dap": { "name": "Zig (LLDB DAP)", "image": "zig-debug" } }, "taskTemplates": { "zigBuildRun": { "name": "Zig Package", "description": "Build and run a Zig package from one Nova task configuration.", "tasks": { "build": { "resolve": "at.dcz.nova-zig.tasks", "data": { "type": "build" } }, "run": { "resolve": "at.dcz.nova-zig.tasks", "data": { "type": "build-run" } }, "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": "runStep", "title": "Run Step", "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)." }, { "key": "optimize", "title": "Optimize", "type": "enum", "default": "", "values": [ ["", "Project Default"], ["Debug", "Debug"], ["ReleaseSafe", "ReleaseSafe"], ["ReleaseFast", "ReleaseFast"], ["ReleaseSmall", "ReleaseSmall"] ], "description": "Passed as `-Doptimize=`. 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", "title": "Build Arguments", "type": "stringArray", "description": "Additional arguments appended after `zig build` for both Build and Run." }, { "key": "runArgs", "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." } ] }, "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-debug" } }, "run": { "resolve": "at.dcz.nova-zig.tasks", "buildBeforeRunning": true, "data": { "type": "debug" } }, "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": "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=`. Debug is the recommended default for stepping through code." }, { "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`." }, { "key": "runArgs", "title": "Program Arguments", "type": "stringArray", "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." } ] }, "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": "test-build" } }, "run": { "resolve": "at.dcz.nova-zig.tasks", "data": { "type": "test-run" } }, "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": "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=`." }, { "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 test`." }, { "key": "runArgs", "title": "Program Arguments", "type": "stringArray", "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": "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 `. Leave blank for Zig's default." }, { "key": "incremental", "title": "Incremental", "type": "enum", "default": "", "values": [ ["", "Default"], ["on", "On"], ["off", "Off"] ], "description": "Toggle `-fincremental` / `-fno-incremental`." }, { "key": "optimize", "title": "Optimize", "type": "enum", "default": "", "values": [ ["", "Project Default"], ["Debug", "Debug"], ["ReleaseSafe", "ReleaseSafe"], ["ReleaseFast", "ReleaseFast"], ["ReleaseSmall", "ReleaseSmall"] ], "description": "Passed as `-Doptimize=`." }, { "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`." } ] } }, "issueMatchers": { "zig.compiler": { "pattern": [ { "regexp": "^(.+?):(\\d+):(\\d+):\\s*(error|warning):\\s*(.+)$", "file": 1, "line": 2, "column": 3, "severity": 4, "message": 5 } ] } } }