Class: Byebug::EnableCommand

Inherits:
Command
  • Object
show all
Defined in:
lib/byebug/commands/enable.rb

Constant Summary collapse

Subcommands =
[
   ['breakpoints', 2, 'Enable specified breakpoints',
    'Give breakpoint numbers (separated by spaces) as arguments. This is ' \
    'used to cancel the effect of the "disable" command.'],
   ['display', 2,
    'Enable some expressions to be displayed when program stops',
    'Arguments are the code numbers of the expressions to resume '     \
    'displaying. Do "info display" to see the current list of code ' \
    'numbers.'],
  ].map do |name, min, short_help, long_help|
  SubcmdStruct.new(name, min, short_help, long_help)
end

Constants inherited from Command

Command::DEF_OPTIONS

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Command

commands, format_subcmd, format_subcmds, help, inherited, #initialize, load_commands, #match, method_missing, options, register_setting_get, register_setting_set, register_setting_var, settings, settings_map

Constructor Details

This class inherits a constructor from Byebug::Command

Class Method Details

.descriptionObject



93
94
95
96
97
98
# File 'lib/byebug/commands/enable.rb', line 93

def description
  %{
    Enable some things.
    This is used to cancel the effect of the "disable" command.
  }
end

.namesObject



89
90
91
# File 'lib/byebug/commands/enable.rb', line 89

def names
  %w(enable)
end

Instance Method Details

#enable_breakpoints(args) ⇒ Object



80
81
82
# File 'lib/byebug/commands/enable.rb', line 80

def enable_breakpoints(args)
  enable_disable_breakpoints('Enable', args)
end

#enable_display(args) ⇒ Object



84
85
86
# File 'lib/byebug/commands/enable.rb', line 84

def enable_display(args)
  enable_disable_display('Enable', args)
end

#executeObject



66
67
68
69
70
71
72
73
74
75
76
77
78
# File 'lib/byebug/commands/enable.rb', line 66

def execute
  return errmsg "\"enable\" must be followed by \"display\", " \
                "\"breakpoints\" or breakpoint numbers.\n" unless @match[1]

  args = @match[1].split(/[ \t]+/)
  param = args.shift
  subcmd = find(Subcommands, param)
  if subcmd
    send("enable_#{subcmd.name}", args)
  else
    send('enable_breakpoints', args.unshift(param))
  end
end

#regexpObject



62
63
64
# File 'lib/byebug/commands/enable.rb', line 62

def regexp
  /^\s* en(?:able)? (?:\s+(.*))?$/ix
end