fix: stop automatic sorting for --help
This commit is contained in:
parent
f64acc4404
commit
1ada1a1c06
16
category.go
16
category.go
@ -100,6 +100,9 @@ func newFlagCategories() FlagCategories {
|
|||||||
|
|
||||||
func newFlagCategoriesFromFlags(fs []Flag) FlagCategories {
|
func newFlagCategoriesFromFlags(fs []Flag) FlagCategories {
|
||||||
fc := newFlagCategories()
|
fc := newFlagCategories()
|
||||||
|
if !enableCategory(fs) {
|
||||||
|
return fc
|
||||||
|
}
|
||||||
for _, fl := range fs {
|
for _, fl := range fs {
|
||||||
if cf, ok := fl.(CategorizableFlag); ok {
|
if cf, ok := fl.(CategorizableFlag); ok {
|
||||||
fc.AddFlag(cf.GetCategory(), cf)
|
fc.AddFlag(cf.GetCategory(), cf)
|
||||||
@ -109,6 +112,19 @@ func newFlagCategoriesFromFlags(fs []Flag) FlagCategories {
|
|||||||
return fc
|
return fc
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func enableCategory(fs []Flag) bool {
|
||||||
|
for _, fl := range fs {
|
||||||
|
if cf, ok := fl.(CategorizableFlag); ok {
|
||||||
|
// When a category is specified, it is assumed that the entire command opens the category
|
||||||
|
if len(cf.GetCategory()) != 0 {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
func (f *defaultFlagCategories) AddFlag(category string, fl Flag) {
|
func (f *defaultFlagCategories) AddFlag(category string, fl Flag) {
|
||||||
if _, ok := f.m[category]; !ok {
|
if _, ok := f.m[category]; !ok {
|
||||||
f.m[category] = &defaultVisibleFlagCategory{name: category, m: map[string]Flag{}}
|
f.m[category] = &defaultVisibleFlagCategory{name: category, m: map[string]Flag{}}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user