package main import ( "go.wit.com/gui" "go.wit.com/log" ) func globalResetOptions(box *gui.Node) { group2 := box.NewGroup("Global Destructive Options") buildOptions := group2.NewGrid("buildOptions", 2, 1) buildOptions.NewLabel("start over") me.deleteGoSrcPkgB = buildOptions.NewButton("rm ~/go/src & ~/go/pkg", func() { for _, repo := range me.allrepos { // status := repo.getStatus() if repo.status.CheckDirty() { log.Warn("repo is dirty. commit your changes first", repo.String()) me.deleteGoSrcPkgB.SetLabel("rm ~/go/src (can't. dirty repos)") return } } log.Warn("no repos have uncommited changes") log.Warn("TODO: check things are pushed and check every dir in go/src/") me.deleteGoSrcPkgB.SetLabel("ARE YOU SURE?") if me.deleteGoSrcPkgB.String() == "ARE YOU SURE?" { fullpath := "/home/jcarr/go/" quickCmd(fullpath, []string{"rm", "-rf", "/home/jcarr/go/src/"}) quickCmd(fullpath, []string{"chmod", "700", "-R", "/home/jcarr/go/pkg/"}) quickCmd(fullpath, []string{"rm", "-rf", "/home/jcarr/go/pkg/"}) } }) }