package utils import ( "encoding/json" "fmt" "os" "text/tabwriter" ) func PrintJSON(data any) error { output, err := json.MarshalIndent(data, "", " ") if err != nil { return fmt.Errorf("failed to format JSON: %w", err) } fmt.Println(string(output)) return nil } func PrintTable(headers []string, rows [][]string) { w := tabwriter.NewWriter(os.Stdout, 0, 0, 2, ' ', 0) defer w.Flush() for _, h := range headers { fmt.Fprintf(w, "%s\t", h) } fmt.Fprintln(w) for _, row := range rows { for _, col := range row { fmt.Fprintf(w, "%s\t", col) } fmt.Fprintln(w) } } func PrintError(err error) { fmt.Fprintf(os.Stderr, "Error: %v\n", err) os.Exit(1) }