update: debugNodes function to display nodes content

This commit is contained in:
Lucas F. 2026-01-17 20:32:11 -03:00
parent 44fb897a41
commit 7c53a272a7

View file

@ -943,6 +943,35 @@ pub const Parser = struct {
return .{ .template = template }; 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 { fn advance(self: *Parser, n: usize) void {
self.pos += n; self.pos += n;
if (self.pos > self.template.len) self.pos = self.template.len; if (self.pos > self.template.len) self.pos = self.template.len;