@@ -55,7 +55,7 @@ func render(printStyle style, list ...stat.Data) error {
5555 return renderDetail (list [0 ], data [0 ])
5656 }
5757
58- t := createTable (data , true )
58+ t := createTable (data , true , false )
5959 t .SetStyle (table .StyleLight )
6060 prettyText = t .Render ()
6161 }
@@ -75,9 +75,19 @@ func convert2ViperList(list []stat.Data) ([]*viper.Viper, error) {
7575 return data , nil
7676}
7777
78- func createTable (data []* viper.Viper , emoji bool ) table.Writer {
78+ func createTable (data []* viper.Viper , emoji bool , exportCSV bool ) table.Writer {
7979 t := table .NewWriter ()
80- t .AppendHeader (createRow ("metrics" , "fullName" , false , data ... ))
80+ t .AppendHeader (createRow ("name" , "fullName" , false , data ... ))
81+ if exportCSV {
82+ t .AppendRows ([]table.Row {
83+ createRow ("description" , "description" , false , data ... ),
84+ createRow ("tags" , "tags" , false , data ... ),
85+ createRow ("latestMonthStargazers" , "latestMonthStargazers.data" , false , data ... ),
86+ createRow ("latestWeekForks" , "latestWeekForks.data" , false , data ... ),
87+ createRow ("latestWeekCommits" , "latestWeekCommits.data" , false , data ... ),
88+ createRow ("latestWeekIssues" , "latestWeekIssues.data" , false , data ... ),
89+ })
90+ }
8191 t .AppendRows ([]table.Row {
8292 createRow ("homepage" , "homepage" , emoji , data ... ),
8393 createRow ("language" , "language" , emoji , data ... ),
@@ -147,7 +157,13 @@ func createRow(title string, field string, emoji bool, data ...*viper.Viper) tab
147157 return ret
148158}
149159
150- // const barWidth = 3
160+ func createCSVRow (title string , field string , data ... * viper.Viper ) []string {
161+ ret := []string {title }
162+ for _ , e := range data {
163+ ret = append (ret , fmt .Sprintf ("%v" , e .Get (field )))
164+ }
165+ return ret
166+ }
151167
152168func renderDetail (st stat.Data , data * viper.Viper ) error {
153169 if err := ui .Init (); err != nil {
0 commit comments