summaryrefslogtreecommitdiff
path: root/src/main.zig
diff options
context:
space:
mode:
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();
}
}