From dada18c9a153db03f9cf52b6d4ba7e864bf5e3ba Mon Sep 17 00:00:00 2001 From: Jeff Carr Date: Thu, 25 Sep 2025 01:21:36 -0500 Subject: [PATCH] update to the new autocomplete --- argv.go | 25 +++++++++++-------------- build | 4 ++++ main.go | 6 ++---- structs.go | 3 +-- 4 files changed, 18 insertions(+), 20 deletions(-) create mode 100755 build diff --git a/argv.go b/argv.go index d951886..b7757fd 100644 --- a/argv.go +++ b/argv.go @@ -1,8 +1,9 @@ package main import ( - "fmt" "os" + + "go.wit.com/lib/gui/prep" ) /* @@ -44,19 +45,15 @@ the repositories in the go.sum file using git clone` handles shell autocomplete */ -func (a args) DoAutoComplete(argv []string) { - switch argv[0] { - case "arch": - fmt.Println("riscv64") - case "build": - fmt.Println("user devel release") - case "--gui": - fmt.Println("nocui andlabs") - default: - if argv[0] == ARGNAME { - // list the subcommands here - fmt.Println("arch build gui show --gui") - } +func (args) Appname() string { + return ARGNAME +} + +func (a args) DoAutoComplete(pb *prep.Auto) { + if pb.Cmd == "" { + pb.Autocomplete3([]string{"arch", "build", "gui", "show"}) + } else { + pb.SubCommand(pb.Argv...) } os.Exit(0) } diff --git a/build b/build new file mode 100755 index 0000000..3733f17 --- /dev/null +++ b/build @@ -0,0 +1,4 @@ +#!/bin/bash -x + +mkdir -p files/usr/share/bash-completion/completions/ +go-deb --bash > files/usr/share/bash-completion/completions/go-deb diff --git a/main.go b/main.go index e705c6c..4414b59 100644 --- a/main.go +++ b/main.go @@ -6,7 +6,6 @@ import ( "path/filepath" "time" - "go.wit.com/dev/alexflint/arg" "go.wit.com/lib/gui/prep" "go.wit.com/lib/protobuf/gitpb" "go.wit.com/log" @@ -24,9 +23,8 @@ var argv args func main() { me = new(mainType) - prep.Bash(ARGNAME, argv.DoAutoComplete) // this line should be: prep.Bash(argv) - me.myGui = prep.Gui() // prepares the GUI package for go-args - me.pp = arg.MustParse(&argv) + me.myGui = prep.Gui() // prepares the GUI package for go-args + me.auto = prep.Bash3(&argv) // this line should be: prep.Bash(&argv) wd, err := os.Getwd() if err != nil { diff --git a/structs.go b/structs.go index eee4cb1..9f70897 100644 --- a/structs.go +++ b/structs.go @@ -1,7 +1,6 @@ package main import ( - "go.wit.com/dev/alexflint/arg" "go.wit.com/gui" "go.wit.com/lib/gadgets" "go.wit.com/lib/gui/prep" @@ -12,7 +11,7 @@ var me *mainType // this app's variables type mainType struct { - pp *arg.Parser // for parsing the command line args. Yay to alexf lint! + auto *prep.Auto // more experiments for bash handling goSrc string // path to ~/go/src or go.work file goPath string // the goPath to use for the package hasWork bool // true if using go.work file