summaryrefslogtreecommitdiff
path: root/src/main.zig
diff options
context:
space:
mode:
authorTaylan Kammer <taylan.kammer@gmail.com>2026-01-06 07:45:07 +0100
committerTaylan Kammer <taylan.kammer@gmail.com>2026-01-06 07:45:07 +0100
commit75185f9fa26b5fc49036008df16c8bb4f1a51a13 (patch)
treecb4f7a260f4e83bfbff302a926e12df2ae7007fa /src/main.zig
parente24978c647188c9b80563b535462a794e6eaa52b (diff)
Writergate, other 0.16 changes, and test fixes for new grammar.
Diffstat (limited to 'src/main.zig')
-rw-r--r--src/main.zig14
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();
}
}