new GUI codebase

This commit is contained in:
Jeff Carr 2025-09-09 05:11:23 -05:00
parent d5069b63f8
commit c3f5588365
3 changed files with 9 additions and 48 deletions

35
argv.go
View File

@ -41,41 +41,12 @@ and with the right geometries. TODO: restore the bash working paths
` `
} }
func deleteMatch() { func (a args) DoAutoComplete(argv []string) {
// f := forgedb.InitSimple() switch argv[0] {
fmt.Println("go.wit.com/lib/gui/repostatus todo: need to do this")
}
// prints help to STDERR // TODO: move everything below this to go-args
func (args) doBashHelp() {
if len(argv.BashAuto) < 2 {
fmt.Fprintf(os.Stderr, "something went wrong with the GO args autocomplete in %s\n", ARGNAME)
return
}
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, "something went wrong with the GO args package")
fmt.Fprintln(os.Stderr, "")
}
func (args) doBashAuto() {
argv.doBashHelp()
switch argv.BashAuto[0] {
case "dump": case "dump":
fmt.Println("--terminals") fmt.Println("--terminals")
default: default:
if argv.BashAuto[0] == ARGNAME { if argv[0] == ARGNAME {
// list the subcommands here // list the subcommands here
fmt.Println("--restore save dump dumpx") fmt.Println("--restore save dump dumpx")
} }

16
main.go
View File

@ -7,11 +7,9 @@ package main
import ( import (
"fmt" "fmt"
"os"
"go.wit.com/dev/alexflint/arg" "go.wit.com/dev/alexflint/arg"
"go.wit.com/gui" "go.wit.com/lib/gui/prep"
"go.wit.com/lib/fhelp"
"go.wit.com/log" "go.wit.com/log"
) )
@ -29,18 +27,10 @@ var configFile string = "/home/jcarr/.config/startxplacement.out"
func main() { func main() {
me = new(mainType) me = new(mainType)
gui.InitArg() prep.Bash(ARGNAME, argv.DoAutoComplete) // todo: this line should be: prep.Bash(argv)
me.myGui = prep.Gui() // prepares the GUI package for go-args
me.pp = arg.MustParse(&argv) me.pp = arg.MustParse(&argv)
if argv.Bash {
fhelp.DoBash(ARGNAME)
os.Exit(0)
}
if len(argv.BashAuto) != 0 {
argv.doBashAuto()
os.Exit(0)
}
if argv.DumpX != nil { if argv.DumpX != nil {
doDumpX() doDumpX()
} }

View File

@ -5,13 +5,13 @@ package main
import ( import (
"go.wit.com/dev/alexflint/arg" "go.wit.com/dev/alexflint/arg"
"go.wit.com/gui" "go.wit.com/lib/gui/prep"
) )
var me *mainType var me *mainType
// this app's variables // this app's variables
type mainType struct { type mainType struct {
pp *arg.Parser // for parsing the command line args. Yay to alexf lint! pp *arg.Parser // for parsing the command line args. Yay to alexf lint!
myGui *gui.Node // the gui toolkit handle myGui *prep.GuiPrep // the gui toolkit handle
} }