summaryrefslogtreecommitdiff
path: root/internal/askcli/command_info_add.go
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-03-22 20:38:55 +0200
committerPaul Buetow <paul@buetow.org>2026-03-22 20:38:55 +0200
commitc3973eabd33cd2dd561acd180c9e5a3a77eba6e4 (patch)
treed3f5dead898d81775582ae8e4be368390b7300fe /internal/askcli/command_info_add.go
parent95081a322e45dc77c091767ed552c3d7df65e8c9 (diff)
internal/askcli: support priority:X and +tag args in ask add
Diffstat (limited to 'internal/askcli/command_info_add.go')
-rw-r--r--internal/askcli/command_info_add.go20
1 files changed, 18 insertions, 2 deletions
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
+}