From faa4bed67abd77c736e3ac504afaa01f51be72ce Mon Sep 17 00:00:00 2001 From: Toshiya Doi Date: Mon, 16 Mar 2020 02:29:22 +0900 Subject: [PATCH] Move colorFuncForState for a PR/issue state to the utils package --- command/issue.go | 2 +- command/pr.go | 15 +-------------- utils/utils.go | 14 ++++++++++++++ 3 files changed, 16 insertions(+), 15 deletions(-) diff --git a/command/issue.go b/command/issue.go index 2b85efc75..fd6e23d7f 100644 --- a/command/issue.go +++ b/command/issue.go @@ -148,7 +148,7 @@ func issueList(cmd *cobra.Command, args []string) error { if labels != "" && table.IsTTY() { labels = fmt.Sprintf("(%s)", labels) } - table.AddField(issueNum, nil, colorFuncForState(issue.State)) + table.AddField(issueNum, nil, utils.ColorFuncForState(issue.State)) table.AddField(replaceExcessiveWhitespace(issue.Title), nil, nil) table.AddField(labels, nil, utils.Gray) table.EndRow() diff --git a/command/pr.go b/command/pr.go index e1c8e796b..161f21263 100644 --- a/command/pr.go +++ b/command/pr.go @@ -232,20 +232,7 @@ func colorFuncForPR(pr api.PullRequest) func(string) string { if pr.State == "OPEN" && pr.IsDraft { return utils.Gray } else { - return colorFuncForState(pr.State) - } -} - -func colorFuncForState(state string) func(string) string { - switch state { - case "OPEN": - return utils.Green - case "CLOSED": - return utils.Red - case "MERGED": - return utils.Magenta - default: - return nil + return utils.ColorFuncForState(pr.State) } } diff --git a/utils/utils.go b/utils/utils.go index 065c4988e..3d157beb5 100644 --- a/utils/utils.go +++ b/utils/utils.go @@ -57,3 +57,17 @@ func FuzzyAgo(ago time.Duration) string { func Spinner() *spinner.Spinner { return spinner.New(spinner.CharSets[11], 400*time.Millisecond) } + +// ColorFuncForState returns a color function for a PR/Issue state +func ColorFuncForState(state string) func(string) string { + switch state { + case "OPEN": + return Green + case "CLOSED": + return Red + case "MERGED": + return Magenta + default: + return nil + } +}