# 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 18
        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 14
    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 30
    def self.short_description
      "Helps you using byebug"
    end

### Public Instance Methods

execute() click to toggle source

    # File lib/byebug/commands/help.rb, line 34
    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 54
    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 48
    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 44
    def help_for_all
      puts(processor.command_list.to_s)
    end

subcommand() click to toggle source

    # File lib/byebug/commands/help.rb, line 58
    def subcommand
      return unless command

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