mirror of
https://github.com/taigrr/wtf
synced 2025-01-18 04:03:14 -08:00
Re-add command line help
This commit is contained in:
parent
7f3daaac59
commit
cd35d1e0a3
@ -6,11 +6,14 @@ import (
|
|||||||
"path/filepath"
|
"path/filepath"
|
||||||
|
|
||||||
goFlags "github.com/jessevdk/go-flags"
|
goFlags "github.com/jessevdk/go-flags"
|
||||||
|
"github.com/olebedev/config"
|
||||||
|
"github.com/wtfutil/wtf/help"
|
||||||
"github.com/wtfutil/wtf/utils"
|
"github.com/wtfutil/wtf/utils"
|
||||||
)
|
)
|
||||||
|
|
||||||
type Flags struct {
|
type Flags struct {
|
||||||
Config string `short:"c" long:"config" optional:"yes" description:"Path to config file"`
|
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'"`
|
||||||
Profile bool `short:"p" long:"profile" optional:"yes" description:"Profile application memory usage"`
|
Profile bool `short:"p" long:"profile" optional:"yes" description:"Profile application memory usage"`
|
||||||
Version bool `short:"v" long:"version" description:"Show version info"`
|
Version bool `short:"v" long:"version" description:"Show version info"`
|
||||||
}
|
}
|
||||||
@ -26,7 +29,12 @@ func (flags *Flags) ConfigFilePath() string {
|
|||||||
return flags.Config
|
return flags.Config
|
||||||
}
|
}
|
||||||
|
|
||||||
func (flags *Flags) Display(version string) {
|
func (flags *Flags) Display(version string, config *config.Config) {
|
||||||
|
if flags.HasModule() {
|
||||||
|
help.Display(flags.Module, config)
|
||||||
|
os.Exit(0)
|
||||||
|
}
|
||||||
|
|
||||||
if flags.HasVersion() {
|
if flags.HasVersion() {
|
||||||
fmt.Println(version)
|
fmt.Println(version)
|
||||||
os.Exit(0)
|
os.Exit(0)
|
||||||
@ -37,6 +45,10 @@ func (flags *Flags) HasConfig() bool {
|
|||||||
return len(flags.Config) > 0
|
return len(flags.Config) > 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (flags *Flags) HasModule() bool {
|
||||||
|
return len(flags.Module) > 0
|
||||||
|
}
|
||||||
|
|
||||||
func (flags *Flags) HasVersion() bool {
|
func (flags *Flags) HasVersion() bool {
|
||||||
return flags.Version == true
|
return flags.Version == true
|
||||||
}
|
}
|
||||||
|
22
help/help.go
Normal file
22
help/help.go
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
package help
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
|
||||||
|
//"github.com/wtfutil/wtf/cfg"
|
||||||
|
"github.com/olebedev/config"
|
||||||
|
"github.com/wtfutil/wtf/maker"
|
||||||
|
)
|
||||||
|
|
||||||
|
func Display(moduleName string, config *config.Config) {
|
||||||
|
if moduleName == "" {
|
||||||
|
fmt.Println("\n --module takes a module name as an argument, i.e: '--module=github'")
|
||||||
|
} else {
|
||||||
|
fmt.Printf("%s\n", helpFor(moduleName, config))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func helpFor(moduleName string, config *config.Config) string {
|
||||||
|
widget := maker.MakeWidget(nil, nil, moduleName, moduleName, config, config)
|
||||||
|
return widget.HelpText()
|
||||||
|
}
|
5
main.go
5
main.go
@ -114,14 +114,13 @@ func main() {
|
|||||||
|
|
||||||
flags := flags.NewFlags()
|
flags := flags.NewFlags()
|
||||||
flags.Parse()
|
flags.Parse()
|
||||||
flags.Display(version)
|
config := cfg.LoadConfigFile(flags.ConfigFilePath())
|
||||||
|
flags.Display(version, config)
|
||||||
|
|
||||||
cfg.MigrateOldConfig()
|
cfg.MigrateOldConfig()
|
||||||
cfg.CreateConfigDir()
|
cfg.CreateConfigDir()
|
||||||
cfg.CreateConfigFile()
|
cfg.CreateConfigFile()
|
||||||
|
|
||||||
config := cfg.LoadConfigFile(flags.ConfigFilePath())
|
|
||||||
|
|
||||||
if flags.Profile {
|
if flags.Profile {
|
||||||
defer profile.Start(profile.MemProfile).Stop()
|
defer profile.Start(profile.MemProfile).Stop()
|
||||||
}
|
}
|
||||||
|
@ -64,6 +64,10 @@ func (widget *Widget) Render() {
|
|||||||
widget.Redraw(widget.CommonSettings.Title, content, false)
|
widget.Redraw(widget.CommonSettings.Title, content, false)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (widget *Widget) HelpText() string {
|
||||||
|
return widget.KeyboardWidget.HelpText()
|
||||||
|
}
|
||||||
|
|
||||||
/* -------------------- Unexported Functions -------------------- */
|
/* -------------------- Unexported Functions -------------------- */
|
||||||
|
|
||||||
func (widget *Widget) contentFrom(triggeredMonitors []datadog.Monitor) string {
|
func (widget *Widget) contentFrom(triggeredMonitors []datadog.Monitor) string {
|
||||||
|
@ -90,6 +90,10 @@ func (widget *Widget) Refresh() {
|
|||||||
widget.display()
|
widget.display()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (widget *Widget) HelpText() string {
|
||||||
|
return widget.KeyboardWidget.HelpText()
|
||||||
|
}
|
||||||
|
|
||||||
/* -------------------- Unexported Functions -------------------- */
|
/* -------------------- Unexported Functions -------------------- */
|
||||||
|
|
||||||
func (widget *Widget) nextProject() {
|
func (widget *Widget) nextProject() {
|
||||||
|
@ -85,6 +85,10 @@ func (widget *Widget) Refresh() {
|
|||||||
widget.display()
|
widget.display()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (widget *Widget) HelpText() string {
|
||||||
|
return widget.KeyboardWidget.HelpText()
|
||||||
|
}
|
||||||
|
|
||||||
/* -------------------- Unexported Functions -------------------- */
|
/* -------------------- Unexported Functions -------------------- */
|
||||||
|
|
||||||
func (widget *Widget) addCheckoutButton(form *tview.Form, fctn func()) {
|
func (widget *Widget) addCheckoutButton(form *tview.Form, fctn func()) {
|
||||||
|
@ -67,6 +67,10 @@ func (widget *Widget) Prev() {
|
|||||||
widget.display()
|
widget.display()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (widget *Widget) HelpText() string {
|
||||||
|
return widget.KeyboardWidget.HelpText()
|
||||||
|
}
|
||||||
|
|
||||||
/* -------------------- Unexported Functions -------------------- */
|
/* -------------------- Unexported Functions -------------------- */
|
||||||
|
|
||||||
func (widget *Widget) buildRepoCollection(repoData map[string]interface{}) []*GithubRepo {
|
func (widget *Widget) buildRepoCollection(repoData map[string]interface{}) []*GithubRepo {
|
||||||
|
@ -73,6 +73,10 @@ func (widget *Widget) Prev() {
|
|||||||
widget.display()
|
widget.display()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (widget *Widget) HelpText() string {
|
||||||
|
return widget.KeyboardWidget.HelpText()
|
||||||
|
}
|
||||||
|
|
||||||
/* -------------------- Unexported Functions -------------------- */
|
/* -------------------- Unexported Functions -------------------- */
|
||||||
|
|
||||||
func (widget *Widget) buildProjectCollection(projectData map[string]interface{}) []*GitlabProject {
|
func (widget *Widget) buildProjectCollection(projectData map[string]interface{}) []*GitlabProject {
|
||||||
|
@ -64,6 +64,10 @@ func (widget *Widget) Refresh() {
|
|||||||
widget.display()
|
widget.display()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (widget *Widget) HelpText() string {
|
||||||
|
return widget.KeyboardWidget.HelpText()
|
||||||
|
}
|
||||||
|
|
||||||
/* -------------------- Unexported Functions -------------------- */
|
/* -------------------- Unexported Functions -------------------- */
|
||||||
|
|
||||||
func (widget *Widget) display() {
|
func (widget *Widget) display() {
|
||||||
|
@ -79,6 +79,10 @@ func (widget *Widget) Refresh() {
|
|||||||
widget.display()
|
widget.display()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (widget *Widget) HelpText() string {
|
||||||
|
return widget.KeyboardWidget.HelpText()
|
||||||
|
}
|
||||||
|
|
||||||
/* -------------------- Unexported Functions -------------------- */
|
/* -------------------- Unexported Functions -------------------- */
|
||||||
|
|
||||||
func (widget *Widget) addCheckoutButton(form *tview.Form, fctn func()) {
|
func (widget *Widget) addCheckoutButton(form *tview.Form, fctn func()) {
|
||||||
|
@ -47,6 +47,10 @@ func (widget *Widget) Refresh() {
|
|||||||
widget.Redraw(widget.CommonSettings.Title, widget.nbascore(), false)
|
widget.Redraw(widget.CommonSettings.Title, widget.nbascore(), false)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (widget *Widget) HelpText() string {
|
||||||
|
return widget.KeyboardWidget.HelpText()
|
||||||
|
}
|
||||||
|
|
||||||
func (widget *Widget) nbascore() string {
|
func (widget *Widget) nbascore() string {
|
||||||
cur := time.Now().AddDate(0, 0, offset) // Go back/forward offset days
|
cur := time.Now().AddDate(0, 0, offset) // Go back/forward offset days
|
||||||
curString := cur.Format("20060102") // Need 20060102 format to feed to api
|
curString := cur.Format("20060102") // Need 20060102 format to feed to api
|
||||||
|
@ -55,6 +55,10 @@ func (w *Widget) Refresh() {
|
|||||||
w.render()
|
w.render()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (widget *Widget) HelpText() string {
|
||||||
|
return widget.KeyboardWidget.HelpText()
|
||||||
|
}
|
||||||
|
|
||||||
func (w *Widget) render() {
|
func (w *Widget) render() {
|
||||||
err := w.refreshSpotifyInfos()
|
err := w.refreshSpotifyInfos()
|
||||||
var content string
|
var content string
|
||||||
|
@ -165,6 +165,10 @@ func (w *Widget) Refresh() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (widget *Widget) HelpText() string {
|
||||||
|
return widget.KeyboardWidget.HelpText()
|
||||||
|
}
|
||||||
|
|
||||||
func (w *Widget) createOutput() string {
|
func (w *Widget) createOutput() string {
|
||||||
output := wtf.CenterText(fmt.Sprintf("[green]Now %v [white]\n", w.Info.Status), w.Width())
|
output := wtf.CenterText(fmt.Sprintf("[green]Now %v [white]\n", w.Info.Status), w.Width())
|
||||||
output += wtf.CenterText(fmt.Sprintf("[green]Title:[white] %v\n", w.Info.Title), w.Width())
|
output += wtf.CenterText(fmt.Sprintf("[green]Title:[white] %v\n", w.Info.Title), w.Width())
|
||||||
|
@ -63,6 +63,10 @@ func (widget *Widget) Refresh() {
|
|||||||
widget.display()
|
widget.display()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (widget *Widget) HelpText() string {
|
||||||
|
return widget.KeyboardWidget.HelpText()
|
||||||
|
}
|
||||||
|
|
||||||
/* -------------------- Unexported Functions -------------------- */
|
/* -------------------- Unexported Functions -------------------- */
|
||||||
|
|
||||||
func (widget *Widget) display() {
|
func (widget *Widget) display() {
|
||||||
|
@ -65,6 +65,10 @@ func (widget *Widget) SetList(list checklist.Checklist) {
|
|||||||
widget.list = list
|
widget.list = list
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (widget *Widget) HelpText() string {
|
||||||
|
return widget.KeyboardWidget.HelpText()
|
||||||
|
}
|
||||||
|
|
||||||
/* -------------------- Unexported Functions -------------------- */
|
/* -------------------- Unexported Functions -------------------- */
|
||||||
|
|
||||||
// edit opens a modal dialog that permits editing the text of the currently-selected item
|
// edit opens a modal dialog that permits editing the text of the currently-selected item
|
||||||
|
@ -77,6 +77,10 @@ func (w *Widget) Refresh() {
|
|||||||
w.display()
|
w.display()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (widget *Widget) HelpText() string {
|
||||||
|
return widget.KeyboardWidget.HelpText()
|
||||||
|
}
|
||||||
|
|
||||||
/* -------------------- Keyboard Movement -------------------- */
|
/* -------------------- Keyboard Movement -------------------- */
|
||||||
|
|
||||||
// Down selects the next item in the list
|
// Down selects the next item in the list
|
||||||
|
@ -54,6 +54,10 @@ func (widget *Widget) Refresh() {
|
|||||||
widget.display()
|
widget.display()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (widget *Widget) HelpText() string {
|
||||||
|
return widget.KeyboardWidget.HelpText()
|
||||||
|
}
|
||||||
|
|
||||||
/* -------------------- Unexported Functions -------------------- */
|
/* -------------------- Unexported Functions -------------------- */
|
||||||
|
|
||||||
func (widget *Widget) display() {
|
func (widget *Widget) display() {
|
||||||
|
@ -87,6 +87,10 @@ func (widget *Widget) Prev() {
|
|||||||
widget.display()
|
widget.display()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (widget *Widget) HelpText() string {
|
||||||
|
return widget.KeyboardWidget.HelpText()
|
||||||
|
}
|
||||||
|
|
||||||
/* -------------------- Unexported Functions -------------------- */
|
/* -------------------- Unexported Functions -------------------- */
|
||||||
|
|
||||||
func (widget *Widget) apiKeyValid() bool {
|
func (widget *Widget) apiKeyValid() bool {
|
||||||
|
@ -112,6 +112,10 @@ func (widget *BarGraph) TextView() *tview.TextView {
|
|||||||
return widget.View
|
return widget.View
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (widget *BarGraph) HelpText() string {
|
||||||
|
return "No help available for this widget"
|
||||||
|
}
|
||||||
|
|
||||||
/* -------------------- Unexported Functions -------------------- */
|
/* -------------------- Unexported Functions -------------------- */
|
||||||
|
|
||||||
func (widget *BarGraph) addView() *tview.TextView {
|
func (widget *BarGraph) addView() *tview.TextView {
|
||||||
|
@ -78,7 +78,7 @@ func (widget *KeyboardWidget) InputCapture(event *tcell.EventKey) *tcell.EventKe
|
|||||||
return event
|
return event
|
||||||
}
|
}
|
||||||
|
|
||||||
func (widget *KeyboardWidget) helpText() string {
|
func (widget *KeyboardWidget) HelpText() string {
|
||||||
|
|
||||||
str := "Keyboard commands for " + widget.settings.Module.Type + "\n\n"
|
str := "Keyboard commands for " + widget.settings.Module.Type + "\n\n"
|
||||||
|
|
||||||
@ -99,7 +99,7 @@ func (widget *KeyboardWidget) ShowHelp() {
|
|||||||
widget.app.SetFocus(widget.view)
|
widget.app.SetFocus(widget.view)
|
||||||
}
|
}
|
||||||
|
|
||||||
modal := NewBillboardModal(widget.helpText(), closeFunc)
|
modal := NewBillboardModal(widget.HelpText(), closeFunc)
|
||||||
|
|
||||||
widget.pages.AddPage("help", modal, false, true)
|
widget.pages.AddPage("help", modal, false, true)
|
||||||
widget.app.SetFocus(modal)
|
widget.app.SetFocus(modal)
|
||||||
|
@ -119,6 +119,10 @@ func (widget *TextWidget) Redraw(title, text string, wrap bool) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (widget *TextWidget) HelpText() string {
|
||||||
|
return fmt.Sprintf("\n There is no help available for this widget")
|
||||||
|
}
|
||||||
|
|
||||||
/* -------------------- Unexported Functions -------------------- */
|
/* -------------------- Unexported Functions -------------------- */
|
||||||
|
|
||||||
func (widget *TextWidget) addView() *tview.TextView {
|
func (widget *TextWidget) addView() *tview.TextView {
|
||||||
|
@ -14,6 +14,7 @@ type Wtfable interface {
|
|||||||
Name() string
|
Name() string
|
||||||
SetFocusChar(string)
|
SetFocusChar(string)
|
||||||
TextView() *tview.TextView
|
TextView() *tview.TextView
|
||||||
|
HelpText() string
|
||||||
|
|
||||||
Height() int
|
Height() int
|
||||||
Left() int
|
Left() int
|
||||||
|
Loading…
x
Reference in New Issue
Block a user