diff options
| -rw-r--r-- | Makefile | 2 | ||||
| -rw-r--r-- | argv.go | 23 | ||||
| -rwxr-xr-x | build | 4 | ||||
| -rw-r--r-- | generateMarshal.go | 4 | ||||
| -rw-r--r-- | main.go | 8 |
5 files changed, 33 insertions, 8 deletions
@@ -39,7 +39,7 @@ recover: make goimports make build -build: +build: goimports vet GO111MODULE=off go build \ -ldflags "-X main.VERSION=${VERSION} -X main.BUILDTIME=${BUILDTIME} -X gui.GUIVERSION=${VERSION}" # autogen uses autogen to build. keep a working copy somewhere @@ -3,6 +3,12 @@ package main +import ( + "os" + + "go.wit.com/lib/gui/prep" +) + /* this parses the command line arguements @@ -48,3 +54,20 @@ Example usage: func (args) Version() string { return "go.wit.com/apps/autogenpb " + VERSION + " Built on " + BUILDTIME } + +/* + handles shell autocomplete +*/ + +func (args) Appname() string { + return ARGNAME +} + +func (a args) DoAutoComplete(pb *prep.Auto) { + if pb.Cmd == "" { + pb.Autocomplete3([]string{"--bash", "--proto", "--regret", "--debug", "--delete", "--dry-run"}) + } else { + pb.SubCommand(pb.Argv...) + } + os.Exit(0) +} @@ -0,0 +1,4 @@ +#!/bin/bash -x + +mkdir -p files/usr/share/bash-completion/completions/ +autogenpb --bash > files/usr/share/bash-completion/completions/autogenpb diff --git a/generateMarshal.go b/generateMarshal.go index 39929eb..0c58959 100644 --- a/generateMarshal.go +++ b/generateMarshal.go @@ -11,10 +11,6 @@ import ( // makes Marshal and Unmarshal functions for protoWIRE protoTEXT and protoJSON func (pb *Files) marshal(f *File) { - if argv.DryRun { - return - } - w, _ := os.OpenFile(f.Filebase+".marshal.pb.go", os.O_WRONLY|os.O_CREATE|os.O_TRUNC, 0644) headerComment(w) @@ -20,8 +20,8 @@ import ( "strings" "github.com/go-cmd/cmd" - "go.wit.com/dev/alexflint/arg" "go.wit.com/lib/fhelp" + "go.wit.com/lib/gui/prep" "go.wit.com/lib/gui/shell" "go.wit.com/log" ) @@ -30,10 +30,12 @@ import ( var VERSION string var BUILDTIME string +var ARGNAME string = "autogenpb" + // var fsort *os.File // the sort.pb.go output file func main() { - pp := arg.MustParse(&argv) + auto := prep.Bash3(&argv) // add support for bash autocomplete with go-arg var pb *Files pb = new(Files) @@ -48,7 +50,7 @@ func main() { // you need a proto file if argv.Proto == "" { log.Info("you must provide --proto <filename>") - pp.WriteHelp(os.Stdout) + auto.WriteHelp() os.Exit(-1) } |
