A self-hosted orchestration system crafted for power users. composia.xyz
Something went wrong. Try again.
Go
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123package cli
import ( "fmt" "io" "text/tabwriter")
func writeTable(w io.Writer, headers []string, rows [][]string) error { tw := tabwriter.NewWriter(w, 0, 0, 2, ' ', 0) if err := writeRow(tw, headers); err != nil { return err } for _, row := range rows { if err := writeRow(tw, row); err != nil { return err } } return tw.Flush()}
func writeRow(w io.Writer, values []string) error { for index, value := range values { if index > 0 { if _, err := fmt.Fprint(w, "\t"); err != nil { return err } } if _, err := fmt.Fprint(w, value); err != nil { return err } } _, err := fmt.Fprintln(w) return err}
func writeKV(w io.Writer, pairs [][2]string) error { tw := tabwriter.NewWriter(w, 0, 0, 2, ' ', 0) for _, pair := range pairs { if _, err := fmt.Fprintf(tw, "%s:\t%s\n", pair[0], pair[1]); err != nil { return err } } return tw.Flush()}
func writeTerseRows(w io.Writer, rows [][]string) error { for _, row := range rows { if err := writeTerseRow(w, row); err != nil { return err } } return nil}
func writeTerseRow(w io.Writer, values []string) error { for index, value := range values { if index > 0 { if _, err := fmt.Fprint(w, " "); err != nil { return err } } if _, err := fmt.Fprint(w, terseValue(value)); err != nil { return err } } _, err := fmt.Fprintln(w) return err}
func writeTerseKV(w io.Writer, pairs [][2]string) error { for _, pair := range pairs { if pair[1] == "" { continue } if _, err := fmt.Fprintf(w, "%s=%s\n", pair[0], terseValue(pair[1])); err != nil { return err } } return nil}
func (application *app) writeTable(headers []string, rows [][]string) error { if application.isTerseOutput() { return writeTerseRows(application.out, rows) } return writeTable(application.out, headers, rows)}
func (application *app) writeKV(pairs [][2]string) error { if application.isTerseOutput() { return writeTerseKV(application.out, pairs) } return writeKV(application.out, pairs)}
func (application *app) writeCount(name string, count uint32) error { if application.isTerseOutput() { return nil } _, err := fmt.Fprintf(application.out, "%s: %d\n", name, count) return err}
func (application *app) writeCursor(cursor string) error { if cursor == "" { return nil } if application.isTerseOutput() { _, err := fmt.Fprintf(application.out, "next_cursor=%s\n", terseValue(cursor)) return err } _, err := fmt.Fprintf(application.out, "next_cursor: %s\n", cursor) return err}
func terseValue(value string) string { if value == "" { return "-" } return value}