aboutsummaryrefslogtreecommitdiff
path: root/todo
diff options
context:
space:
mode:
Diffstat (limited to 'todo')
-rw-r--r--todo/load.ha18
1 files changed, 18 insertions, 0 deletions
diff --git a/todo/load.ha b/todo/load.ha
new file mode 100644
index 0000000..4931c74
--- /dev/null
+++ b/todo/load.ha
@@ -0,0 +1,18 @@
+use fmt;
+use fs;
+
+export fn loadall(files: []str) ([]str | nomem) = {
+
+ let tasks: []str = [];
+
+ for (let file .. files) {
+ match (open(file)) {
+ case let file_tasks: []str =>
+ for (let task .. file_tasks) append(tasks, task)?;
+ free(file_tasks);
+ case let err: fs::error => fmt::fatalf("Error opening {}: {}", file, fs::strerror(err));
+ };
+ };
+
+ return tasks;
+};