{ "identifier": "at.dcz.nova-zig", "name": "Zig", "organization": "David Czihak", "description": "Zig language support – ZLS, LLDB, Tree-Sitter grammar", "version": "0.1.7", "license": "BSD 2-Clause License", "categories": ["languages", "completions", "formatters", "tasks", "issues"], "keywords": ["zig", "zon", "zls"], "repository": "https://git.dcz.at/Zig.novaextension/", "bugs": { "email": "bugs@dcz.at" }, "min_runtime": "10", "main": "main.js", "activationEvents": [ "onLanguage:zig", "onWorkspaceContains:*.zig", "onWorkspaceContains:build.zig", "onWorkspaceContains:build.zig.zon" ], "entitlements": { "process": true, "filesystem": "readwrite" }, "debugAdapters": { "zig-lldb-dap": { "name": "Zig (LLDB DAP)", "image": "zig-debug" } }, "breakpoints": [ { "syntax": "zig" } ], "config": [ { "type": "section", "title": "Tooling", "description": "Paths to the Zig toolchain and language server. Leave blank to discover them from PATH.", "children": [ { "key": "at.dcz.nova-zig.toolchain.zig-path", "title": "Zig Executable", "type": "path", "placeholder": "zig", "description": "Absolute path to the Zig executable." }, { "key": "at.dcz.nova-zig.toolchain.zls-path", "title": "ZLS Executable", "type": "path", "placeholder": "zls", "description": "Absolute path to the ZLS language server executable." }, { "key": "at.dcz.nova-zig.toolchain.lldb-dap-path", "title": "LLDB DAP Executable", "type": "path", "placeholder": "lldb-dap", "description": "Absolute path to the lldb-dap executable. Leave blank to discover it via xcrun or PATH." } ] }, { "type": "section", "title": "Language Server", "description": "Controls for the ZLS integration.", "children": [ { "key": "at.dcz.nova-zig.zls.enabled", "title": "Enable ZLS", "type": "boolean", "default": true, "description": "Enable diagnostics, completion, navigation, and other language-server features." }, { "key": "at.dcz.nova-zig.zls.build-on-save", "title": "Build On Save", "type": "boolean", "default": false, "description": "Allow ZLS to run its build/check runner on save when the workspace is a Zig project." }, { "key": "at.dcz.nova-zig.zls.debug", "title": "Debug Server Messages", "type": "boolean", "default": false, "description": "Log ZLS traffic to the Extension Console while developing the extension." } ] }, { "type": "section", "title": "Debug Adapter", "description": "Controls for the lldb-dap integration.", "children": [ { "key": "at.dcz.nova-zig.debug-adapter.debug", "title": "Enable Proxy Log", "type": "boolean", "default": false, "description": "Write lldb-dap-proxy traffic to a log file in the extension's storage directory. For extension development only." } ] } ], "configWorkspace": [ { "type": "section", "title": "Tooling", "description": "Workspace-specific overrides for Zig and ZLS executable paths.", "children": [ { "key": "at.dcz.nova-zig.toolchain.zig-path", "title": "Zig Executable", "type": "path", "placeholder": "zig", "description": "Absolute path to the Zig executable." }, { "key": "at.dcz.nova-zig.toolchain.zls-path", "title": "ZLS Executable", "type": "path", "placeholder": "zls", "description": "Absolute path to the ZLS language server executable." }, { "key": "at.dcz.nova-zig.toolchain.lldb-dap-path", "title": "LLDB DAP Executable", "type": "path", "placeholder": "lldb-dap", "description": "Absolute path to the lldb-dap executable. Leave blank to discover it via xcrun or PATH." } ] }, { "type": "section", "title": "Language Server", "description": "Workspace-specific language server settings.", "children": [ { "key": "at.dcz.nova-zig.zls.enabled", "title": "Enable ZLS", "type": "boolean", "description": "Enable diagnostics, completion, navigation, and other language-server features." }, { "key": "at.dcz.nova-zig.zls.build-on-save", "title": "Build On Save", "type": "boolean", "description": "Allow ZLS to run its build/check runner on save when the workspace is a Zig project." }, { "key": "at.dcz.nova-zig.zls.debug", "title": "Debug Server Messages", "type": "boolean", "description": "Log ZLS traffic to the Extension Console while developing the extension." } ] }, { "type": "section", "title": "Debug Adapter", "description": "Controls for the lldb-dap integration.", "children": [ { "key": "at.dcz.nova-zig.debug-adapter.debug", "title": "Enable Proxy Log", "type": "boolean", "description": "Write lldb-dap-proxy traffic to a log file in the extension's storage directory. For extension development only." } ] } ], "issueMatchers": { "zig.compiler": { "pattern": [ { "regexp": "^(.+?):(\\d+):(\\d+):\\s*(error|warning):\\s*(.+)$", "file": 1, "line": 2, "column": 3, "severity": 4, "message": 5 } ] } }, "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": "run", "placeholder": "run", "description": "The `zig build` step to execute for the Run action." }, { "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." } ] }, "zigBuildRunTerminal": { "name": "Zig Package (macOS Terminal)", "description": "Build a Zig package and run it in the external macOS Terminal app.", "tasks": { "build": { "resolve": "at.dcz.nova-zig.tasks", "data": { "type": "build" } }, "run": { "resolve": "at.dcz.nova-zig.tasks", "data": { "type": "build-run-terminal" } }, "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": "run", "placeholder": "run", "description": "The `zig build` step to execute for the Run action." }, { "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." } ] }, "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." }, { "key": "buildArgs", "title": "Build Arguments", "type": "stringArray", "description": "Additional arguments appended after `zig build -Doptimize=Debug`." }, { "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." } ] } } }