From ddf2de739068b5ff0866ccb1d067f3cb53a4fc55 Mon Sep 17 00:00:00 2001 From: David Czihak Date: Thu, 7 May 2026 14:33:19 +0200 Subject: Initial commit --- extension.json | 351 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 351 insertions(+) create mode 100644 extension.json (limited to 'extension.json') diff --git a/extension.json b/extension.json new file mode 100644 index 0000000..f9e76e9 --- /dev/null +++ b/extension.json @@ -0,0 +1,351 @@ +{ + "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": "readonly" + }, + "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." + } + ] + } + ], + "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." + } + ] + } + ], + "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." + } + ] + } + } +} -- cgit v1.3