diff options
| author | demo <demo@antix1> | 2026-05-29 11:40:56 -0400 |
|---|---|---|
| committer | demo <demo@antix1> | 2026-05-29 11:56:15 -0400 |
| commit | 32f2ce19cc5e96cf34c8be1da9308412a4010383 (patch) | |
| tree | 7a613156ae31701124eead2dfa4499b1cd7a4c49 /main.go | |
| parent | 84be938756a0a6163ff752b1e1547631d2f7a5b3 (diff) | |
feat: add an "undo" command
This puts a task back in the TODO state.
Some refactoring here lets us reuse the same code for handling both
cmdDo and cmdUndo.
Diffstat (limited to 'main.go')
| -rw-r--r-- | main.go | 19 |
1 files changed, 19 insertions, 0 deletions
@@ -82,6 +82,25 @@ func main() { }, }, { + Name: "undo", + Aliases: []string{"u"}, + Usage: "reset a task on the list", + Arguments: []cli.Argument{ + &cli.IntArg{ + Name: "taskIndex", + }, + }, + Action: func(ctx context.Context, cmd *cli.Command) error { + taskIndex := cmd.IntArg("taskIndex") + + if taskIndex <= 0 { + return fmt.Errorf("invalid 'undo' argument: %d", taskIndex) + } + + return ctrl.cmdUndo(taskIndex) + }, + }, + { Name: "list", Aliases: []string{"l"}, Usage: "list pending tasks", |
