From 2d35eeb40eee8beed7163f41afab279bce2976ef Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Fri, 27 Mar 2026 11:41:41 +0200 Subject: Implement command registry for askcli commands --- internal/askcli/dispatch.go | 45 ++++----------------------------------------- 1 file changed, 4 insertions(+), 41 deletions(-) (limited to 'internal/askcli/dispatch.go') diff --git a/internal/askcli/dispatch.go b/internal/askcli/dispatch.go index 142f7b4..c2c7aab 100644 --- a/internal/askcli/dispatch.go +++ b/internal/askcli/dispatch.go @@ -47,51 +47,14 @@ func (d *Dispatcher) Dispatch(ctx context.Context, args []string, stdin io.Reade d.jsonOutput = jsonOutput if len(args) == 0 { - return d.handleList(ctx, []string{"list"}, stdout, stderr) + args = []string{"list"} } subcommand := args[0] - switch subcommand { - case "info": - return d.handleInfo(ctx, args, stdout, stderr) - case "add": - return d.handleAdd(ctx, args, stdout, stderr) - case "list": - return d.handleList(ctx, args, stdout, stderr) - case "all": - return d.handleAll(ctx, args, stdout, stderr) - case "ready": - return d.handleReady(ctx, args, stdout, stderr) - case "dep": - return d.handleDep(ctx, args, stdout, stderr) - case "urgency": - return d.handleUrgency(ctx, stdout, stderr) - case "annotate": - return d.handleAnnotate(ctx, args, stdout, stderr) - case "start": - return d.handleStart(ctx, args, stdout, stderr) - case "stop": - return d.handleStop(ctx, args, stdout, stderr) - case "done": - return d.handleDone(ctx, args, stdout, stderr) - case "priority": - return d.handlePriority(ctx, args, stdout, stderr) - case "tag": - return d.handleTag(ctx, args, stdout, stderr) - case "modify": - return d.handleModify(ctx, args, stdout, stderr) - case "denotate": - return d.handleDenotate(ctx, args, stdout, stderr) - case "delete": - return d.handleDelete(ctx, args, stdin, stdout, stderr) - case "fish": - return d.handleFish(args, stdout, stderr) - case "help": - return d.help(stdout) - case "complete-uuids": - return d.handleCompleteUUIDs(ctx, stdout, stderr) - default: + entry, ok := commandRegistry.get(subcommand) + if !ok { return d.unknownCommand(stderr, subcommand) } + return entry.handler(d, ctx, args, stdin, stdout, stderr) } func (d *Dispatcher) help(w io.Writer) (int, error) { -- cgit v1.2.3