87 lines
2.1 KiB
Go
87 lines
2.1 KiB
Go
package main
|
|
|
|
/*
|
|
this parses the command line arguements
|
|
this enables command line options from other packages like 'gui' and 'log'
|
|
*/
|
|
|
|
import (
|
|
"os"
|
|
|
|
"go.wit.com/dev/alexflint/arg"
|
|
"go.wit.com/lib/debugger"
|
|
"go.wit.com/lib/gui/logsettings"
|
|
"go.wit.com/log"
|
|
)
|
|
|
|
type argv struct {
|
|
DownloadAll bool `arg:"--download-all" help:"download everything from go.wit.com"`
|
|
GitPull bool `arg:"--git-pull" help:"do git pull in every repository"`
|
|
CheckoutUser bool `arg:"--switch-to-user-branch" help:"switch everything to your user branch"`
|
|
CheckoutDevel bool `arg:"--switch-to-devel-branch" help:"switch everything to the devel branch"`
|
|
OnlyMe bool `arg:"--only-me" help:"only scan repos from ~/.config/autotypist"`
|
|
Port int `arg:"--port" default:"9419" help:"do fun stuff with curl"`
|
|
}
|
|
|
|
func init() {
|
|
arg.MustParse(&myargv)
|
|
|
|
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 (argv) Version() string {
|
|
return "autotypist " + VERSION
|
|
}
|
|
|
|
// This will process the command line arguements after everything is initialized
|
|
// If any of them are called, don't show the GUI at all and just exit.
|
|
func handleCmdLine() {
|
|
var doExit bool = false
|
|
|
|
if myargv.CheckoutDevel {
|
|
me.autotypistWindow.Hide()
|
|
me.repos.View.ArgCheckoutDevel()
|
|
doExit = true
|
|
} else {
|
|
log.Info("not switching to devel branches")
|
|
}
|
|
|
|
if myargv.CheckoutUser {
|
|
me.autotypistWindow.Hide()
|
|
me.repos.View.ArgCheckoutUser()
|
|
doExit = true
|
|
} else {
|
|
log.Info("not switching to user branches")
|
|
}
|
|
|
|
if myargv.GitPull {
|
|
me.autotypistWindow.Hide()
|
|
if me.repos.View.ArgGitPull() {
|
|
log.Info("git pull everywhere worked")
|
|
} else {
|
|
log.Info("git failed somewhere")
|
|
}
|
|
doExit = true
|
|
} else {
|
|
log.Info("not running git pull everywhere")
|
|
}
|
|
|
|
if doExit {
|
|
os.Exit(0)
|
|
}
|
|
}
|