diff options
Diffstat (limited to 'src/main.zig')
| -rw-r--r-- | src/main.zig | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/main.zig b/src/main.zig index 9e86d03..faeb534 100644 --- a/src/main.zig +++ b/src/main.zig @@ -2,11 +2,20 @@ const std = @import("std"); const zisp = @import("zisp"); +const gstIo = std.Io.Threaded.global_single_threaded.io(); + pub fn main() !void { - const reader = std.io.getStdIn().reader().any(); - const writer = std.io.getStdOut().writer().any(); + var stdin_buffer: [4096]u8 = undefined; + var stdin_reader = std.Io.File.stdin().reader(gstIo, &stdin_buffer); + const reader = &stdin_reader.interface; + + var stdout_buffer: [4096]u8 = undefined; + var stdout_writer = std.Io.File.stdout().writer(gstIo, &stdout_buffer); + const writer = &stdout_writer.interface; + while (true) { try writer.writeAll("> "); + try writer.flush(); const datum = zisp.io.parser.parse(reader); if (datum.eq(zisp.value.eof)) { try writer.writeAll("\n"); @@ -15,5 +24,6 @@ pub fn main() !void { try writer.writeAll("= "); try zisp.io.unparser.unparse(writer, datum); try writer.writeAll("\n"); + try writer.flush(); } } |
