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{}) 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" { if d.Agents[browser].Type != "desktop" {
continue continue
} }
browsers = append(browsers, browser)
}
sort.Strings(browsers)
for _, browser := range browsers {
agent := d.Agents[browser]
stats := feat.Stats[browser]
if !short { if !short {
out.WriteString("\t") 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 { if len(results) == 1 {
results[0].version = "" results[0].version = ""
} }
@ -165,10 +172,10 @@ func formatFeat(feat data, d Data, short bool) string {
if _, ok := needNote[n]; !ok { if _, ok := needNote[n]; !ok {
continue 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 != "" { 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(fmt.Sprintf("(%f) ", math.Round(stat.usage*1)/1))
} }
out.WriteString(" ") out.WriteString(" ")
str := out.String() str := out.String()
switch support { switch support {
@ -276,6 +283,7 @@ func loadData() (Data, error) {
if err != nil && !errors.Is(err, fs.ErrNotExist) { if err != nil && !errors.Is(err, fs.ErrNotExist) {
return data, fmt.Errorf("could not stat %q: %v", dataPath, err) return data, fmt.Errorf("could not stat %q: %v", dataPath, err)
} else if errors.Is(err, fs.ErrNotExist) || time.Since(fi.ModTime()) > refresh { } else if errors.Is(err, fs.ErrNotExist) || time.Since(fi.ModTime()) > refresh {
color.Blue("updating caniuse data...")
if err := Download(dataPath); err != nil { if err := Download(dataPath); err != nil {
return data, fmt.Errorf("could not download data: %v", err) return data, fmt.Errorf("could not download data: %v", err)
} }