Skip to content

Commit

Permalink
Merge pull request #1869 from dearchap/issue_1860_v3
Browse files Browse the repository at this point in the history
Fix:(issue_1860) Remove hidden flags from flag categories
  • Loading branch information
dearchap authored Feb 19, 2024
2 parents b3e47b0 + 0f95e2a commit f33a9e0
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 2 deletions.
12 changes: 10 additions & 2 deletions category.go
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,11 @@ func newFlagCategoriesFromFlags(fs []Flag) FlagCategories {

for _, fl := range fs {
if cf, ok := fl.(CategorizableFlag); ok {
if cat := cf.GetCategory(); cat != "" {
visible := false
if vf, ok := fl.(VisibleFlag); ok {
visible = vf.IsVisible()
}
if cat := cf.GetCategory(); cat != "" && visible {
fc.AddFlag(cat, fl)
categorized = true
}
Expand All @@ -115,7 +119,11 @@ func newFlagCategoriesFromFlags(fs []Flag) FlagCategories {
if categorized {
for _, fl := range fs {
if cf, ok := fl.(CategorizableFlag); ok {
if cf.GetCategory() == "" {
visible := false
if vf, ok := fl.(VisibleFlag); ok {
visible = vf.IsVisible()
}
if cf.GetCategory() == "" && visible {
fc.AddFlag("", fl)
}
}
Expand Down
9 changes: 9 additions & 0 deletions command_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -518,11 +518,20 @@ func TestCommand_VisibleFlagCategories(t *testing.T) {
&StringFlag{
Name: "strd", // no category set
},
&StringFlag{
Name: "strd1", // no category set and also hidden
Hidden: true,
},
&IntFlag{
Name: "intd",
Aliases: []string{"altd1", "altd2"},
Category: "cat1",
},
&StringFlag{
Name: "sfd",
Category: "cat2", // category set and hidden
Hidden: true,
},
},
MutuallyExclusiveFlags: []MutuallyExclusiveFlags{{
Category: "cat2",
Expand Down

0 comments on commit f33a9e0

Please sign in to comment.