aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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:")!;