From 2edeaa610553b667776010bf2e9f5596aaa8ddbd Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Fri, 27 Mar 2026 06:23:24 +0200 Subject: task 73fabcf6-d4a1-4bf3-aae1-a390a734e517: extend ask selector completion --- internal/askcli/command_complete_uuids.go | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) (limited to 'internal/askcli/command_complete_uuids.go') diff --git a/internal/askcli/command_complete_uuids.go b/internal/askcli/command_complete_uuids.go index 755c3bb..8d37a80 100644 --- a/internal/askcli/command_complete_uuids.go +++ b/internal/askcli/command_complete_uuids.go @@ -18,14 +18,27 @@ func (d Dispatcher) handleCompleteUUIDs(ctx context.Context, stdout, stderr io.W fmt.Fprintf(stderr, "error: failed to parse task data: %v\n", err) return 1, nil } - if _, err := ensureTaskAliases(tasks); err != nil { + aliases, err := ensureTaskAliases(tasks) + if err != nil { fmt.Fprintf(stderr, "warning: failed to update task alias cache: %v\n", err) + aliases = nil + } + for _, selector := range taskCompletionSelectors(tasks, aliases) { + _, _ = io.WriteString(stdout, selector+"\n") } + return 0, nil +} + +func taskCompletionSelectors(tasks []TaskExport, aliases map[string]string) []string { + selectors := make([]string, 0, len(tasks)*2) for _, task := range tasks { if task.UUID == "" { continue } - _, _ = io.WriteString(stdout, task.UUID+"\n") + if alias := displayTaskAlias(task.UUID, aliases); alias != "" && alias != task.UUID { + selectors = append(selectors, alias) + } + selectors = append(selectors, task.UUID) } - return 0, nil + return selectors } -- cgit v1.2.3