Files
reddit-reader/cmd/tui.go

43 lines
940 B
Go

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)
}