Compare commits
2 Commits
3797df7022
...
7ed7a54834
Author | SHA1 | Date |
---|---|---|
jolheiser | 7ed7a54834 | |
jolheiser | e3011f0912 |
|
@ -4,6 +4,8 @@ CLI for [caniuse](https://caniuse.com)
|
||||||
|
|
||||||
Retrieves data from the [repository](https://github.com/Fyrd/caniuse)
|
Retrieves data from the [repository](https://github.com/Fyrd/caniuse)
|
||||||
|
|
||||||
|
Largely based off of [caniuse-cmd](https://github.com/sgentle/caniuse-cmd), with fewer flags.
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
[MIT](LICENSE)
|
[MIT](LICENSE)
|
||||||
|
|
16
main.go
16
main.go
|
@ -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,7 +172,7 @@ 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, " ")))
|
||||||
|
@ -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)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue