diff --git a/modules/github/settings.go b/modules/github/settings.go index 649f462e..ab18b96b 100644 --- a/modules/github/settings.go +++ b/modules/github/settings.go @@ -1,6 +1,7 @@ package github import ( + "fmt" "os" "github.com/olebedev/config" @@ -29,10 +30,25 @@ func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *co apiKey: ymlConfig.UString("apiKey", os.Getenv("WTF_GITHUB_TOKEN")), baseURL: ymlConfig.UString("baseURL", os.Getenv("WTF_GITHUB_BASE_URL")), enableStatus: ymlConfig.UBool("enableStatus", false), - repositories: wtf.ToStrs(ymlConfig.UList("repositories")), uploadURL: ymlConfig.UString("uploadURL", os.Getenv("WTF_GITHUB_UPLOAD_URL")), username: ymlConfig.UString("username"), } + settings.repositories = parseRepositories(ymlConfig) return &settings } + +func parseRepositories(ymlConfig *config.Config) []string { + + result := []string{} + repositories, err := ymlConfig.Map("repositories") + if err == nil { + for key, value := range repositories { + result = append(result, fmt.Sprintf("%s/%s", value, key)) + } + return result + } + + result = wtf.ToStrs(ymlConfig.UList("repositories")) + return result +} diff --git a/modules/github/widget.go b/modules/github/widget.go index 0883f37d..a025f4d1 100644 --- a/modules/github/widget.go +++ b/modules/github/widget.go @@ -34,6 +34,8 @@ func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) * widget.View.SetInputCapture(widget.InputCapture) widget.SetDisplayFunction(widget.display) + widget.Sources = widget.settings.repositories + widget.KeyboardWidget.SetView(widget.View) return &widget