mirror of
https://github.com/taigrr/wtf
synced 2025-01-18 04:03:14 -08:00
Make flags package responsible for its own display
This commit is contained in:
parent
4496cc7c31
commit
582eba4c7f
@ -6,6 +6,7 @@ import (
|
|||||||
"path/filepath"
|
"path/filepath"
|
||||||
|
|
||||||
goFlags "github.com/jessevdk/go-flags"
|
goFlags "github.com/jessevdk/go-flags"
|
||||||
|
"github.com/senorprogrammer/wtf/help"
|
||||||
"github.com/senorprogrammer/wtf/wtf"
|
"github.com/senorprogrammer/wtf/wtf"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -26,6 +27,18 @@ func (flags *Flags) ConfigFilePath() string {
|
|||||||
return flags.Config
|
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 {
|
func (flags *Flags) HasConfig() bool {
|
||||||
return len(flags.Config) > 0
|
return len(flags.Config) > 0
|
||||||
}
|
}
|
||||||
@ -38,7 +51,7 @@ func (flags *Flags) HasVersion() bool {
|
|||||||
return flags.Version == true
|
return flags.Version == true
|
||||||
}
|
}
|
||||||
|
|
||||||
func (flags *Flags) Parse(version string) {
|
func (flags *Flags) Parse() {
|
||||||
parser := goFlags.NewParser(flags, goFlags.Default)
|
parser := goFlags.NewParser(flags, goFlags.Default)
|
||||||
if _, err := parser.Parse(); err != nil {
|
if _, err := parser.Parse(); err != nil {
|
||||||
if flagsErr, ok := err.(*goFlags.Error); ok && flagsErr.Type == goFlags.ErrHelp {
|
if flagsErr, ok := err.(*goFlags.Error); ok && flagsErr.Type == goFlags.ErrHelp {
|
||||||
|
15
wtf.go
15
wtf.go
@ -25,7 +25,6 @@ import (
|
|||||||
"github.com/senorprogrammer/wtf/github"
|
"github.com/senorprogrammer/wtf/github"
|
||||||
"github.com/senorprogrammer/wtf/gitlab"
|
"github.com/senorprogrammer/wtf/gitlab"
|
||||||
"github.com/senorprogrammer/wtf/gspreadsheets"
|
"github.com/senorprogrammer/wtf/gspreadsheets"
|
||||||
"github.com/senorprogrammer/wtf/help"
|
|
||||||
"github.com/senorprogrammer/wtf/ipaddresses/ipapi"
|
"github.com/senorprogrammer/wtf/ipaddresses/ipapi"
|
||||||
"github.com/senorprogrammer/wtf/ipaddresses/ipinfo"
|
"github.com/senorprogrammer/wtf/ipaddresses/ipinfo"
|
||||||
"github.com/senorprogrammer/wtf/jenkins"
|
"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) {
|
func makeWidgets(app *tview.Application, pages *tview.Pages) {
|
||||||
mods, _ := Config.Map("wtf.mods")
|
mods, _ := Config.Map("wtf.mods")
|
||||||
|
|
||||||
for mod := range mods {
|
for mod := range mods {
|
||||||
if enabled := Config.UBool("wtf.mods."+mod+".enabled", false); enabled {
|
if enabled := Config.UBool("wtf.mods."+mod+".enabled", false); enabled {
|
||||||
addWidget(app, pages, mod)
|
addWidget(app, pages, mod)
|
||||||
@ -262,17 +262,8 @@ func main() {
|
|||||||
log.SetFlags(log.LstdFlags | log.Lshortfile)
|
log.SetFlags(log.LstdFlags | log.Lshortfile)
|
||||||
|
|
||||||
flags := flags.NewFlags()
|
flags := flags.NewFlags()
|
||||||
flags.Parse(version)
|
flags.Parse()
|
||||||
|
flags.Display(version)
|
||||||
if flags.HasModule() {
|
|
||||||
help.Display(flags.Module)
|
|
||||||
os.Exit(0)
|
|
||||||
}
|
|
||||||
|
|
||||||
if flags.HasVersion() {
|
|
||||||
fmt.Println(version)
|
|
||||||
os.Exit(0)
|
|
||||||
}
|
|
||||||
|
|
||||||
cfg.CreateConfigDir()
|
cfg.CreateConfigDir()
|
||||||
cfg.CreateConfigFile()
|
cfg.CreateConfigFile()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user