@@ -88,12 +88,13 @@ func (d *direction) UnmarshalYAML(value *yaml.Node) error {
8888}
8989
9090type options struct {
91- BranchMaxLen int `yaml:"branch_max_len"`
92- BranchTrim direction `yaml:"branch_trim"`
93- Ellipsis string `yaml:"ellipsis"`
94- HideClean bool `yaml:"hide_clean"`
95- DivergenceSpace bool `yaml:"divergence_space"`
96- SwapDivergence bool `yaml:"swap_divergence"`
91+ BranchMaxLen int `yaml:"branch_max_len"`
92+ BranchTrim direction `yaml:"branch_trim"`
93+ Ellipsis string `yaml:"ellipsis"`
94+ HideClean bool `yaml:"hide_clean"`
95+ DivergenceSpace bool `yaml:"divergence_space"`
96+ SwapDivergence bool `yaml:"swap_divergence"`
97+ FlagsWithoutCount bool `yaml:"flags_without_count"`
9798}
9899
99100// A Formater formats git status to a tmux style string.
@@ -294,12 +295,19 @@ func (f *Formater) currentRef() string {
294295 return fmt .Sprintf ("%s%s%s" , f .Styles .Clear , f .Styles .Branch , branch )
295296}
296297
298+ // formatFlag formats a flag with or without count based on the flags_without_count option
299+ func (f * Formater ) formatFlag (style , symbol string , count int ) string {
300+ if f .Options .FlagsWithoutCount {
301+ return fmt .Sprintf ("%s%s" , style , symbol )
302+ }
303+ return fmt .Sprintf ("%s%s%d" , style , symbol , count )
304+ }
305+
297306func (f * Formater ) flags () string {
298307 var flags []string
299308 if f .st .IsClean {
300309 if f .st .NumStashed != 0 {
301- flags = append (flags ,
302- fmt .Sprintf ("%s%s%d" , f .Styles .Stashed , f .Symbols .Stashed , f .st .NumStashed ))
310+ flags = append (flags , f .formatFlag (f .Styles .Stashed , f .Symbols .Stashed , f .st .NumStashed ))
303311 }
304312
305313 if ! f .Options .HideClean {
@@ -312,28 +320,23 @@ func (f *Formater) flags() string {
312320 }
313321
314322 if f .st .NumStaged != 0 {
315- flags = append (flags ,
316- fmt .Sprintf ("%s%s%d" , f .Styles .Staged , f .Symbols .Staged , f .st .NumStaged ))
323+ flags = append (flags , f .formatFlag (f .Styles .Staged , f .Symbols .Staged , f .st .NumStaged ))
317324 }
318325
319326 if f .st .NumConflicts != 0 {
320- flags = append (flags ,
321- fmt .Sprintf ("%s%s%d" , f .Styles .Conflict , f .Symbols .Conflict , f .st .NumConflicts ))
327+ flags = append (flags , f .formatFlag (f .Styles .Conflict , f .Symbols .Conflict , f .st .NumConflicts ))
322328 }
323329
324330 if f .st .NumModified != 0 {
325- flags = append (flags ,
326- fmt .Sprintf ("%s%s%d" , f .Styles .Modified , f .Symbols .Modified , f .st .NumModified ))
331+ flags = append (flags , f .formatFlag (f .Styles .Modified , f .Symbols .Modified , f .st .NumModified ))
327332 }
328333
329334 if f .st .NumStashed != 0 {
330- flags = append (flags ,
331- fmt .Sprintf ("%s%s%d" , f .Styles .Stashed , f .Symbols .Stashed , f .st .NumStashed ))
335+ flags = append (flags , f .formatFlag (f .Styles .Stashed , f .Symbols .Stashed , f .st .NumStashed ))
332336 }
333337
334338 if f .st .NumUntracked != 0 {
335- flags = append (flags ,
336- fmt .Sprintf ("%s%s%d" , f .Styles .Untracked , f .Symbols .Untracked , f .st .NumUntracked ))
339+ flags = append (flags , f .formatFlag (f .Styles .Untracked , f .Symbols .Untracked , f .st .NumUntracked ))
337340 }
338341
339342 if len (flags ) > 0 {
0 commit comments