MCPcopy
hub / github.com/urfave/cli / newFlagCategoriesFromFlags

Function newFlagCategoriesFromFlags

category.go:101–134  ·  category.go::newFlagCategoriesFromFlags
(fs []Flag)

Source from the content-addressed store, hash-verified

99}
100
101func newFlagCategoriesFromFlags(fs []Flag) FlagCategories {
102 fc := newFlagCategories()
103
104 var categorized bool
105
106 for _, fl := range fs {
107 if cf, ok := fl.(CategorizableFlag); ok {
108 visible := false
109 if vf, ok := fl.(VisibleFlag); ok {
110 visible = vf.IsVisible()
111 }
112 if cat := cf.GetCategory(); cat != "" && visible {
113 fc.AddFlag(cat, fl)
114 categorized = true
115 }
116 }
117 }
118
119 if categorized {
120 for _, fl := range fs {
121 if cf, ok := fl.(CategorizableFlag); ok {
122 visible := false
123 if vf, ok := fl.(VisibleFlag); ok {
124 visible = vf.IsVisible()
125 }
126 if cf.GetCategory() == "" && visible {
127 fc.AddFlag("", fl)
128 }
129 }
130 }
131 }
132
133 return fc
134}
135
136func (f *defaultFlagCategories) AddFlag(category string, fl Flag) {
137 if _, ok := f.m[category]; !ok {

Callers 3

setupDefaultsMethod · 0.85
setupSubcommandMethod · 0.85
VisibleFlagCategoriesMethod · 0.85

Calls 4

newFlagCategoriesFunction · 0.85
IsVisibleMethod · 0.65
GetCategoryMethod · 0.65
AddFlagMethod · 0.65

Tested by

no test coverage detected