feat: show version in command description

master
Shengjing Zhu 2022-07-27 23:24:21 +08:00
parent d904433c8f
commit 2845c12b49
2 changed files with 11 additions and 14 deletions

11
main.go
View File

@ -1,7 +1,6 @@
package main
import (
"bufio"
"context"
_ "embed"
"errors"
@ -28,14 +27,8 @@ var (
func main() {
parser := flags.NewParser(&opts, flags.Default)
parser.Usage = `[OPTIONS]
Description:`
scanner := bufio.NewScanner(strings.NewReader(strings.TrimPrefix(readme, "# wghttp\n")))
for scanner.Scan() {
parser.Usage += " " + scanner.Text() + "\n"
}
parser.Usage = strings.TrimSuffix(parser.Usage, "\n")
parser.LongDescription = fmt.Sprintf("wghttp %s\n\n", version())
parser.LongDescription += strings.Trim(strings.TrimPrefix(readme, "# wghttp"), "\n")
if _, err := parser.Parse(); err != nil {
code := 1
fe := &flags.Error{}

View File

@ -29,11 +29,7 @@ func stats(dev *device.Device) func() (any, error) {
Version string
}{
NumGoroutine: runtime.NumGoroutine(),
}
info, ok := debug.ReadBuildInfo()
if ok {
stats.Version = info.Main.Version
Version: version(),
}
scanner := bufio.NewScanner(&buf)
@ -55,3 +51,11 @@ func stats(dev *device.Device) func() (any, error) {
return stats, nil
}
}
func version() string {
info, ok := debug.ReadBuildInfo()
if ok {
return info.Main.Version
}
return "(devel)"
}