feat: improved parsing and regression test suite

This commit is contained in:
Brett Broadhurst 2026-02-27 18:07:02 -07:00
parent 4ebdd3c66e
commit 619eb3b338
Failed to generate hash of commit
39 changed files with 1116 additions and 339 deletions

View file

@ -4,8 +4,8 @@ pub const Ast = @import("Ast.zig");
pub const Story = struct {
pub const LoadOptions = struct {
stream_writer: *std.Io.Writer,
use_color: bool = true,
dump_writer: *std.Io.Writer,
dump_use_color: bool = true,
};
pub fn loadFromString(
@ -20,12 +20,12 @@ pub const Story = struct {
var ast = try Ast.parse(gpa, arena, source_bytes, "<STDIN>", 0);
defer ast.deinit(gpa);
try ast.render(gpa, options.stream_writer, .{
.use_color = options.use_color,
try ast.render(gpa, options.dump_writer, .{
.use_color = options.dump_use_color,
});
if (ast.errors.len > 0) {
try ast.renderErrors(gpa, options.stream_writer, .{
.use_color = options.use_color,
try ast.renderErrors(gpa, options.dump_writer, .{
.use_color = options.dump_use_color,
});
return error.Invalid;
}