diff options
| author | Paul Buetow <paul@buetow.org> | 2026-03-26 23:45:09 +0200 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-03-26 23:45:09 +0200 |
| commit | b67069c110c210b05507fca839d45b43431f5e86 (patch) | |
| tree | aeabcb0a86ba2cb8e9732605f6fea85538b32454 /internal/askcli/command_write.go | |
| parent | d4bdc94f5b29a9baa8517acd2d363383e1e3ee53 (diff) | |
askcli: resolve aliases for selector task 0b9480fe-ec1b-4c0e-a8b0-88f1f08b56d3
Diffstat (limited to 'internal/askcli/command_write.go')
| -rw-r--r-- | internal/askcli/command_write.go | 96 |
1 files changed, 48 insertions, 48 deletions
diff --git a/internal/askcli/command_write.go b/internal/askcli/command_write.go index 64000d7..afa1475 100644 --- a/internal/askcli/command_write.go +++ b/internal/askcli/command_write.go @@ -12,18 +12,18 @@ func (d Dispatcher) handleDenotate(ctx context.Context, args []string, stdout, s io.WriteString(stderr, "error: ask denotate requires a UUID and text argument\n") return 1, nil } - uuid := NormalizeUUID(args[1]) - if IsNumericID(uuid) { - io.WriteString(stderr, RejectNumericID()) - return 1, nil + resolved, _, code, err := d.resolveTaskSelector(ctx, args[1], stderr) + if err != nil { + writeInfoError(stderr, err) + return code, nil } text := args[2] var outBuf bytes.Buffer - code, err := d.runner.Run(ctx, []string{"uuid:" + uuid, "denotate", text}, nil, &outBuf, io.Discard) + code, err = d.runner.Run(ctx, []string{"uuid:" + resolved.UUID, "denotate", text}, nil, &outBuf, io.Discard) if code != 0 { return code, err } - io.WriteString(stdout, FormatSuccess(uuid)) + io.WriteString(stdout, FormatSuccess(resolved.UUID)) return 0, nil } @@ -32,18 +32,18 @@ func (d Dispatcher) handleModify(ctx context.Context, args []string, stdout, std io.WriteString(stderr, "error: ask modify requires a UUID and modification args\n") return 1, nil } - uuid := NormalizeUUID(args[1]) - if IsNumericID(uuid) { - io.WriteString(stderr, RejectNumericID()) - return 1, nil + resolved, _, code, err := d.resolveTaskSelector(ctx, args[1], stderr) + if err != nil { + writeInfoError(stderr, err) + return code, nil } modArgs := args[2:] var outBuf bytes.Buffer - code, err := d.runner.Run(ctx, append([]string{"uuid:" + uuid, "modify"}, modArgs...), nil, &outBuf, io.Discard) + code, err = d.runner.Run(ctx, append([]string{"uuid:" + resolved.UUID, "modify"}, modArgs...), nil, &outBuf, io.Discard) if code != 0 { return code, err } - io.WriteString(stdout, FormatSuccess(uuid)) + io.WriteString(stdout, FormatSuccess(resolved.UUID)) return 0, nil } @@ -52,18 +52,18 @@ func (d Dispatcher) handleAnnotate(ctx context.Context, args []string, stdout, s io.WriteString(stderr, "error: ask annotate requires a UUID and note argument\n") return 1, nil } - uuid := NormalizeUUID(args[1]) - if IsNumericID(uuid) { - io.WriteString(stderr, RejectNumericID()) - return 1, nil + resolved, _, code, err := d.resolveTaskSelector(ctx, args[1], stderr) + if err != nil { + writeInfoError(stderr, err) + return code, nil } note := strings.Join(args[2:], " ") var outBuf bytes.Buffer - code, err := d.runner.Run(ctx, []string{"uuid:" + uuid, "annotate", note}, nil, &outBuf, io.Discard) + code, err = d.runner.Run(ctx, []string{"uuid:" + resolved.UUID, "annotate", note}, nil, &outBuf, io.Discard) if code != 0 { return code, err } - io.WriteString(stdout, FormatSuccess(uuid)) + io.WriteString(stdout, FormatSuccess(resolved.UUID)) return 0, nil } @@ -72,19 +72,19 @@ func (d Dispatcher) handleStart(ctx context.Context, args []string, stdout, stde io.WriteString(stderr, "error: ask start requires a UUID argument\n") return 1, nil } - uuid := NormalizeUUID(args[1]) - if IsNumericID(uuid) { - io.WriteString(stderr, RejectNumericID()) - return 1, nil + resolved, _, code, err := d.resolveTaskSelector(ctx, args[1], stderr) + if err != nil { + writeInfoError(stderr, err) + return code, nil } var outBuf bytes.Buffer // uuid:<uuid> is used as the filter so taskwarrior selects the exact task; // the action verb follows the filter. - code, err := d.runner.Run(ctx, []string{"uuid:" + uuid, "start"}, nil, &outBuf, io.Discard) + code, err = d.runner.Run(ctx, []string{"uuid:" + resolved.UUID, "start"}, nil, &outBuf, io.Discard) if code != 0 { return code, err } - io.WriteString(stdout, FormatSuccess(uuid)) + io.WriteString(stdout, FormatSuccess(resolved.UUID)) return 0, nil } @@ -93,17 +93,17 @@ func (d Dispatcher) handleStop(ctx context.Context, args []string, stdout, stder io.WriteString(stderr, "error: ask stop requires a UUID argument\n") return 1, nil } - uuid := NormalizeUUID(args[1]) - if IsNumericID(uuid) { - io.WriteString(stderr, RejectNumericID()) - return 1, nil + resolved, _, code, err := d.resolveTaskSelector(ctx, args[1], stderr) + if err != nil { + writeInfoError(stderr, err) + return code, nil } var outBuf bytes.Buffer - code, err := d.runner.Run(ctx, []string{"uuid:" + uuid, "stop"}, nil, &outBuf, io.Discard) + code, err = d.runner.Run(ctx, []string{"uuid:" + resolved.UUID, "stop"}, nil, &outBuf, io.Discard) if code != 0 { return code, err } - io.WriteString(stdout, FormatSuccess(uuid)) + io.WriteString(stdout, FormatSuccess(resolved.UUID)) return 0, nil } @@ -112,17 +112,17 @@ func (d Dispatcher) handleDone(ctx context.Context, args []string, stdout, stder io.WriteString(stderr, "error: ask done requires a UUID argument\n") return 1, nil } - uuid := NormalizeUUID(args[1]) - if IsNumericID(uuid) { - io.WriteString(stderr, RejectNumericID()) - return 1, nil + resolved, _, code, err := d.resolveTaskSelector(ctx, args[1], stderr) + if err != nil { + writeInfoError(stderr, err) + return code, nil } var outBuf bytes.Buffer - code, err := d.runner.Run(ctx, []string{"uuid:" + uuid, "done"}, nil, &outBuf, io.Discard) + code, err = d.runner.Run(ctx, []string{"uuid:" + resolved.UUID, "done"}, nil, &outBuf, io.Discard) if code != 0 { return code, err } - io.WriteString(stdout, FormatSuccess(uuid)) + io.WriteString(stdout, FormatSuccess(resolved.UUID)) return 0, nil } @@ -131,18 +131,18 @@ func (d Dispatcher) handlePriority(ctx context.Context, args []string, stdout, s io.WriteString(stderr, "error: ask priority requires a UUID and priority (H/M/L)\n") return 1, nil } - uuid := NormalizeUUID(args[1]) - if IsNumericID(uuid) { - io.WriteString(stderr, RejectNumericID()) - return 1, nil + resolved, _, code, err := d.resolveTaskSelector(ctx, args[1], stderr) + if err != nil { + writeInfoError(stderr, err) + return code, nil } priority := args[2] var outBuf bytes.Buffer - code, err := d.runner.Run(ctx, []string{"uuid:" + uuid, "modify", "priority:" + priority}, nil, &outBuf, io.Discard) + code, err = d.runner.Run(ctx, []string{"uuid:" + resolved.UUID, "modify", "priority:" + priority}, nil, &outBuf, io.Discard) if code != 0 { return code, err } - io.WriteString(stdout, FormatSuccess(uuid)) + io.WriteString(stdout, FormatSuccess(resolved.UUID)) return 0, nil } @@ -151,17 +151,17 @@ func (d Dispatcher) handleTag(ctx context.Context, args []string, stdout, stderr io.WriteString(stderr, "error: ask tag requires a UUID and +/-tag\n") return 1, nil } - uuid := NormalizeUUID(args[1]) - if IsNumericID(uuid) { - io.WriteString(stderr, RejectNumericID()) - return 1, nil + resolved, _, code, err := d.resolveTaskSelector(ctx, args[1], stderr) + if err != nil { + writeInfoError(stderr, err) + return code, nil } tag := args[2] var outBuf bytes.Buffer - code, err := d.runner.Run(ctx, []string{"uuid:" + uuid, "modify", tag}, nil, &outBuf, io.Discard) + code, err = d.runner.Run(ctx, []string{"uuid:" + resolved.UUID, "modify", tag}, nil, &outBuf, io.Discard) if code != 0 { return code, err } - io.WriteString(stdout, FormatSuccess(uuid)) + io.WriteString(stdout, FormatSuccess(resolved.UUID)) return 0, nil } |
