diff options
| author | Robert Günzler <r@gnzler.io> | 2026-10-02 10:28:31 +0200 |
|---|---|---|
| committer | Robert Günzler <r@gnzler.io> | 2026-10-02 10:39:48 +0200 |
| commit | 4cd641e4ffe028b9ca694a4ca1533d8c1752d256 (patch) | |
| tree | 5c3381605eecc023225d2f4bff063242b2278d42 /src/main.zig | |
| parent | 2ccea4e0a128225ab6877aa3b9ffebef9f81e213 (diff) | |
| download | site-4cd641e4ffe028b9ca694a4ca1533d8c1752d256.tar.gz | |
handle more than one template string per line
Signed-off-by: Robert Günzler <r@gnzler.io>
Diffstat (limited to 'src/main.zig')
| -rw-r--r-- | src/main.zig | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/main.zig b/src/main.zig index 7a90f95..097252f 100644 --- a/src/main.zig +++ b/src/main.zig @@ -736,16 +736,17 @@ const Builder = struct { var offset: usize = 0; parseLn: while (true) { if (std.mem.findPos(u8, line, offset, DELIM_START)) |start| { - if (std.mem.findPos(u8, line, offset + start + 1, DELIM_END)) |end| { + if (std.mem.findPos(u8, line, start + 1, DELIM_END)) |end| { + // write out beginning of chunk try w.writeAll(line[offset..start]); // do templating - const ref_name = line[(offset + start + DELIM_START.len)..end]; + const ref_name = line[(start + DELIM_START.len)..end]; try self.template(io, gpa, ref_name, w, self.source.fd.handle == source.fd.handle); // advance offset - offset += end + DELIM_END.len; + offset = end + DELIM_END.len; } else break :parseLn; } else break :parseLn; } |