func render()

in cli/bpcatalog/render.go [135:169]


func render(r repos, w io.Writer, format renderFormat, verbose bool) error {
	dm := reposToDisplayMeta(r)
	if format == renderHTML {
		_, err := w.Write([]byte(renderDocHTML(append(dm, staticDM...))))
		if err != nil {
			return err
		}
		return nil
	}

	tbl := table.NewWriter()
	tbl.SetOutputMirror(w)
	h := table.Row{"Repo", "Stars", "Created"}
	if verbose {
		h = append(h, "Description")
	}
	tbl.AppendHeader(h)

	for _, repo := range r {
		row := table.Row{repo.GetName(), repo.GetStargazersCount(), repo.GetCreatedAt().Format(renderTimeformat)}
		if verbose {
			row = append(row, repo.GetDescription())
		}
		tbl.AppendRow(row)
	}
	switch format {
	case renderTable:
		tbl.Render()
	case renderCSV:
		tbl.RenderCSV()
	default:
		return fmt.Errorf("one of %+v expected. unknown format: %s", renderFormats, catalogListFlags.format)
	}
	return nil
}