From 7c53a272a7dfcdf54617ee306268f31f46e96111 Mon Sep 17 00:00:00 2001 From: "Lucas F." Date: Sat, 17 Jan 2026 20:32:11 -0300 Subject: [PATCH] update: debugNodes function to display nodes content --- src/parser.zig | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/src/parser.zig b/src/parser.zig index e587a51..ef075ef 100644 --- a/src/parser.zig +++ b/src/parser.zig @@ -943,6 +943,35 @@ pub const Parser = struct { return .{ .template = template }; } + pub fn debugNodes(self: Parser, data: struct { + nodes: []Node, + name: ?[]const u8 = null, + }) void { + _ = self; + var prefix: []const u8 = ""; + + if (data.name) |name| { + prefix = " - "; + std.debug.print("{s}:\n", .{name}); + } + + for (data.nodes) |node| { + if (node.type == .tag) { + if (node.type == .tag and node.tag.?.kind == .block) { + std.debug.print("{s}tag: {any}, name: {s}\n", .{ prefix, node.tag.?.kind, node.tag.?.body.block.name }); + } else { + std.debug.print("{s}tag: {any}\n", .{ prefix, node.tag.?.kind }); + } + } + if (node.type == .text) { + std.debug.print("{s}text: {s}\n", .{ prefix, node.text.?.content }); + } + if (node.type == .variable) { + std.debug.print("{s}variable: {s}\n", .{ prefix, node.variable.?.expr }); + } + } + } + fn advance(self: *Parser, n: usize) void { self.pos += n; if (self.pos > self.template.len) self.pos = self.template.len;