fix formatting of enum values in flag help text by GautamKumarOffical · Pull Request #13730 · cli/cli · GitHub
Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion pkg/cmd/completion/completion_test.go
4 changes: 2 additions & 2 deletions pkg/cmd/label/list_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ func TestNewCmdList(t *testing.T) {
name: "sort invalid flag",
input: "--sort invalid",
wantErr: true,
errMsg: `invalid argument "invalid" for "--sort" flag: valid values are {created|name}`,
errMsg: `invalid argument "invalid" for "--sort" flag: expected one of "created", "name"`,
},
{
name: "order asc flag",
Expand All @@ -79,7 +79,7 @@ func TestNewCmdList(t *testing.T) {
name: "order invalid flag",
input: "--order invalid",
wantErr: true,
errMsg: `invalid argument "invalid" for "--order" flag: valid values are {asc|desc}`,
errMsg: `invalid argument "invalid" for "--order" flag: expected one of "asc", "desc"`,
},
{
name: "search flag with sort flag",
Expand Down
2 changes: 1 addition & 1 deletion pkg/cmd/pr/diff/diff_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ func Test_NewCmdDiff(t *testing.T) {
name: "invalid --color argument",
args: "--color doublerainbow",
isTTY: true,
wantErr: "invalid argument \"doublerainbow\" for \"--color\" flag: valid values are {always|never|auto}",
wantErr: "invalid argument \"doublerainbow\" for \"--color\" flag: expected one of \"always\", \"never\", \"auto\"",
},
{
name: "web mode",
Expand Down
2 changes: 1 addition & 1 deletion pkg/cmd/project/edit/edit_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ func TestNewCmdEdit(t *testing.T) {
name: "visibility-error",
cli: "--visibility v",
wantsErr: true,
wantsErrMsg: "invalid argument \"v\" for \"--visibility\" flag: valid values are {PUBLIC|PRIVATE}",
wantsErrMsg: "invalid argument \"v\" for \"--visibility\" flag: expected one of \"PUBLIC\", \"PRIVATE\"",
},
{
name: "no-args",
Expand Down
2 changes: 1 addition & 1 deletion pkg/cmd/repo/list/list_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -285,7 +285,7 @@ func TestNewCmdList(t *testing.T) {
{
name: "invalid visibility",
cli: "--visibility=bad",
wantsErr: "invalid argument \"bad\" for \"--visibility\" flag: valid values are {public|private|internal}",
wantsErr: "invalid argument \"bad\" for \"--visibility\" flag: expected one of \"public\", \"private\", \"internal\"",
},
{
name: "no forks with sources",
Expand Down
2 changes: 1 addition & 1 deletion pkg/cmd/search/commits/commits_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ func TestNewCmdCommits(t *testing.T) {
name: "invalid order flag",
input: "--order invalid",
wantErr: true,
errMsg: "invalid argument \"invalid\" for \"--order\" flag: valid values are {asc|desc}",
errMsg: "invalid argument \"invalid\" for \"--order\" flag: expected one of \"asc\", \"desc\"",
},
{
name: "qualifier flags",
Expand Down
2 changes: 1 addition & 1 deletion pkg/cmd/search/issues/issues_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ func TestNewCmdIssues(t *testing.T) {
name: "invalid order flag",
input: "--order invalid",
wantErr: true,
errMsg: "invalid argument \"invalid\" for \"--order\" flag: valid values are {asc|desc}",
errMsg: "invalid argument \"invalid\" for \"--order\" flag: expected one of \"asc\", \"desc\"",
},
{
name: "include-prs flag",
Expand Down
2 changes: 1 addition & 1 deletion pkg/cmd/search/prs/prs_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ func TestNewCmdPrs(t *testing.T) {
name: "invalid order flag",
input: "--order invalid",
wantErr: true,
errMsg: "invalid argument \"invalid\" for \"--order\" flag: valid values are {asc|desc}",
errMsg: "invalid argument \"invalid\" for \"--order\" flag: expected one of \"asc\", \"desc\"",
},
{
name: "app flag",
Expand Down
2 changes: 1 addition & 1 deletion pkg/cmd/search/repos/repos_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ func TestNewCmdRepos(t *testing.T) {
name: "invalid order flag",
input: "--order invalid",
wantErr: true,
errMsg: "invalid argument \"invalid\" for \"--order\" flag: valid values are {asc|desc}",
errMsg: "invalid argument \"invalid\" for \"--order\" flag: expected one of \"asc\", \"desc\"",
},
{
name: "qualifier flags",
Expand Down
10 changes: 7 additions & 3 deletions pkg/cmdutil/flags.go
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,11 @@ func RegisterBranchCompletionFlags(gitc gitClient, cmd *cobra.Command, flags ...
}

func formatValuesForUsageDocs(values []string) string {
return fmt.Sprintf("{%s}", strings.Join(values, "|"))
quoted := make([]string, len(values))
for i, v := range values {
quoted[i] = fmt.Sprintf("%q", v)
}
return fmt.Sprintf("one of %s", strings.Join(quoted, ", "))
}

type stringValue struct {
Expand Down Expand Up @@ -131,7 +135,7 @@ type enumValue struct {

func (e *enumValue) Set(value string) error {
if !isIncluded(value, e.options) {
return fmt.Errorf("valid values are %s", formatValuesForUsageDocs(e.options))
return fmt.Errorf("expected %s", formatValuesForUsageDocs(e.options))
}
*e.string = value
return nil
Expand All @@ -154,7 +158,7 @@ func (e *enumMultiValue) Set(value string) error {
items := strings.Split(value, ",")
for _, item := range items {
if !isIncluded(item, e.options) {
return fmt.Errorf("valid values are %s", formatValuesForUsageDocs(e.options))
return fmt.Errorf("expected %s", formatValuesForUsageDocs(e.options))
}
}
*e.value = append(*e.value, items...)
Expand Down
2 changes: 1 addition & 1 deletion pkg/cmdutil/json_flags_test.go