lib/byebug/option_setter.rb
module Byebug # # Handles byebug's command line options # class OptionSetter def initialize(runner, opts) @runner = runner @opts = opts end def setup debug include_flag post_mortem quit rc stop require_flag remote trace version help end private def debug @opts.on '-d', '--debug', 'Set $DEBUG=true' do $DEBUG = true end end def include_flag @opts.on '-I', '--include list', 'Add to paths to $LOAD_PATH' do |list| $LOAD_PATH.push(list.split(':')).flatten! end end def post_mortem @opts.on '-m', '--[no-]post-mortem', 'Use post-mortem mode' do |v| Setting[:post_mortem] = v end end def quit @opts.on '-q', '--[no-]quit', 'Quit when script finishes' do |v| @runner.quit = v end end def rc @opts.on '-x', '--[no-]rc', 'Run byebug initialization file' do |v| @runner.init_script = v end end def stop @opts.on '-s', '--[no-]stop', 'Stop when script is loaded' do |v| @runner.stop = v end end def require_flag @opts.on '-r', '--require file', 'Require library before script' do |lib| require lib end end def remote @opts.on '-R', '--remote [host:]port', 'Remote debug [host:]port' do |p| @runner.remote = p end end def trace @opts.on '-t', '--[no-]trace', 'Turn on line tracing' do |v| Setting[:linetrace] = v end end def version @opts.on '-v', '--version', 'Print program version' do @runner.version = Byebug::VERSION end end def help @opts.on '-h', '--help', 'Display this message' do @runner.help = @opts.help end end end end