aboutsummaryrefslogtreecommitdiff
path: root/cmd.ha
diff options
context:
space:
mode:
Diffstat (limited to 'cmd.ha')
-rw-r--r--cmd.ha16
1 files changed, 16 insertions, 0 deletions
diff --git a/cmd.ha b/cmd.ha
index 4c85b0a..d22c70c 100644
--- a/cmd.ha
+++ b/cmd.ha
@@ -32,6 +32,10 @@ const commands: [_]command = [
func = &show,
},
command {
+ names = ["a", "add"],
+ func = &add,
+ },
+ command {
names = ["w", "write"],
func = &write,
},
@@ -55,6 +59,18 @@ fn execcommand(cfg: config, name: str, tasks: []task, args: arguments) (void | e
};
};
+fn add(cfg: config, tasks: []task, a: arguments) (void | task | error) = {
+ const args = a.args;
+ if (len(args) != 1z) {
+ getopt::printhelp(os::stderr, "write", a.help)?;
+ return;
+ };
+
+ let buf = path::init(cfg.tasksdir, args[0])?;
+ const c = exec::cmd("vim", path::string(&buf))?;
+ exec::exec(&c);
+};
+
fn write(cfg: config, tasks: []task, a: arguments) (void | task | error) = {
const args = a.args;
if (len(args) != 1z) {