X-Git-Url: https://git.giacomolli.uk/onechat/blobdiff_plain/f6f0febc2c599ed7bb2a2653215a74d8de1abace..8707a09fee94c97e29d668d24fb9713373913e0b:/command.go?ds=inline diff --git a/command.go b/command.go index a49f1d9..fefb662 100644 --- a/command.go +++ b/command.go @@ -48,25 +48,50 @@ func parseCommand(ctx context.Context, args []string) error { case len(args) == 1 && args[0] == "login": err := chatgptLogin(ctx, os.Stdout) if err != nil { - return err + return fmt.Errorf("log in: %w", err) } // A signal is the normal stop of the daemon and the client, so their // result does not include ctx.Err(). case len(args) == 1 && args[0] == "daemon": - return daemon(ctx, os.Stdout) + err := daemon(ctx, os.Stdout) + if err != nil { + return fmt.Errorf("run daemon: %w", err) + } + + return nil case len(args) == 0 || len(args) == 1 && args[0] == "chat": - return terminal(ctx, os.Stdin, os.Stdout) + err := terminal(ctx, os.Stdin, os.Stdout) + if err != nil { + return fmt.Errorf("run terminal: %w", err) + } + + return nil case len(args) == 2 && args[0] == "backup": - return backup(ctx, args[1], os.Stdout) + err := backup(ctx, args[1], os.Stdout) + if err != nil { + return fmt.Errorf("run backup: %w", err) + } + + return nil case len(args) == 2 && args[0] == "restore": - return restore(ctx, args[1], os.Stdout) + err := restore(ctx, args[1], os.Stdout) + if err != nil { + return fmt.Errorf("run restore: %w", err) + } + + return nil case len(args) > 0 && args[0] == "import": - return whatsappImport(ctx, args[1:], os.Stdout) + err := whatsappImport(ctx, args[1:], os.Stdout) + if err != nil { + return fmt.Errorf("import WhatsApp history: %w", err) + } + + return nil case len(args) > 0 && args[0] == "probe": err := probe(ctx, args[1:], os.Stdout) if err != nil { - return err + return fmt.Errorf("run probe: %w", err) } default: return fmt.Errorf("unknown command %q\n\n%s", strings.Join(args, " "), strings.TrimSuffix(usage, "\n"))