diff options
Diffstat (limited to 'argv.go')
| -rw-r--r-- | argv.go | 38 |
1 files changed, 32 insertions, 6 deletions
@@ -9,18 +9,25 @@ package main */ import ( + "fmt" + "os" + "go.wit.com/log" ) var argv args type args struct { - Verbose bool `arg:"--verbose" help:"talk more"` - Daemon bool `arg:"--daemon" default:"false" help:"run in daemon mode"` - UseME bool `arg:"--me" help:"use /me to connect"` - Port int `arg:"--port" default:"2522" help:"port to run on"` - URL string `arg:"--url" help:"url to use"` - Config string `arg:"--config" help:"config file (default is ~/.config/cloud/gus.text"` + Gui *EmptyCmd `arg:"subcommand:gui" help:"open the gui"` + Verbose bool `arg:"--verbose" help:"talk more"` + Daemon bool `arg:"--daemon" default:"false" help:"run in daemon mode"` + UseME bool `arg:"--me" help:"use /me to connect"` + Port int `arg:"--port" default:"2522" help:"port to run on"` + URL string `arg:"--url" help:"url to use"` + Config string `arg:"--config" help:"config file (default is ~/.config/cloud/gus.text"` +} + +type EmptyCmd struct { } func (args) Version() string { @@ -48,3 +55,22 @@ func init() { INFO = log.NewFlag("INFO", false, full, short, "general gus") WARN = log.NewFlag("WARN", true, full, short, "bad things") } + +/* + handles shell autocomplete +*/ + +func (a args) DoAutoComplete(argv []string) { + switch argv[0] { + case "playback": + fmt.Println("long --uuid purge last submit") + case "clean": + fmt.Println("") + default: + if argv[0] == ARGNAME { + // list the subcommands here + fmt.Println("--json interact playback clean") + } + } + os.Exit(0) +} |
