diff --git a/flags/flags.go b/flags/flags.go index 3e798e4e..48904c36 100644 --- a/flags/flags.go +++ b/flags/flags.go @@ -6,6 +6,7 @@ import ( "path/filepath" goFlags "github.com/jessevdk/go-flags" + "github.com/senorprogrammer/wtf/help" "github.com/senorprogrammer/wtf/wtf" ) @@ -26,6 +27,18 @@ func (flags *Flags) ConfigFilePath() string { return flags.Config } +func (flags *Flags) Display(version string) { + if flags.HasModule() { + help.Display(flags.Module) + os.Exit(0) + } + + if flags.HasVersion() { + fmt.Println(version) + os.Exit(0) + } +} + func (flags *Flags) HasConfig() bool { return len(flags.Config) > 0 } @@ -38,7 +51,7 @@ func (flags *Flags) HasVersion() bool { return flags.Version == true } -func (flags *Flags) Parse(version string) { +func (flags *Flags) Parse() { parser := goFlags.NewParser(flags, goFlags.Default) if _, err := parser.Parse(); err != nil { if flagsErr, ok := err.(*goFlags.Error); ok && flagsErr.Type == goFlags.ErrHelp { diff --git a/wtf.go b/wtf.go index dd25461c..df5ce5d6 100644 --- a/wtf.go +++ b/wtf.go @@ -25,7 +25,6 @@ import ( "github.com/senorprogrammer/wtf/github" "github.com/senorprogrammer/wtf/gitlab" "github.com/senorprogrammer/wtf/gspreadsheets" - "github.com/senorprogrammer/wtf/help" "github.com/senorprogrammer/wtf/ipaddresses/ipapi" "github.com/senorprogrammer/wtf/ipaddresses/ipinfo" "github.com/senorprogrammer/wtf/jenkins" @@ -248,6 +247,7 @@ func addWidget(app *tview.Application, pages *tview.Pages, widgetName string) { func makeWidgets(app *tview.Application, pages *tview.Pages) { mods, _ := Config.Map("wtf.mods") + for mod := range mods { if enabled := Config.UBool("wtf.mods."+mod+".enabled", false); enabled { addWidget(app, pages, mod) @@ -262,17 +262,8 @@ func main() { log.SetFlags(log.LstdFlags | log.Lshortfile) flags := flags.NewFlags() - flags.Parse(version) - - if flags.HasModule() { - help.Display(flags.Module) - os.Exit(0) - } - - if flags.HasVersion() { - fmt.Println(version) - os.Exit(0) - } + flags.Parse() + flags.Display(version) cfg.CreateConfigDir() cfg.CreateConfigFile()