github.com/tonkpils/snag@v1.2.1-0.20160221223445-7f8829737a1d/flags.go (about) 1 package main 2 3 import ( 4 "flag" 5 "fmt" 6 "os" 7 ) 8 9 var ( 10 cliCmds argSlice 11 version bool 12 verbose bool 13 ) 14 15 func init() { 16 flag.Var(&cliCmds, "c", "List of commands to execute") 17 flag.BoolVar(&verbose, "v", false, "Verbose output") 18 flag.BoolVar(&version, "version", false, "[DEPRECATED: use 'snag version'] display snag's version") 19 20 flag.Usage = func() { 21 usage := `Usage of %s: 22 %s [COMMAND] 23 24 Commands: 25 26 init Generate a snag file %q used for configuration and execution 27 version Display snag's version 28 29 Flags: 30 ` 31 fmt.Fprintf(os.Stderr, usage, os.Args[0], os.Args[0], SnagFile) 32 flag.PrintDefaults() 33 } 34 } 35 36 type argSlice []string 37 38 func (c *argSlice) String() string { 39 return fmt.Sprintf("%s", *c) 40 } 41 42 func (a *argSlice) Set(value string) error { 43 *a = append(*a, value) 44 return nil 45 }