diff options
| author | Paul Buetow <paul@buetow.org> | 2026-03-22 19:45:02 +0200 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-03-22 19:45:02 +0200 |
| commit | 97cb0462aad67bf1e9558b340f5ef2f5a72eb662 (patch) | |
| tree | a0c3a7912adbe05c75c9a6d290667976d7054149 /internal/askcli/command_delete.go | |
| parent | 3f06d7dadb83d78f0913b1c1c9a9297826e107b1 (diff) | |
Implement 'ask delete' subcommand: forward to Taskwarrior, suppress output, print UUID+success
Diffstat (limited to 'internal/askcli/command_delete.go')
| -rw-r--r-- | internal/askcli/command_delete.go | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/internal/askcli/command_delete.go b/internal/askcli/command_delete.go new file mode 100644 index 0000000..1da0498 --- /dev/null +++ b/internal/askcli/command_delete.go @@ -0,0 +1,26 @@ +package askcli + +import ( + "bytes" + "context" + "io" +) + +func (d Dispatcher) handleDelete(ctx context.Context, args []string, stdout, stderr io.Writer) (int, error) { + if len(args) < 2 { + io.WriteString(stderr, "error: ask delete requires a UUID argument\n") + return 1, nil + } + uuid := args[1] + if IsNumericID(uuid) { + io.WriteString(stderr, RejectNumericID()) + return 1, nil + } + var outBuf bytes.Buffer + code, err := d.runner.Run(ctx, []string{"delete", uuid}, nil, &outBuf, io.Discard) + if code != 0 { + return code, err + } + io.WriteString(stdout, FormatSuccess(uuid)) + return 0, nil +} |
