summaryrefslogtreecommitdiff
path: root/argv.go
diff options
context:
space:
mode:
Diffstat (limited to 'argv.go')
-rw-r--r--argv.go42
1 files changed, 42 insertions, 0 deletions
diff --git a/argv.go b/argv.go
index f20cb89..3260285 100644
--- a/argv.go
+++ b/argv.go
@@ -1,5 +1,10 @@
package main
+import (
+ "fmt"
+ "os"
+)
+
/*
this parses the command line arguements
@@ -16,6 +21,8 @@ type args struct {
KeepFiles bool `arg:"--keep-files" help:"keep the build files/"`
Force bool `arg:"--force" default:"false" help:"force overwrite an existing .deb file"`
Verbose bool `arg:"--verbose" help:"show more things"`
+ Bash bool `arg:"--bash" help:"generate bash completion"`
+ BashAuto []string `arg:"--auto-complete" help:"todo: move this to go-arg"`
}
func (args) Version() string {
@@ -33,3 +40,38 @@ Example usage:
This will pull down the go sources and
the repositories in the go.sum file using git clone`
}
+
+// 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
+ }
+ fmt.Fprintln(os.Stderr, "")
+ fmt.Fprintln(os.Stderr, "hello world")
+ fmt.Fprintln(os.Stderr, "")
+}
+
+func (args) doBashAuto() {
+ // argv.doBashHelp()
+ switch argv.BashAuto[0] {
+ case "arch":
+ fmt.Println("riscv64")
+ case "build":
+ fmt.Println("user devel release")
+ default:
+ if argv.BashAuto[0] == ARGNAME {
+ // list the subcommands here
+ fmt.Println("arch build")
+ }
+ }
+ os.Exit(0)
+}