aboutsummaryrefslogtreecommitdiff
path: root/Zig.novaextension/extension.json
diff options
context:
space:
mode:
Diffstat (limited to 'Zig.novaextension/extension.json')
-rw-r--r--Zig.novaextension/extension.json634
1 files changed, 634 insertions, 0 deletions
diff --git a/Zig.novaextension/extension.json b/Zig.novaextension/extension.json
new file mode 100644
index 0000000..34a9d02
--- /dev/null
+++ b/Zig.novaextension/extension.json
@@ -0,0 +1,634 @@
+{
+ "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": "config.zig.executable-path.title",
+ "type": "path",
+ "placeholder": "zig",
+ "description": "config.zig.executable-path.info",
+ "allowFiles": true,
+ "allowFolders": false,
+ "filetype": "public.unix-executable"
+ }
+ ]
+ },
+ {
+ "type": "section",
+ "title": "config.zls.title",
+ "description": "config.zls.info",
+ "children": [
+ {
+ "key": "at.dcz.nova-zig.zls.enabled",
+ "title": "config.zls.enable.title",
+ "type": "boolean",
+ "default": true,
+ "description": "config.zls.enable.info"
+ },
+ {
+ "key": "at.dcz.nova-zig.toolchain.zls-path",
+ "title": "config.zls.executable-path.title",
+ "type": "path",
+ "placeholder": "zls",
+ "description": "config.zls.executable-path.info",
+ "allowFiles": true,
+ "allowFolders": false,
+ "filetype": "public.unix-executable"
+ },
+ {
+ "key": "at.dcz.nova-zig.zls.build-on-save",
+ "title": "config.zls.build-on-save.title",
+ "type": "boolean",
+ "default": false,
+ "description": "config.zls.build-on-save.info"
+ },
+ {
+ "key": "at.dcz.nova-zig.zls.debug",
+ "title": "config.zls.log-communication.title",
+ "type": "boolean",
+ "default": false,
+ "description": "config.zls.log-communication.info"
+ }
+ ]
+ },
+ {
+ "type": "section",
+ "title": "config.debugging.title",
+ "description": "config.debugging.info",
+ "children": [
+ {
+ "key": "at.dcz.nova-zig.toolchain.lldb-dap-path",
+ "title": "config.debugging.lldb-dap-path.title",
+ "type": "path",
+ "placeholder": "lldb-dap",
+ "description": "config.debugging.lldb-dap-path.info",
+ "allowFiles": true,
+ "allowFolders": false,
+ "filetype": "public.unix-executable"
+ },
+ {
+ "key": "at.dcz.nova-zig.debug-adapter.debug",
+ "title": "config.debugging.logging.title",
+ "type": "boolean",
+ "default": false,
+ "description": "config.debugging.logging.info"
+ }
+ ]
+ },
+ {
+ "type": "section",
+ "title": "config.tasks.title",
+ "description": "config.tasks.info",
+ "children": [
+ {
+ "key": "at.dcz.nova-zig.tasks.discover-steps",
+ "title": "config.tasks.autodiscover.title",
+ "type": "boolean",
+ "default": true,
+ "description": "config.tasks.autodiscover.info"
+ }
+ ]
+ }
+ ],
+
+ "configWorkspace": [
+ {
+ "type": "section",
+ "title": "config.general.title",
+ "children": [
+ {
+ "key": "at.dcz.nova-zig.toolchain.zig-path",
+ "title": "config.zig.executable-path.title",
+ "type": "path",
+ "placeholder": "workspaceconfig.inherit.placeholder",
+ "description": "workspaceconfig.inherit.info",
+ "allowFiles": true,
+ "allowFolders": false,
+ "filetype": "public.unix-executable"
+ }
+ ]
+ },
+ {
+ "type": "section",
+ "title": "config.zls.title",
+ "description": "config.zls.info",
+ "children": [
+ {
+ "key": "at.dcz.nova-zig.zls.enabled",
+ "title": "config.zls.enable.title",
+ "type": "enum",
+ "default": "inherit",
+ "values": [
+ ["inherit", "config.inherit"],
+ ["enabled", "config.enabled"],
+ ["disabled", "config.disabled"]
+ ],
+ "description": "config.zls.enable.info"
+ },
+ {
+ "key": "at.dcz.nova-zig.toolchain.zls-path",
+ "title": "config.zls.executable-path.title",
+ "type": "path",
+ "placeholder": "workspaceconfig.inherit.placeholder",
+ "description": "workspaceconfig.inherit.info",
+ "allowFiles": true,
+ "allowFolders": false,
+ "filetype": "public.unix-executable"
+ },
+ {
+ "key": "at.dcz.nova-zig.zls.build-on-save",
+ "title": "config.zls.build-on-save.title",
+ "type": "enum",
+ "default": "inherit",
+ "values": [
+ ["inherit", "config.inherit"],
+ ["enabled", "config.enabled"],
+ ["disabled", "config.disabled"]
+ ],
+ "description": "config.zls.build-on-save.info"
+ }
+ ]
+ },
+ {
+ "type": "section",
+ "title": "config.debugging.title",
+ "description": "config.debugging.info",
+ "children": [
+ {
+ "key": "at.dcz.nova-zig.toolchain.lldb-dap-path",
+ "title": "config.debugging.lldb-dap-path.title",
+ "type": "path",
+ "placeholder": "workspaceconfig.inherit.placeholder",
+ "description": "workspaceconfig.inherit.info",
+ "allowFiles": true,
+ "allowFolders": false,
+ "filetype": "public.unix-executable"
+ }
+ ]
+ },
+ {
+ "type": "section",
+ "title": "config.tasks.title",
+ "description": "config.tasks.info",
+ "children": [
+ {
+ "key": "at.dcz.nova-zig.tasks.discover-steps",
+ "title": "config.tasks.autodiscover.title",
+ "type": "enum",
+ "default": "inherit",
+ "values": [
+ ["inherit", "config.inherit"],
+ ["enabled", "config.enabled"],
+ ["disabled", "config.disabled"]
+ ],
+ "description": "config.tasks.autodiscover.info"
+ }
+ ]
+ }
+ ],
+
+ "breakpoints": [
+ {
+ "syntax": "zig"
+ }
+ ],
+
+ "debugAdapters": {
+ "zig-lldb-dap": {
+ "name": "LLDB",
+ "image": "zig-mark"
+ }
+ },
+
+ "taskTemplates": {
+ "zigBuildRun": {
+ "name": "tasks.buildrun.name",
+ "description": "tasks.buildrun.info",
+ "image": "zig-hex",
+ "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=<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",
+ "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": "tasks.debug.name",
+ "description": "tasks.debug.info",
+ "image": "zig-hex",
+ "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=<mode>`. 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": "tasks.test.name",
+ "description": "tasks.test.info",
+ "image": "zig-hex",
+ "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=<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 test`."
+ },
+ {
+ "key": "runArgs",
+ "title": "Program Arguments",
+ "type": "stringArray",
+ "description": "Arguments passed after `--` to the test runner."
+ }
+ ]
+ },
+ "zigWatch": {
+ "name": "tasks.watch.name",
+ "description": "tasks.watch.info",
+ "image": "zig-hex",
+ "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 <N>`. 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=<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`."
+ }
+ ]
+ }
+ },
+
+ "issueMatchers": {
+ "zig.compiler": {
+ "pattern": [
+ {
+ "regexp": "^(.+?):(\\d+):(\\d+):\\s*(error|warning):\\s*(.+)$",
+ "file": 1,
+ "line": 2,
+ "column": 3,
+ "severity": 4,
+ "message": 5
+ }
+ ]
+ }
+ }
+}