authorgravatar for hello@nektro.netMeghan Denny <hello@nektro.net> 2026-05-31 23:43:43 -07:00
committergravatar for hello@nektro.netMeghan Denny <hello@nektro.net> 2026-06-01 02:22:54 -07:00
logd6a5f02589e46e5adab2b7b530b4c9e2c6ce4edb
treed5ef5a28915f584369e5ad8eb2da3a386b6accc2
parent79f550e35d12a4536aaf3defffaa497de9fa5de0
signaturebadge-check Signed by SSH key SHA256:4hHJbtBRU58AYXwjL7fkz2fnQHdiye8x1QpTCQ0sHNw

update to zig 0.15.2


2 files changed, 12 insertions(+), 12 deletions(-)

README.md+1-1
......@@ -3,7 +3,7 @@
33![loc](https://sloc.xyz/github/nektro/zig-pek)
44[![license](https://img.shields.io/github/license/nektro/zig-pek.svg)](https://github.com/nektro/zig-pek/blob/master/LICENSE)
55[![nektro @ github sponsors](https://img.shields.io/badge/sponsors-nektro-purple?logo=github)](https://github.com/sponsors/nektro)
6[![Zig](https://img.shields.io/badge/Zig-0.14-f7a41d)](https://ziglang.org/)
6[![Zig](https://img.shields.io/badge/Zig-0.15-f7a41d)](https://ziglang.org/)
77[![Zigmod](https://img.shields.io/badge/Zigmod-latest-f7a41d)](https://github.com/nektro/zigmod)
88
99A comptime HTML preprocessor with a builtin template engine for Zig.
src/lib.zig+11-11
......@@ -40,7 +40,7 @@ pub fn compileInner(alloc: std.mem.Allocator, writer: anytype, comptime value: a
4040 try do(alloc, writer, value, data, data, opts);
4141}
4242
43pub const Writer = std.ArrayList(u8).Writer;
43pub const Writer = *std.Io.Writer;
4444
4545fn do(alloc: std.mem.Allocator, writer: anytype, comptime value: astgen.Value, data: anytype, ctx: anytype, comptime opts: DoOptions) anyerror!void {
4646 comptime var skipindent = false;
......@@ -297,33 +297,33 @@ fn doInner(alloc: std.mem.Allocator, writer: anytype, comptime value: astgen.Val
297297 .function => |v| {
298298 if (!v.raw and @hasDecl(opts.Ctx, "pek_" ++ v.name)) {
299299 const func = @field(opts.Ctx, "pek_" ++ v.name);
300 var list = std.ArrayList(u8).init(alloc);
300 var list = std.Io.Writer.Allocating.init(alloc);
301301 defer list.deinit();
302302 comptime var types: [v.args.len]type = @splat(void);
303303 inline for (v.args, &types) |arg, *T| T.* = ResolveArg(arg, @TypeOf(data), @TypeOf(ctx));
304304 var args: std.meta.Tuple(&types) = undefined;
305305 inline for (v.args, 0..) |arg, i| args[i] = try resolveArg(arg, alloc, data, ctx, opts);
306 try @call(.auto, func, .{ alloc, list.writer() } ++ args);
306 try @call(.auto, func, .{ alloc, &list.writer } ++ args);
307307 try writeReplacementString(writer, v.raw, opts.escaped, try list.toOwnedSlice());
308308 return;
309309 }
310310 if (v.raw and @hasDecl(opts.Ctx, "pek__" ++ v.name)) {
311311 const func = @field(opts.Ctx, "pek__" ++ v.name);
312 var list = std.ArrayList(u8).init(alloc);
312 var list = std.Io.Writer.Allocating.init(alloc);
313313 defer list.deinit();
314314 const Tup = @typeInfo(@TypeOf(func)).@"fn".params[3].type.?;
315315 if (@typeInfo(Tup).@"struct".fields.len == 0) {
316316 // edge case branch because 'struct {}' is counted as a non-tuple
317 try @call(.auto, func, .{ alloc, list.writer(), opts, Tup{} });
318 try writeReplacementString(writer, v.raw, opts.escaped, list.items);
317 try @call(.auto, func, .{ alloc, &list.writer, opts, Tup{} });
318 try writeReplacementString(writer, v.raw, opts.escaped, list.written());
319319 return;
320320 }
321321 comptime var types: [v.args.len]type = @splat(void);
322322 inline for (v.args, &types) |arg, *T| T.* = ResolveArg(arg, @TypeOf(data), @TypeOf(ctx));
323323 var args: std.meta.Tuple(&types) = undefined;
324324 inline for (v.args, 0..) |arg, i| args[i] = try resolveArg(arg, alloc, data, ctx, opts);
325 try @call(.auto, func, .{ alloc, list.writer(), opts, args });
326 try writeReplacementString(writer, v.raw, opts.escaped, list.items);
325 try @call(.auto, func, .{ alloc, &list.writer, opts, args });
326 try writeReplacementString(writer, v.raw, opts.escaped, list.written());
327327 return;
328328 }
329329 if (v.raw and @hasDecl(opts.Ctx, "pek_" ++ v.name)) {
......@@ -352,11 +352,11 @@ fn resolveArg(comptime arg: astgen.Arg, alloc: std.mem.Allocator, data: anytype,
352352 .lookup => |av| search(av, ctx),
353353 .int => |av| av,
354354 .value => |av| {
355 var list = std.ArrayList(u8).init(alloc);
355 var list = std.Io.Writer.Allocating.init(alloc);
356356 comptime var newopts = opts;
357357 newopts.escaped = false;
358 try do(alloc, list.writer(), astgen.Value{ .body = av }, data, ctx, newopts);
359 return list.items;
358 try do(alloc, &list.writer, astgen.Value{ .body = av }, data, ctx, newopts);
359 return list.written();
360360 },
361361 };
362362}