diff options
Diffstat (limited to 'argv.go')
| -rw-r--r-- | argv.go | 66 |
1 files changed, 30 insertions, 36 deletions
@@ -9,29 +9,29 @@ package main */ import ( - "fmt" "os" - "strings" + + "go.wit.com/lib/gui/prep" ) var argv args type args struct { - Drives *EmptyCmd `arg:"subcommand:drives" help:"list drives"` - DebBuild *EmptyCmd `arg:"subcommand:debian" help:"build missing .deb packages"` - MacBuild *EmptyCmd `arg:"subcommand:macos" help:"build macos packages"` - MakeInstall *EmptyCmd `arg:"subcommand:install" help:"run make install in each repo"` - ListPkgs *EmptyCmd `arg:"subcommand:list" help:"list all the packages on mirrors.wit.com"` - Clone *EmptyCmd `arg:"subcommand:repomap-clone" help:"go-clone from a gowebd repomap"` - Upgrade *EmptyCmd `arg:"subcommand:upgrade" help:"apt upgrade packages installed from mirrors.wit.com"` - RepoMap string `arg:"--repomap" help:"location of the repomap"` - Release bool `arg:"--release" help:"use go-deb --release"` - DryRun bool `arg:"--dry-run" help:"only show what would be packaged"` - Verbose bool `arg:"--verbose" help:"be loud about it"` - Force bool `arg:"--force" help:"rebuild everything"` - Recursive bool `arg:"--recursive" help:"go-clone --recursive"` - Test bool `arg:"--test" help:"test build after everything else"` - WITCOM bool `arg:"--witcom" help:"add the GPL header"` + Drives *EmptyCmd `arg:"subcommand:drives" help:"list drives"` + // DebBuild *EmptyCmd `arg:"subcommand:debian" help:"build missing .deb packages"` + // MacBuild *EmptyCmd `arg:"subcommand:macos" help:"build macos packages"` + // MakeInstall *EmptyCmd `arg:"subcommand:install" help:"run make install in each repo"` + // ListPkgs *EmptyCmd `arg:"subcommand:list" help:"list all the packages on mirrors.wit.com"` + // Clone *EmptyCmd `arg:"subcommand:repomap-clone" help:"go-clone from a gowebd repomap"` + // Upgrade *EmptyCmd `arg:"subcommand:upgrade" help:"apt upgrade packages installed from mirrors.wit.com"` + RepoMap string `arg:"--repomap" help:"location of the repomap"` + Release bool `arg:"--release" help:"use go-deb --release"` + DryRun bool `arg:"--dry-run" help:"only show what would be packaged"` + Verbose bool `arg:"--verbose" help:"be loud about it"` + Force bool `arg:"--force" help:"rebuild everything"` + Recursive bool `arg:"--recursive" help:"go-clone --recursive"` + Test bool `arg:"--test" help:"test build after everything else"` + WITCOM bool `arg:"--witcom" help:"add the GPL header"` } type EmptyCmd struct { @@ -41,25 +41,19 @@ func (args) Version() string { return ARGNAME + " " + VERSION + " Built on " + BUILDTIME } -func (a args) DoAutoComplete(argv []string) { - switch argv[0] { - case "list": - fmt.Println("--all --mine --favorites --private") - case "debian": - fmt.Println("--dry-run") - case "upgrade": - fmt.Println("--dry-run") - case "build": - fmt.Println("--verbose") - case "install": - fmt.Println("--verbose") - case "repomap-clone": - fmt.Println("--repomap") - default: - if strings.HasSuffix(argv[0], ARGNAME) { - // list the subcommands here - fmt.Println("--bash list build debian install repomap-clone upgrade") - } +/* + handles shell autocomplete +*/ + +func (args) Appname() string { + return ARGNAME +} + +func (a args) DoAutoComplete(pb *prep.Auto) { + if pb.Cmd == "" { + pb.Autocomplete3([]string{"drives", "gui"}) + } else { + pb.SubCommand(pb.Argv...) } os.Exit(0) } |
