summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--argv.go54
-rw-r--r--doGui.go8
-rw-r--r--main.go28
-rw-r--r--structs.go15
4 files changed, 18 insertions, 87 deletions
diff --git a/argv.go b/argv.go
index 25e9a3c..4d8cc76 100644
--- a/argv.go
+++ b/argv.go
@@ -12,10 +12,6 @@ import (
"fmt"
"os"
"strings"
-
- "go.wit.com/lib/debugger"
- "go.wit.com/lib/gui/logsettings"
- "go.wit.com/log"
)
var argv args
@@ -36,39 +32,17 @@ type args struct {
Recursive bool `arg:"--recursive" help:"go-clone --recursive"`
Test bool `arg:"--test" help:"test build after everything else"`
WITCOM bool `arg:"--witcom" help:"add the GPL header"`
- Bash bool `arg:"--bash" help:"generate bash completion"`
- BashAuto []string `arg:"--auto-complete" help:"does the actual autocompletion"`
}
type EmptyCmd struct {
}
-func init() {
- if debugger.ArgDebug() {
- log.Info("cmd line --debugger == true")
- go func() {
- log.Sleep(2)
- debugger.DebugWindow()
- }()
- }
-
- if debugger.ArgLogger() {
- log.Info("cmd line --loggger == true")
- go func() {
- log.Sleep(4)
- logsettings.LogWindow()
- logsettings.LogWindow()
- }()
- }
-}
-
func (args) Version() string {
return ARGNAME + " " + VERSION + " Built on " + BUILDTIME
}
-func (args) doBashAuto() {
- argv.doBashHelp()
- switch argv.BashAuto[0] {
+func (a args) DoAutoComplete(argv []string) {
+ switch argv[0] {
case "list":
fmt.Println("--all --mine --favorites --private")
case "debian":
@@ -82,32 +56,10 @@ func (args) doBashAuto() {
case "repomap-clone":
fmt.Println("--repomap")
default:
- if strings.HasSuffix(argv.BashAuto[0], ARGNAME) {
+ if strings.HasSuffix(argv[0], ARGNAME) {
// list the subcommands here
fmt.Println("--bash list build debian install repomap-clone upgrade")
}
}
os.Exit(0)
}
-
-// 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.argpp.WriteHelp(os.Stderr)
- // return
- }
- fmt.Fprintln(os.Stderr, "")
- fmt.Fprintln(os.Stderr, "list: show every package on mirrors.wit.com")
- fmt.Fprintln(os.Stderr, "build: go build every package that identifies as a binary")
- fmt.Fprintln(os.Stderr, "install: go install every package into ~/go/bin")
- fmt.Fprintln(os.Stderr, "repomap-clone: go-clone every package from a gowebd repomap")
- fmt.Fprintln(os.Stderr, "")
-}
diff --git a/doGui.go b/doGui.go
index e6dd625..e1cb4cf 100644
--- a/doGui.go
+++ b/doGui.go
@@ -10,7 +10,6 @@ import (
"strings"
"time"
- "go.wit.com/gui"
"go.wit.com/lib/gadgets"
"go.wit.com/lib/gui/shell"
"go.wit.com/lib/protobuf/virtpb"
@@ -100,10 +99,6 @@ func switchDrive(blk *Block) {
}
func doGui() {
- me.myGui = gui.New()
- me.myGui.InitEmbed(resources)
- me.myGui.Default()
-
mainWindow := gadgets.NewGenericWindow("RiscV Imager", "Show Drives")
mainWindow.Custom = func() {
log.Warn("Main window close")
@@ -111,9 +106,6 @@ func doGui() {
}
drawWindow(mainWindow)
-
- // sits here forever
- debug()
}
func drawWindow(win *gadgets.GenericWindow) {
diff --git a/main.go b/main.go
index a61a9ee..0d3321c 100644
--- a/main.go
+++ b/main.go
@@ -13,8 +13,7 @@ import (
"unicode"
"go.wit.com/dev/alexflint/arg"
- "go.wit.com/gui"
- "go.wit.com/lib/fhelp"
+ "go.wit.com/lib/gui/prep"
"go.wit.com/log"
)
@@ -30,26 +29,10 @@ var resources embed.FS
func main() {
me = new(autoType)
- 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)
- // check if the binary is being called to test
- // if the plugin can actually loaded. This is a hack
- // around needing a Test() plugin load function in GO
- if gui.IsGoPluginTestHack() {
- gui.CheckPlugin()
- os.Exit(0)
- }
-
- if argv.Bash {
- fhelp.DoBash(ARGNAME)
- os.Exit(0)
- }
- if len(argv.BashAuto) != 0 {
- argv.doBashAuto()
- os.Exit(0)
- }
-
me.pb = NewBlocks()
/*
@@ -60,7 +43,10 @@ func main() {
*/
go listenForBlockEvents()
- doGui()
+
+ me.myGui.Start() // loads the GUI toolkit
+ doGui() // start making our forge GUI
+ debug() // sits here forever
okExit("everything compiled")
}
diff --git a/structs.go b/structs.go
index bac17be..2373661 100644
--- a/structs.go
+++ b/structs.go
@@ -6,17 +6,18 @@ package main
import (
"go.wit.com/dev/alexflint/arg"
"go.wit.com/gui"
+ "go.wit.com/lib/gui/prep"
)
var me *autoType
// this app's variables
type autoType struct {
- pp *arg.Parser // go-arg preprocessor
- myGui *gui.Node // the gui toolkit handle
- dd *gui.Node // the drives dropdown list
- parted *gui.Node // the current drive to run parted on
- currentDev *Block // the current dev entry to work on
- pb *Blocks // the block dev protobuf
- driveInfoBox *gui.Node // displays the drive info
+ pp *arg.Parser // go-arg preprocessor
+ myGui *prep.GuiPrep // the gui toolkit handle
+ dd *gui.Node // the drives dropdown list
+ parted *gui.Node // the current drive to run parted on
+ currentDev *Block // the current dev entry to work on
+ pb *Blocks // the block dev protobuf
+ driveInfoBox *gui.Node // displays the drive info
}