summaryrefslogtreecommitdiff
path: root/argv.go
diff options
context:
space:
mode:
Diffstat (limited to 'argv.go')
-rw-r--r--argv.go66
1 files changed, 30 insertions, 36 deletions
diff --git a/argv.go b/argv.go
index 4d8cc76..b79aaeb 100644
--- a/argv.go
+++ b/argv.go
@@ -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)
}