From 67904e925d2b33c48dda3d4ddaf158328964dc2e Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Tue, 25 Feb 2025 20:25:17 -0800 Subject: zig init: adjust template lang to allow zig fmt passthrough --- src/main.zig | 41 ++++++++++++++++++++++------------------- 1 file changed, 22 insertions(+), 19 deletions(-) (limited to 'src') diff --git a/src/main.zig b/src/main.zig index d22d682ded..3dc6155db6 100644 --- a/src/main.zig +++ b/src/main.zig @@ -7543,28 +7543,31 @@ const Templates = struct { }; templates.buffer.clearRetainingCapacity(); try templates.buffer.ensureUnusedCapacity(contents.len); - var state: enum { start, dollar } = .start; - for (contents) |c| switch (state) { - .start => switch (c) { - '$' => state = .dollar, - else => try templates.buffer.append(c), - }, - .dollar => switch (c) { - 'n' => { + var i: usize = 0; + while (i < contents.len) { + if (contents[i] == '.') { + if (std.mem.startsWith(u8, contents[i..], ".LITNAME")) { + try templates.buffer.append('.'); try templates.buffer.appendSlice(root_name); - state = .start; - }, - 'i' => { + i += ".LITNAME".len; + continue; + } else if (std.mem.startsWith(u8, contents[i..], ".NAME")) { + try templates.buffer.appendSlice(root_name); + i += ".NAME".len; + continue; + } else if (std.mem.startsWith(u8, contents[i..], ".NONCE")) { try templates.buffer.writer().print("0x{x}", .{nonce.int()}); - state = .start; - }, - 'v' => { + i += ".NONCE".len; + continue; + } else if (std.mem.startsWith(u8, contents[i..], ".ZIGVER")) { try templates.buffer.appendSlice(build_options.version); - state = .start; - }, - else => fatal("unknown substitution: ${c}", .{c}), - }, - }; + i += ".ZIGVER".len; + continue; + } + } + try templates.buffer.append(contents[i]); + i += 1; + } return out_dir.writeFile(.{ .sub_path = template_path, -- cgit v1.2.3