class Commander::HelpFormatter::ProgramContext

def decorate_binding(bind)

def decorate_binding(bind)
  bind.eval("max_command_length = #{max_command_length(bind)}")
  bind.eval("max_aliases_length = #{max_aliases_length(bind)}")
end

def max_aliases_length(bind)

def max_aliases_length(bind)
  max_key_length(bind.eval('@aliases'))
end

def max_command_length(bind)

def max_command_length(bind)
  max_key_length(bind.eval('@commands'))
end

def max_key_length(hash, default = 20)

def max_key_length(hash, default = 20)
  longest = hash.keys.max_by(&:size)
  longest ? longest.size : default
end