package cmd import ( "fmt" "github.com/spf13/cobra" "somegit.dev/vikingowl/reddit-reader/internal/config" grpcclient "somegit.dev/vikingowl/reddit-reader/internal/grpc/client" "somegit.dev/vikingowl/reddit-reader/internal/tui" ) var tuiCmd = &cobra.Command{ Use: "tui", Short: "Connect to the daemon and launch the interactive interface", RunE: runTUI, } func init() { rootCmd.AddCommand(tuiCmd) } func runTUI(_ *cobra.Command, _ []string) error { cfg, err := config.LoadFromFile(config.DefaultPath()) if err != nil { return fmt.Errorf("load config (run 'reddit-reader setup' first): %w", err) } cfg.ApplyEnvOverrides() socketPath := cfg.GRPC.Socket if socketPath == "" { socketPath = config.DefaultSocket() } client, err := grpcclient.Dial(socketPath) if err != nil { return fmt.Errorf("connect to daemon (is 'reddit-reader serve' running?): %w", err) } defer client.Close() return tui.Run(client) }