aboutsummaryrefslogtreecommitdiff
path: root/extension.json
diff options
context:
space:
mode:
authorDavid Czihak <git@dcz.at>2026-05-07 14:33:19 +0200
committerDavid Czihak <git@dcz.at>2026-05-07 14:33:19 +0200
commitddf2de739068b5ff0866ccb1d067f3cb53a4fc55 (patch)
tree1a77efe9d73a6172be3c37d29b321eadd4efe379 /extension.json
Initial commitv0.1.7
Diffstat (limited to 'extension.json')
-rw-r--r--extension.json351
1 files changed, 351 insertions, 0 deletions
diff --git a/extension.json b/extension.json
new file mode 100644
index 0000000..f9e76e9
--- /dev/null
+++ b/extension.json
@@ -0,0 +1,351 @@
1{
2 "identifier": "at.dcz.nova-zig",
3 "name": "Zig",
4 "organization": "David Czihak",
5 "description": "Zig language support – ZLS, LLDB, Tree-Sitter grammar",
6 "version": "0.1.7",
7 "license": "BSD 2-Clause License",
8 "categories": ["languages", "completions", "formatters", "tasks", "issues"],
9 "keywords": ["zig", "zon", "zls"],
10 "repository": "https://git.dcz.at/Zig.novaextension/",
11 "bugs": { "email": "bugs@dcz.at" },
12 "min_runtime": "10",
13 "main": "main.js",
14 "activationEvents": [
15 "onLanguage:zig",
16 "onWorkspaceContains:*.zig",
17 "onWorkspaceContains:build.zig",
18 "onWorkspaceContains:build.zig.zon"
19 ],
20 "entitlements": {
21 "process": true,
22 "filesystem": "readonly"
23 },
24 "debugAdapters": {
25 "zig-lldb-dap": {
26 "name": "Zig (LLDB DAP)",
27 "image": "zig-debug"
28 }
29 },
30 "breakpoints": [
31 {
32 "syntax": "zig"
33 }
34 ],
35 "config": [
36 {
37 "type": "section",
38 "title": "Tooling",
39 "description": "Paths to the Zig toolchain and language server. Leave blank to discover them from PATH.",
40 "children": [
41 {
42 "key": "at.dcz.nova-zig.toolchain.zig-path",
43 "title": "Zig Executable",
44 "type": "path",
45 "placeholder": "zig",
46 "description": "Absolute path to the Zig executable."
47 },
48 {
49 "key": "at.dcz.nova-zig.toolchain.zls-path",
50 "title": "ZLS Executable",
51 "type": "path",
52 "placeholder": "zls",
53 "description": "Absolute path to the ZLS language server executable."
54 },
55 {
56 "key": "at.dcz.nova-zig.toolchain.lldb-dap-path",
57 "title": "LLDB DAP Executable",
58 "type": "path",
59 "placeholder": "lldb-dap",
60 "description": "Absolute path to the lldb-dap executable. Leave blank to discover it via xcrun or PATH."
61 }
62 ]
63 },
64 {
65 "type": "section",
66 "title": "Language Server",
67 "description": "Controls for the ZLS integration.",
68 "children": [
69 {
70 "key": "at.dcz.nova-zig.zls.enabled",
71 "title": "Enable ZLS",
72 "type": "boolean",
73 "default": true,
74 "description": "Enable diagnostics, completion, navigation, and other language-server features."
75 },
76 {
77 "key": "at.dcz.nova-zig.zls.build-on-save",
78 "title": "Build On Save",
79 "type": "boolean",
80 "default": false,
81 "description": "Allow ZLS to run its build/check runner on save when the workspace is a Zig project."
82 },
83 {
84 "key": "at.dcz.nova-zig.zls.debug",
85 "title": "Debug Server Messages",
86 "type": "boolean",
87 "default": false,
88 "description": "Log ZLS traffic to the Extension Console while developing the extension."
89 }
90 ]
91 }
92 ],
93 "configWorkspace": [
94 {
95 "type": "section",
96 "title": "Tooling",
97 "description": "Workspace-specific overrides for Zig and ZLS executable paths.",
98 "children": [
99 {
100 "key": "at.dcz.nova-zig.toolchain.zig-path",
101 "title": "Zig Executable",
102 "type": "path",
103 "placeholder": "zig",
104 "description": "Absolute path to the Zig executable."
105 },
106 {
107 "key": "at.dcz.nova-zig.toolchain.zls-path",
108 "title": "ZLS Executable",
109 "type": "path",
110 "placeholder": "zls",
111 "description": "Absolute path to the ZLS language server executable."
112 },
113 {
114 "key": "at.dcz.nova-zig.toolchain.lldb-dap-path",
115 "title": "LLDB DAP Executable",
116 "type": "path",
117 "placeholder": "lldb-dap",
118 "description": "Absolute path to the lldb-dap executable. Leave blank to discover it via xcrun or PATH."
119 }
120 ]
121 },
122 {
123 "type": "section",
124 "title": "Language Server",
125 "description": "Workspace-specific language server settings.",
126 "children": [
127 {
128 "key": "at.dcz.nova-zig.zls.enabled",
129 "title": "Enable ZLS",
130 "type": "boolean",
131 "description": "Enable diagnostics, completion, navigation, and other language-server features."
132 },
133 {
134 "key": "at.dcz.nova-zig.zls.build-on-save",
135 "title": "Build On Save",
136 "type": "boolean",
137 "description": "Allow ZLS to run its build/check runner on save when the workspace is a Zig project."
138 },
139 {
140 "key": "at.dcz.nova-zig.zls.debug",
141 "title": "Debug Server Messages",
142 "type": "boolean",
143 "description": "Log ZLS traffic to the Extension Console while developing the extension."
144 }
145 ]
146 }
147 ],
148 "issueMatchers": {
149 "zig.compiler": {
150 "pattern": [
151 {
152 "regexp": "^(.+?):(\\d+):(\\d+):\\s*(error|warning):\\s*(.+)$",
153 "file": 1,
154 "line": 2,
155 "column": 3,
156 "severity": 4,
157 "message": 5
158 }
159 ]
160 }
161 },
162 "taskTemplates": {
163 "zigBuildRun": {
164 "name": "Zig Package",
165 "description": "Build and run a Zig package from one Nova task configuration.",
166 "tasks": {
167 "build": {
168 "resolve": "at.dcz.nova-zig.tasks",
169 "data": {
170 "type": "build"
171 }
172 },
173 "run": {
174 "resolve": "at.dcz.nova-zig.tasks",
175 "data": {
176 "type": "build-run"
177 }
178 },
179 "clean": {
180 "resolve": "at.dcz.nova-zig.tasks",
181 "data": {
182 "type": "clean"
183 }
184 }
185 },
186 "config": [
187 {
188 "key": "cwd",
189 "title": "Working Directory",
190 "type": "path",
191 "allowFiles": false,
192 "allowFolders": true,
193 "relative": true,
194 "placeholder": "Workspace Root"
195 },
196 {
197 "key": "runStep",
198 "title": "Run Step",
199 "type": "string",
200 "default": "run",
201 "placeholder": "run",
202 "description": "The `zig build` step to execute for the Run action."
203 },
204 {
205 "key": "buildArgs",
206 "title": "Build Arguments",
207 "type": "stringArray",
208 "description": "Additional arguments appended after `zig build` for both Build and Run."
209 },
210 {
211 "key": "runArgs",
212 "title": "Program Arguments",
213 "type": "stringArray",
214 "description": "Arguments passed after `--` to the built program."
215 }
216 ]
217 },
218 "zigBuildRunTerminal": {
219 "name": "Zig Package (macOS Terminal)",
220 "description": "Build a Zig package and run it in the external macOS Terminal app.",
221 "tasks": {
222 "build": {
223 "resolve": "at.dcz.nova-zig.tasks",
224 "data": {
225 "type": "build"
226 }
227 },
228 "run": {
229 "resolve": "at.dcz.nova-zig.tasks",
230 "data": {
231 "type": "build-run-terminal"
232 }
233 },
234 "clean": {
235 "resolve": "at.dcz.nova-zig.tasks",
236 "data": {
237 "type": "clean"
238 }
239 }
240 },
241 "config": [
242 {
243 "key": "cwd",
244 "title": "Working Directory",
245 "type": "path",
246 "allowFiles": false,
247 "allowFolders": true,
248 "relative": true,
249 "placeholder": "Workspace Root"
250 },
251 {
252 "key": "runStep",
253 "title": "Run Step",
254 "type": "string",
255 "default": "run",
256 "placeholder": "run",
257 "description": "The `zig build` step to execute for the Run action."
258 },
259 {
260 "key": "buildArgs",
261 "title": "Build Arguments",
262 "type": "stringArray",
263 "description": "Additional arguments appended after `zig build` for both Build and Run."
264 },
265 {
266 "key": "runArgs",
267 "title": "Program Arguments",
268 "type": "stringArray",
269 "description": "Arguments passed after `--` to the built program."
270 }
271 ]
272 },
273 "zigDebug": {
274 "name": "Zig Debug",
275 "description": "Build a Zig package in Debug mode and launch it under lldb-dap.",
276 "tasks": {
277 "build": {
278 "resolve": "at.dcz.nova-zig.tasks",
279 "data": {
280 "type": "build-debug"
281 }
282 },
283 "run": {
284 "resolve": "at.dcz.nova-zig.tasks",
285 "buildBeforeRunning": true,
286 "data": {
287 "type": "debug"
288 }
289 },
290 "clean": {
291 "resolve": "at.dcz.nova-zig.tasks",
292 "data": {
293 "type": "clean"
294 }
295 }
296 },
297 "config": [
298 {
299 "key": "cwd",
300 "title": "Working Directory",
301 "type": "path",
302 "allowFiles": false,
303 "allowFolders": true,
304 "relative": true,
305 "placeholder": "Workspace Root"
306 },
307 {
308 "key": "programPath",
309 "title": "Program",
310 "type": "path",
311 "allowFiles": true,
312 "allowFolders": false,
313 "relative": true,
314 "placeholder": "zig-out/bin/app",
315 "description": "Path to the executable to debug. Relative paths are resolved against the working directory."
316 },
317 {
318 "key": "buildArgs",
319 "title": "Build Arguments",
320 "type": "stringArray",
321 "description": "Additional arguments appended after `zig build -Doptimize=Debug`."
322 },
323 {
324 "key": "runArgs",
325 "title": "Program Arguments",
326 "type": "stringArray",
327 "description": "Arguments passed to the debugged program."
328 },
329 {
330 "key": "console",
331 "title": "Console",
332 "type": "enum",
333 "default": "internalConsole",
334 "values": [
335 ["internalConsole", "Internal Console"],
336 ["integratedTerminal", "Integrated Terminal"],
337 ["externalTerminal", "External Terminal"]
338 ],
339 "description": "Where the debugged program should run."
340 },
341 {
342 "key": "stopOnEntry",
343 "title": "Stop On Entry",
344 "type": "boolean",
345 "default": false,
346 "description": "Pause immediately when the program starts."
347 }
348 ]
349 }
350 }
351}