@@ -113,10 +113,11 @@ def print_tap_listings(tap)
113113 puts commands . join ( ", " )
114114 end
115115
116- print_section ( tap , "Formulae" , formula_names , installed_formulae ) do |name |
116+ min_width = ( formula_names + cask_tokens ) . map { |n | Tty . strip_ansi ( pretty_uninstalled ( n ) ) . length } . max || 0
117+ print_section ( tap , "Formulae" , formula_names , installed_formulae , min_width :) do |name |
117118 decorate_formula ( tap , name , installed : installed_formula_names . include? ( name ) )
118119 end
119- print_section ( tap , "Casks" , cask_tokens , installed_casks ) do |token |
120+ print_section ( tap , "Casks" , cask_tokens , installed_casks , min_width : ) do |token |
120121 decorate_cask ( tap , token , installed : installed_cask_tokens . include? ( token ) )
121122 end
122123 end
@@ -127,18 +128,19 @@ def print_tap_listings(tap)
127128 label : String ,
128129 all : T ::Array [ String ] ,
129130 installed : T ::Array [ String ] ,
131+ min_width : Integer ,
130132 block : T . proc . params ( name : String ) . returns ( String ) ,
131133 ) . void
132134 }
133- def print_section ( tap , label , all , installed , &block )
135+ def print_section ( tap , label , all , installed , min_width : , &block )
134136 return if all . none?
135137
136138 if all . size <= LISTING_LIMIT
137- ohai label , Formatter . columns ( all . map ( &block ) )
139+ ohai label , Formatter . columns ( all . map ( &block ) , min_width : )
138140 elsif installed . any?
139141 ohai label
140142 opoo "Tap has more than #{ LISTING_LIMIT } #{ label . downcase } ; showing only installed entries."
141- puts Formatter . columns ( installed . map ( &block ) )
143+ puts Formatter . columns ( installed . map ( &block ) , min_width : )
142144 else
143145 ohai label
144146 opoo "Tap has more than #{ LISTING_LIMIT } #{ label . downcase } and none are installed."
0 commit comments