// Copyright 1994-2025 WIT.COM Inc Licensed GPL 3.0 package forgepb import ( "fmt" "go.wit.com/lib/env" ) // TODO: implement i18n with the protobuf's func (f *Forge) GetMode() string { switch f.mode { case ForgeMode_MASTER: return "Release Mode (master branch)" case ForgeMode_DEVEL: return "Patch Mode (devel branch)" case ForgeMode_USER: return "Hack Mode (user branch)" default: return f.mode.String() } } func getModeENV() ForgeMode { // always set f.mode // todo: do something else besides this ? switch env.Get("Mode") { case "NORMAL": return ForgeMode_NORMAL case "CUSTOM": return ForgeMode_CUSTOM case "GOLANG": return ForgeMode_GOLANG case "CLEAN": return ForgeMode_CLEAN case "MASTER": return ForgeMode_MASTER case "DEVEL": return ForgeMode_DEVEL case "USER": return ForgeMode_USER case "NEWUSER": return ForgeMode_NEWUSER default: fmt.Printf("MODE ERROR (%s)\n", env.Get("Mode")) } return ForgeMode_NEWUSER } // indicates the user is trying to cleanup repos // stays in this mode until the user leaves it // should not change the repos selected func (f *Forge) SetCleaningMode() { f.SetMode(ForgeMode_CLEAN) } func (f *Forge) SetUserMode() { f.SetMode(ForgeMode_USER) } func (f *Forge) SetModeNewUser() { if err := f.SetMode(ForgeMode_NEWUSER); err != nil { panic("SetMode failed") } } func (f *Forge) IsModeUnknown() bool { if f.mode == ForgeMode_UNKNOWN { return true } return false } func (f *Forge) IsModeNewUser() bool { if f.mode == ForgeMode_NEWUSER { return true } return false } func (f *Forge) IsModeDevel() bool { if f.mode == ForgeMode_DEVEL { return true } return false } func (f *Forge) IsModeMaster() bool { if f.mode == ForgeMode_MASTER { return true } return false } func (f *Forge) IsModeNormal() bool { if f.mode == ForgeMode_NORMAL { return true } return false } func (f *Forge) IsModeClean() bool { if f.mode == ForgeMode_CLEAN { return true } return false } func (f *Forge) IsModeUser() bool { if f.mode == ForgeMode_USER { return true } return false } func (f *Forge) IsModeGoLang() bool { if f.mode == ForgeMode_NORMAL { return true } return false }