From c3973eabd33cd2dd561acd180c9e5a3a77eba6e4 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Sun, 22 Mar 2026 20:38:55 +0200 Subject: internal/askcli: support priority:X and +tag args in ask add --- internal/askcli/command_info_add.go | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) (limited to 'internal/askcli/command_info_add.go') diff --git a/internal/askcli/command_info_add.go b/internal/askcli/command_info_add.go index 1c937f5..477ad62 100644 --- a/internal/askcli/command_info_add.go +++ b/internal/askcli/command_info_add.go @@ -36,9 +36,12 @@ func (d Dispatcher) handleAdd(ctx context.Context, args []string, stdout, stderr io.WriteString(stderr, "error: ask add requires a description\n") return 1, nil } - description := strings.Join(args[1:], " ") + modifiers, description := parseAddArgs(args[1:]) var outBuf bytes.Buffer - code, err := d.runner.Run(ctx, []string{"add", description}, nil, &outBuf, stderr) + taskArgs := []string{"add"} + taskArgs = append(taskArgs, modifiers...) + taskArgs = append(taskArgs, description) + code, err := d.runner.Run(ctx, taskArgs, nil, &outBuf, stderr) if code != 0 { return code, err } @@ -50,3 +53,16 @@ func (d Dispatcher) handleAdd(ctx context.Context, args []string, stdout, stderr io.WriteString(stdout, createdUUID+"\n") return 0, nil } + +func parseAddArgs(args []string) (modifiers []string, description string) { + for i, arg := range args { + if strings.HasPrefix(arg, "priority:") || strings.HasPrefix(arg, "+") || strings.HasPrefix(arg, "-") { + modifiers = append(modifiers, arg) + } else { + description = strings.Join(args[i:], " ") + return + } + } + description = strings.Join(args, " ") + return +} -- cgit v1.2.3