diff --git a/main.go b/main.go index 5e6031786..a10fafdbe 100644 --- a/main.go +++ b/main.go @@ -199,7 +199,8 @@ func makeWidget(app *tview.Application, pages *tview.Pages, widgetName string) w cfg := clocks.NewSettingsFromYAML(wtf.Config) widget = clocks.NewWidget(app, cfg) case "cmdrunner": - widget = cmdrunner.NewWidget(app) + cfg := cmdrunner.NewSettingsFromYAML(wtf.Config) + widget = cmdrunner.NewWidget(app, cfg) case "cryptolive": widget = cryptolive.NewWidget(app) case "datadog": diff --git a/modules/bamboohr/widget.go b/modules/bamboohr/widget.go index 5fd874c1c..5091cecbc 100644 --- a/modules/bamboohr/widget.go +++ b/modules/bamboohr/widget.go @@ -2,7 +2,6 @@ package bamboohr import ( "fmt" - // "os" "github.com/rivo/tview" "github.com/wtfutil/wtf/wtf" diff --git a/modules/circleci/widget.go b/modules/circleci/widget.go index 66b429c24..ce8ecf628 100644 --- a/modules/circleci/widget.go +++ b/modules/circleci/widget.go @@ -2,7 +2,6 @@ package circleci import ( "fmt" - // "os" "github.com/rivo/tview" "github.com/wtfutil/wtf/wtf" diff --git a/modules/cmdrunner/settings.go b/modules/cmdrunner/settings.go new file mode 100644 index 000000000..1629e25f6 --- /dev/null +++ b/modules/cmdrunner/settings.go @@ -0,0 +1,27 @@ +package cmdrunner + +import ( + "github.com/olebedev/config" + "github.com/wtfutil/wtf/cfg" + "github.com/wtfutil/wtf/wtf" +) + +type Settings struct { + common *cfg.Common + + args []string + cmd string +} + +func NewSettingsFromYAML(ymlConfig *config.Config) *Settings { + localConfig, _ := ymlConfig.Get("wtf.mods.cmdrunner") + + settings := Settings{ + common: cfg.NewCommonSettingsFromYAML(ymlConfig), + + args: wtf.ToStrs(wtf.Config.UList("args")), + cmd: localConfig.UString("cmd"), + } + + return &settings +} diff --git a/modules/cmdrunner/widget.go b/modules/cmdrunner/widget.go index 2c812db91..5d1fd13c1 100644 --- a/modules/cmdrunner/widget.go +++ b/modules/cmdrunner/widget.go @@ -12,17 +12,19 @@ import ( type Widget struct { wtf.TextWidget - args []string - cmd string - result string + args []string + cmd string + result string + settings *Settings } -func NewWidget(app *tview.Application) *Widget { +func NewWidget(app *tview.Application, settings *Settings) *Widget { widget := Widget{ TextWidget: wtf.NewTextWidget(app, "CmdRunner", "cmdrunner", false), - args: wtf.ToStrs(wtf.Config.UList("wtf.mods.cmdrunner.args")), - cmd: wtf.Config.UString("wtf.mods.cmdrunner.cmd"), + args: settings.args, + cmd: settings.cmd, + settings: settings, } widget.View.SetWrap(true)