diff options
Diffstat (limited to 'argv.go')
| -rw-r--r-- | argv.go | 52 |
1 files changed, 48 insertions, 4 deletions
@@ -9,16 +9,27 @@ package main */ import ( + "fmt" + "os" + "go.wit.com/log" ) var argv args type args struct { - Verbose bool `arg:"--verbose" default:"false" help:"talk more"` - Daemon bool `arg:"--daemon" default:"false" help:"run in daemon mode"` - Port int `arg:"--port" default:"8080" help:"port to run on"` - NoPort bool `arg:"--no-port" help:"don't open socket"` + Gui *EmptyCmd `arg:"subcommand:gui" help:"open the gui"` + List *EmptyCmd `arg:"subcommand:list" help:"list the machines in your zoo"` + Upgrade *EmptyCmd `arg:"subcommand:upgrade" help:"upgrade the machines"` + Verbose bool `arg:"--verbose" default:"false" help:"talk more"` + Daemon bool `arg:"--daemon" default:"false" help:"run in daemon mode"` + Port int `arg:"--port" default:"8080" help:"port to run on"` + NoPort bool `arg:"--no-port" help:"don't open socket"` + Bash bool `arg:"--bash" help:"generate bash completion"` + BashAuto []string `arg:"--auto-complete" help:"todo: move this to go-arg"` +} + +type EmptyCmd struct { } func (args) Version() string { @@ -51,3 +62,36 @@ func init() { ZOOD = log.NewFlag("ZOOD", false, full, short, "show reporting from zood") WARN = log.NewFlag("WARN", true, full, short, "bad things") } + +// prints help to STDERR // TODO: move everything below this to go-args +func (args) doBashHelp() { + if argv.BashAuto[1] != "''" { + // if this is not blank, then the user has typed something + return + } + if argv.BashAuto[0] != ARGNAME { + // if this is not the name of the command, the user already started doing something + return + } + if argv.BashAuto[0] == ARGNAME { + me.pp.WriteHelp(os.Stderr) + return + } +} + +func (args) doBashAuto() { + switch argv.BashAuto[0] { + case "list": + fmt.Println("") + case "verify": + fmt.Println("on") + case "upgrade": + fmt.Println("") + default: + if argv.BashAuto[0] == ARGNAME { + // list the subcommands here + fmt.Println("help list") + } + } + os.Exit(0) +} |
