summaryrefslogtreecommitdiff
path: root/tools/gen_builtins_json.zig
diff options
context:
space:
mode:
Diffstat (limited to 'tools/gen_builtins_json.zig')
-rw-r--r--tools/gen_builtins_json.zig14
1 files changed, 14 insertions, 0 deletions
diff --git a/tools/gen_builtins_json.zig b/tools/gen_builtins_json.zig
new file mode 100644
index 00000000..71df5307
--- /dev/null
+++ b/tools/gen_builtins_json.zig
@@ -0,0 +1,14 @@
+//! Writes every builtin as JSON to the path given (docs/typ/builtins-<tty|gui>.json,
+//! by way of `zig build builtins-json`).
+const std = @import("std");
+const pardes = @import("pardes");
+
+pub fn main(init: std.process.Init) !void {
+ const args = try init.minimal.args.toSlice(init.arena.allocator());
+ var file = try std.Io.Dir.cwd().createFile(init.io, args[1], .{});
+ defer file.close(init.io);
+ var buf: [4096]u8 = undefined;
+ var w = file.writer(init.io, &buf);
+ try pardes.builtins_json.write(&w.interface);
+ try w.interface.flush();
+}