class Byebug::CommandList


Holds an array of subcommands for a command

def each

def each
  @commands.each { |cmd| yield(cmd) }
end

def initialize(commands)

def initialize(commands)
  @commands = commands.sort_by(&:to_s)
end

def match(input)

def match(input)
  find { |cmd| cmd.match(input) }
end

def to_s

def to_s
  "\n" + map { |cmd| cmd.columnize(width) }.join + "\n"
end

def width

def width
  @width ||= map(&:to_s).max_by(&:size).size
end