From f9e2a3a24210fbf45e11948bec1eccd1d53ac401 Mon Sep 17 00:00:00 2001 From: Julian Hurst Date: Fri, 15 Nov 2024 21:54:00 +0100 Subject: Add debug flag (-d) --- config.ha | 9 +++++++++ hatask.ha | 8 ++++++++ 2 files changed, 17 insertions(+) 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)); -- cgit v1.2.3