class Byebug::HelpCommand

Ask for help from byebug's prompt.

Public Class Methods

description() click to toggle source
# File lib/byebug/commands/help.rb, line 17
    def self.description
      <<-DESCRIPTION
        h[elp][ <cmd>[ <subcmd>]]

        #{short_description}

        help                -- prints a summary of all commands
        help <cmd>          -- prints help on command <cmd>
        help <cmd> <subcmd> -- prints help on <cmd>'s subcommand <subcmd>
      DESCRIPTION
    end
regexp() click to toggle source
# File lib/byebug/commands/help.rb, line 13
def self.regexp
  /^\s* h(?:elp)? (?:\s+(\S+))? (?:\s+(\S+))? \s*$/x
end
short_description() click to toggle source
# File lib/byebug/commands/help.rb, line 29
def self.short_description
  "Helps you using byebug"
end

Public Instance Methods

execute() click to toggle source
# File lib/byebug/commands/help.rb, line 33
def execute
  return help_for_all unless @match[1]

  return help_for(@match[1], command) unless @match[2]

  help_for(@match[2], subcommand)
end

Private Instance Methods

command() click to toggle source
# File lib/byebug/commands/help.rb, line 53
def command
  @command ||= processor.command_list.match(@match[1])
end
help_for(input, cmd) click to toggle source
# File lib/byebug/commands/help.rb, line 47
def help_for(input, cmd)
  raise CommandNotFound.new(input, command) unless cmd

  puts(cmd.help)
end
help_for_all() click to toggle source
# File lib/byebug/commands/help.rb, line 43
def help_for_all
  puts(processor.command_list.to_s)
end
subcommand() click to toggle source
# File lib/byebug/commands/help.rb, line 57
def subcommand
  return unless command

  @subcommand ||= command.subcommand_list.match(@match[2])
end