sort browsers

Signed-off-by: jolheiser <john.olheiser@gmail.com>
main
jolheiser 2022-10-10 11:44:50 -05:00
parent 3797df7022
commit e3011f0912
Signed by: jolheiser
GPG Key ID: B853ADA5DA7BBF7A
1 changed files with 14 additions and 6 deletions

20
main.go
View File

@ -128,16 +128,23 @@ func formatFeat(feat data, d Data, short bool) string {
}
needNote := make(map[int]struct{})
for browser, stats := range feat.Stats {
browsers := make([]string, 0, len(feat.Stats))
for browser := range feat.Stats {
if d.Agents[browser].Type != "desktop" {
continue
}
browsers = append(browsers, browser)
}
sort.Strings(browsers)
for _, browser := range browsers {
agent := d.Agents[browser]
stats := feat.Stats[browser]
if !short {
out.WriteString("\t")
}
out.WriteString(d.Agents[browser].Browser + " ")
out.WriteString(agent.Browser + " ")
results := makeResults(d.Agents[browser], stats)
results := makeResults(agent, stats)
if len(results) == 1 {
results[0].version = ""
}
@ -165,10 +172,10 @@ func formatFeat(feat data, d Data, short bool) string {
if _, ok := needNote[n]; !ok {
continue
}
out.WriteString(fmt.Sprintf("\t\t%s%s\n", color.YellowString(supernums[n]), feat.NotesByNum[num]))
out.WriteString(fmt.Sprintf("\t%s%s\n", color.YellowString(supernums[n]), feat.NotesByNum[num]))
}
if feat.Notes != "" {
out.WriteString(fmt.Sprintf("\t %s %s", resultmap["i"], replaceNoteRe.ReplaceAllString(feat.Notes, " ")))
out.WriteString(fmt.Sprintf("\t%s %s", resultmap["i"], replaceNoteRe.ReplaceAllString(feat.Notes, " ")))
}
}
@ -206,7 +213,7 @@ func makeResult(stat browserStat, nums map[int]struct{}) string {
}
out.WriteString(fmt.Sprintf("(%f) ", math.Round(stat.usage*1)/1))
}
out.WriteString(" ")
out.WriteString(" ")
str := out.String()
switch support {
@ -276,6 +283,7 @@ func loadData() (Data, error) {
if err != nil && !errors.Is(err, fs.ErrNotExist) {
return data, fmt.Errorf("could not stat %q: %v", dataPath, err)
} else if errors.Is(err, fs.ErrNotExist) || time.Since(fi.ModTime()) > refresh {
color.Blue("updating caniuse data...")
if err := Download(dataPath); err != nil {
return data, fmt.Errorf("could not download data: %v", err)
}