autotypist/structs.go

100 lines
2.4 KiB
Go

// watch all your go git repos
package main
import (
"go.wit.com/gui"
"go.wit.com/lib/gadgets"
"go.wit.com/lib/gui/repostatus"
)
// the main window nodes
var reposwin *gadgets.BasicWindow
var reposbox *gui.Node
var reposgrid *gui.Node
var reposgroup *gui.Node
var me *autoType
type autoType struct {
allrepos map[string]*repo
myGui *gui.Node
autotypistWindow *gadgets.BasicWindow
// #### autotypist Global Display Options
autoHidePerfect *gui.Node
autoHideReadOnly *gui.Node
// #### autotypist Global Build Options
// what to change all the branches to
// so, as a developer, you can move all the repos
// to the 'devel' branch and then test a devel branch build
// then switch back to your 'username' branch and do a build there
toMoveToBranch string
// displays the preferred names used for the repo tree state
mainBranch *gadgets.BasicCombobox
develBranch *gadgets.BasicCombobox
userBranch *gadgets.BasicCombobox
// this button will regenerate everyones go.mod & go.sum
rerunGoMod *gui.Node
// if checked, will stop trying to os.Exec() things after failure
stopOnErrors *gui.Node
// button to attempt to autorebuild
autoRebuildButton *gui.Node
// checkbox for --dry-run
autoDryRun *gui.Node
// checkbox for intermittent scanning
scanEveryMinute *gui.Node
// The current working directory
autoWorkingPwd *gadgets.OneLiner
// what is being used as your home dir
userHomePwd *gadgets.OneLiner
// what is being used as ~/go/src
goSrcPwd *gadgets.OneLiner
downloadEverythingButton *gui.Node
// delete ~/go/src & ~/go/pkg buttons
deleteGoSrcPkgB *gui.Node
}
/*
var cmds *gui.Node
var doit *gui.Node
var dryrun *gui.Node
*/
type repo struct {
hidden bool
path string
lasttagrev string
lasttag string
pLabel *gui.Node // path label
// bLabel *gui.Node // branch label
lastTag *gui.Node // last tagged version label
vLabel *gui.Node // version label
dirtyLabel *gui.Node // git state (dirty or not?)
goSumStatus *gui.Node // what is the state of the go.sum file
// masterName *gui.Node // the master branch name
masterVersion *gui.Node // the master branch version
// develName *gui.Node // the devel branch name
develVersion *gui.Node // the devel branch version
// userName *gui.Node // the jcarr branch name
userVersion *gui.Node // the jcarr branch version
statusButton *gui.Node // opens up the status window
status *repostatus.RepoStatus
}