aboutsummaryrefslogtreecommitdiff
path: root/src/main.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.zig')
-rw-r--r--src/main.zig45
1 files changed, 17 insertions, 28 deletions
diff --git a/src/main.zig b/src/main.zig
index 5fe26db..f55935d 100644
--- a/src/main.zig
+++ b/src/main.zig
@@ -2,48 +2,37 @@ const std = @import("std");
const IO = @import("frontend/ncurses.zig").IO;
const Action = @import("actions.zig").Action;
-pub fn main() u8 {
- var gpa = std.heap.GeneralPurposeAllocator(.{}){};
- const allocator = gpa.allocator();
- var io = IO.init(allocator) catch |err| {
- std.log.err("{}", .{err});
- return 1;
- };
- defer io.deinit();
+fn run(allocator: std.mem.Allocator) !void {
+ var io = try IO.init(allocator);
+ defer {
+ io.deinit();
+ }
- io.displayMessage("Initialized") catch {
- return 1;
- };
+ try io.displayMessage("Initialized");
var action = Action.illegal;
var tick_count: usize = 0;
while (action != Action.exit) {
- const str = std.fmt.allocPrint(allocator, "{}", .{tick_count}) catch {
- return 1;
- };
+ const str = try std.fmt.allocPrint(allocator, "{}", .{tick_count});
defer allocator.free(str);
- io.displayMessage(str) catch {
- return 1;
- };
+ try io.displayMessage(str);
- action = io.waitForTick() catch {
- return 1;
- };
+ action = try io.waitForTick();
switch (action) {
Action.tick => {
- const str2 = std.fmt.allocPrint(allocator, "{}", .{tick_count}) catch {
- return 1;
- };
- defer allocator.free(str2);
- io.displayMessage(str2) catch {
- return 1;
- };
-
tick_count += 1;
},
else => {},
}
}
+}
+
+pub fn main() u8 {
+ var gpa = std.heap.GeneralPurposeAllocator(.{}){};
+ const allocator = gpa.allocator();
+ run(allocator) catch {
+ return 1;
+ };
return 0;
}