class Byebug::HelpCommand - byebug-9.0.6 Documentation

# 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 16
    def self.description
      <<-EOD
        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>
      EOD
    end

regexp() click to toggle source

    # File lib/byebug/commands/help.rb, line 12
    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 28
    def self.short_description
      'Helps you using byebug'
    end

### Public Instance Methods

execute() click to toggle source

    # File lib/byebug/commands/help.rb, line 32
    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 52
    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 46
    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 42
    def help_for_all
      puts(processor.command_list.to_s)
    end

subcommand() click to toggle source

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

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