| SubcmdStruct2 | = | Struct.new(:name, :min, :is_bool, :short_help,                               :long_help) unless defined?(SubcmdStruct2) | 
        
          | Subcommands | = | [        ['annotate', 2, false,        "Set annotation level", "0 == normal; 2 == output annotated suitably for use by programs that control  ruby-debug."],        ['args', 2, false,        "Set argument list to give program being debugged when it is started", "Follow this command with any number of args, to be passed to the program."],        ['autoeval', 4, true,         "Evaluate every unrecognized command"],        ['autolist', 4, true,         "Execute 'list' command on every breakpoint"],        ['autoirb', 4, true,         "Invoke IRB on every stop"],        ['autoreload', 4, true,         "Reload source code when changed"],        ['basename', 1, true,         "Report file basename only showing file names"],        ['callstyle', 2, false,         "Set how you want call parameters displayed"],        ['debuggertesting', 8, false,         "Used when testing the debugger"],        ['forcestep', 2, true,         "Make sure 'next/step' commands always move to a new line"],        ['fullpath', 2, true,         "Display full file names in frames"],        ['history', 2, false,         "Generic command for setting command history parameters", "set history filename -- Set the filename in which to record the command history set history save -- Set saving of the history record on exit set history size -- Set the size of the command history"],        ['keep-frame-bindings', 1, true,         "Save frame binding on each call"],        ['linetrace+', 10, true,        "Set line execution tracing to show different lines"],        ['linetrace', 3, true,        "Set line execution tracing"],        ['listsize', 3, false,        "Set number of source lines to list by default"], #        ['post-mortem', 3, true, #        "Set whether we do post-mortem handling on an uncaught exception"],        ['trace', 1, true,         "Display stack trace when 'eval' raises exception"],        ['width', 1, false,         "Number of characters the debugger thinks are in a line"],       ].map do |name, min, is_bool, short_help, long_help|        SubcmdStruct2.new(name, min, is_bool, short_help, long_help) |