Class: Byebug::ShowCommand

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

Overview

Implements byebug “show” command.

Constant Summary collapse

Subcommands =
[
   ['annotate', 2, 'Show annotation level',
    '0 == normal;' \
    '2 == output annotated suitably for use by programs that control ' \
    'byebug.'],
    ['args', 2,
     'Show argument list to give to the program being debugged when it ' \
     'is started',
     'Follow this command with any number of args to be passed to the '  \
     'program.'],
    ['autoeval', 4, 'Show whether unrecognized commands are evaluated'],
    ['autolist', 4, 'Show whether "list" command is run on stopping'],
    ['autoirb', 4, 'Show whether IRB is invoked on stopping'],
    ['autoreload', 4, 'Show whether source code is reloaded when changed'],
    ['basename',  1, 'Show whether basename is used when reporting files'],
    ['callstyle', 2, 'Show paramater style used when showing call frames'],
    ['commands',  2, 'Show the history of commands you typed',
     'You can supply a command number to start with.'],
    ['forcestep', 1, 'Show whether "next/step" force to move onto a new ' \
     'line'],
    ['fullpath',  2, 'Show whether full paths are displayed in frames'],
    ['history', 2, 'Generic command to show command history parameters',
     'show history filename -- Show the filename in which to record the ' \
     'command history.'                                                   \
     'show history save -- Show whether history record should be saved '  \
     'on exit.'                                                           \
     'show history size -- Show the size of the command history.'],
    ['keep-frame-bindings', 1, 'Save frame binding on each call'],
    ['linetrace', 3, 'Show line execution tracing'],
    ['linetrace+', 10,
     'Show whether different consecutive lines are shown in tracing'],
    ['listsize', 3, 'Show number of source lines to list by default.'],
    ['port', 3, 'Show server port'],
    ['post-mortem', 3,
     'Show whether we go into post-mortem debugging on an uncaught ' \
     'exception'],
    ['trace', 1,
     'Show whether a stack trace is displayed when "eval" raises an ' \
     'exception'],
    ['version', 1, 'Show byebug\'s version'],
    ['width', 1, 'Show the number of characters per line for byebug']
  ].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, #find, inherited, #initialize, load_commands, #match, method_missing, options, #print_subcmds, 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

.help(args) ⇒ Object



223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
# File 'lib/byebug/commands/show.rb', line 223

def help(args)
  # specific subcommand help
  if args[1]
    subcmd = find(Subcommands, args[1])
    return "Invalid \"show\" subcommand \"#{args[1]}\"." unless subcmd

    str = subcmd.short_help + '.'
    str += "\n" + subcmd.long_help if subcmd.long_help
    return str
  end

  # general help
  s = "
    Generic command for showing things about byebug.

    --
    List of show subcommands:
    --
  "
  for subcmd in Subcommands do
    s += "show #{subcmd.name} -- #{subcmd.short_help}\n"
  end
  return s
end

.help_commandObject



219
220
221
# File 'lib/byebug/commands/show.rb', line 219

def help_command
  "show"
end

Instance Method Details

#executeObject



203
204
205
206
207
208
209
210
211
212
213
214
215
216
# File 'lib/byebug/commands/show.rb', line 203

def execute
  if not @match[1]
    print_subcmds(Subcommands)
  else
    args = @match[1].split(/[ \t]+/)
    param = args.shift
    subcmd = find(Subcommands, param)
    if subcmd
      print "%s\n" % show_setting(subcmd.name)
    else
      print "Unknown show command #{param}\n"
    end
  end
end

#regexpObject



199
200
201
# File 'lib/byebug/commands/show.rb', line 199

def regexp
  /^show (?: \s+ (.+) )?$/xi
end