aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config.ha9
-rw-r--r--hatask.ha8
2 files changed, 17 insertions, 0 deletions
diff --git a/config.ha b/config.ha
index b70341a..b959fd5 100644
--- a/config.ha
+++ b/config.ha
@@ -5,6 +5,7 @@ use os;
use fs;
use strings;
use io;
+use fmt;
type config = struct {
tasksdir: str,
@@ -59,3 +60,11 @@ fn strcerror(e: cerror) str = {
abort();
};
};
+
+fn printconfig(cfg: config) void = {
+ fmt::errorln(cfg.tasksdir)!;
+ fmt::errorln(cfg.context)!;
+ for (const tag .. cfg.tags) {
+ fmt::errorln(tag)!;
+ };
+};
diff --git a/hatask.ha b/hatask.ha
index a5d9141..69d89b2 100644
--- a/hatask.ha
+++ b/hatask.ha
@@ -174,6 +174,7 @@ export fn main() void = {
('c', "context", "context filter"),
('t', "tags", "tags filter"),
('p', "sort by priority"),
+ ('d', "activate debug mode"),
("filter", ["filter tasks", "id"]: []getopt::help),
("f", ["filter tasks", "id"]: []getopt::help),
("show", ["show task details", "id"]: []getopt::help),
@@ -205,6 +206,7 @@ export fn main() void = {
defer cfinish(&cfg);
const sortfn: *sort::cmpfunc = &sortname;
+ let debug = false;
for (let opt .. cmd.opts) {
switch (opt.0) {
case 'f' =>
@@ -215,11 +217,17 @@ export fn main() void = {
cfg.tags = strings::dupall(strings::split(opt.1, ","));
case 'p' =>
sortfn = &sortpriority;
+ case 'd' =>
+ debug = true;
case =>
abort();
};
};
+ if (debug) {
+ printconfig(cfg);
+ };
+
const tasks = match (listtasks(cfg.tasksdir, cfg.context)) {
case let e: rtaskerror =>
fmt::fatal(strrtaskerror(e));