github.com/fnando/bolt@v0.0.4-0.20231107225351-5241e4d187b8/internal/commands/version.go (about) 1 package commands 2 3 import ( 4 "bufio" 5 "bytes" 6 "flag" 7 "fmt" 8 9 c "github.com/fnando/bolt/common" 10 ) 11 12 func Version(args []string, output *c.Output) int { 13 var b bytes.Buffer 14 buffer := bufio.NewWriter(&b) 15 16 flags := flag.NewFlagSet("bolt version", flag.ContinueOnError) 17 flags.SetOutput(buffer) 18 err := flags.Parse(args) 19 20 usage := ` 21 Show the version and commit hash. 22 23 Usage: bolt version 24 ` 25 26 if err == flag.ErrHelp { 27 fmt.Fprintln(output.Stdout, usage) 28 return 0 29 } 30 31 if err != nil { 32 fmt.Fprintf(output.Stderr, "%s %v\n", c.Color.Fail("ERROR:"), err) 33 return 1 34 } 35 36 fmt.Fprintf(output.Stdout, "bolt %s (%s)\n", c.Version, c.Commit) 37 38 return 0 39 }