diff options
| author | Paul Buetow <paul@buetow.org> | 2026-03-27 06:23:24 +0200 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-03-27 06:23:24 +0200 |
| commit | 2edeaa610553b667776010bf2e9f5596aaa8ddbd (patch) | |
| tree | b32b5c3946061f3e06ae274b5c4260358985f04f /internal/askcli/command_complete_uuids.go | |
| parent | 6b964400deb653d2c47aa8932ab5444346833b0d (diff) | |
task 73fabcf6-d4a1-4bf3-aae1-a390a734e517: extend ask selector completion
Diffstat (limited to 'internal/askcli/command_complete_uuids.go')
| -rw-r--r-- | internal/askcli/command_complete_uuids.go | 19 |
1 files changed, 16 insertions, 3 deletions
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 } |
