aboutsummaryrefslogtreecommitdiff
path: root/main.ha
diff options
context:
space:
mode:
authorAutumn2026-08-23 12:33:35 +0100
committerAutumn2026-08-23 12:33:35 +0100
commitbbd5da30d369058ff11196d9da7603c928a3d919 (patch)
tree48889c1b0e5a422a05719250829552556f04dea7 /main.ha
parent4708d5e010f8e787a06d2ec3361d70756d03d75f (diff)
[bunnytask] check multiple to-do files
Diffstat (limited to 'main.ha')
-rw-r--r--main.ha18
1 files changed, 12 insertions, 6 deletions
diff --git a/main.ha b/main.ha
index 7833db8..f721c22 100644
--- a/main.ha
+++ b/main.ha
@@ -13,16 +13,22 @@ export fn main() void = {
};
defer lib::config_free(config);
- // TODO handle multiple todo files
- const todo_file = config.files[0];
+ const todo_files = config.files;
// load todos
- const todos = match (todo::open(todo_file)) {
- case let todos: []str => yield todos;
- case let err: fs::error => fmt::fatalf("Error opening {}: {}", todo_file, fs::strerror(err));
- };
+ let todos: []str = [];
defer strings::freeall(todos);
+ // TODO simplify this
+ for (let file .. todo_files) {
+ match (todo::open(file)) {
+ case let todo_items: []str =>
+ for (let todo .. todo_items) append(todos, todo)!;
+ free(todo_items);
+ case let err: fs::error => fmt::fatalf("Error opening {}: {}", file, fs::strerror(err));
+ };
+ };
+
// print todos
fmt::println("To-dos:")!;