From a6505516adb6722fb9ac7e773857dceeceaa587e Mon Sep 17 00:00:00 2001 From: Chris Cummer Date: Sat, 16 Jun 2018 08:37:55 -0700 Subject: [PATCH] Move responsibility for version display out of flags --- flags/flags.go | 12 ++++++------ help/help.go | 3 --- wtf.go | 8 +++++++- 3 files changed, 13 insertions(+), 10 deletions(-) diff --git a/flags/flags.go b/flags/flags.go index 52cb3636..131ed856 100644 --- a/flags/flags.go +++ b/flags/flags.go @@ -12,7 +12,7 @@ import ( type Flags struct { Config string `short:"c" long:"config" optional:"yes" description:"Path to config file"` Module string `short:"m" long:"module" optional:"yes" description:"Display info about a specific module, i.e.: 'wtf -m=todo'"` - Version bool `short:"v" long:"version" description:"Show Version Info"` + Version bool `short:"v" long:"version" description:"Show version info"` } func NewFlags() *Flags { @@ -30,6 +30,10 @@ func (flags *Flags) HasModule() bool { return len(flags.Module) > 0 } +func (flags *Flags) HasVersion() bool { + return flags.Version == true +} + func (flags *Flags) Parse(version string) { parser := goFlags.NewParser(flags, goFlags.Default) if _, err := parser.Parse(); err != nil { @@ -41,14 +45,10 @@ func (flags *Flags) Parse(version string) { if !flags.HasConfig() { homeDir, err := wtf.Home() if err != nil { + fmt.Printf("Error: %v\n", err) os.Exit(1) } flags.Config = filepath.Join(homeDir, ".wtf", "config.yml") } - - if flags.Version { - fmt.Printf("Version: %s\n", version) - os.Exit(0) - } } diff --git a/help/help.go b/help/help.go index 1ae82d4b..b77035ea 100644 --- a/help/help.go +++ b/help/help.go @@ -2,7 +2,6 @@ package help import ( "fmt" - "os" "github.com/senorprogrammer/wtf/git" "github.com/senorprogrammer/wtf/github" @@ -17,8 +16,6 @@ func Display(moduleName string) { } else { fmt.Printf("%s\n", helpFor(moduleName)) } - - os.Exit(0) } func helpFor(moduleName string) string { diff --git a/wtf.go b/wtf.go index deb72292..c545fd52 100644 --- a/wtf.go +++ b/wtf.go @@ -266,6 +266,12 @@ func main() { if flags.HasModule() { help.Display(flags.Module) + os.Exit(0) + } + + if flags.HasVersion() { + fmt.Println(version) + os.Exit(0) } cfg.CreateConfigDir() @@ -289,7 +295,7 @@ func main() { go watchForConfigChanges(app, flags.Config, display.Grid, pages) if err := app.SetRoot(pages, true).Run(); err != nil { - fmt.Printf("An error occurred: %v\n", err) + fmt.Printf("Error: %v\n", err) os.Exit(1) }