diff options
| author | Jeff Carr <[email protected]> | 2025-09-08 16:18:30 -0500 | 
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2025-09-08 16:18:30 -0500 | 
| commit | af5205fb365f06727ab8ae051bd28e79f47b346c (patch) | |
| tree | 5d8978f18b0dec5dbeef32245d6384bc71e8316d | |
| parent | 6f8349ce5b336652a38d9e7ca34fc8d48108a584 (diff) | |
add bash supportv0.22.126
| -rw-r--r-- | argv.go | 42 | ||||
| -rw-r--r-- | main.go | 10 | 
2 files changed, 52 insertions, 0 deletions
@@ -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) +} @@ -20,6 +20,7 @@ var DATE string  //go:embed resources/*  var resources embed.FS +var ARGNAME string = "go-deb"  var argv args  func main() { @@ -28,6 +29,15 @@ func main() {  	gui.InitArg()  	arg.MustParse(&argv) +	if argv.Bash { +		fhelp.DoBash(ARGNAME) +		os.Exit(0) +	} +	if len(argv.BashAuto) != 0 { +		argv.doBashAuto() +		os.Exit(0) +	} +  	if err := fhelp.ConfigureENV(); err != nil {  		badExit(err)  	}  | 
