class Byebug::OptionSetter


Handles byebug’s command line options

def debug

def debug
  @opts.on "-d", "--debug", "Set $DEBUG=true" do
    $DEBUG = true
  end
end

def help

def help
  @opts.on "-h", "--help", "Display this message" do
    @runner.help = @opts.help
  end
end

def include_flag

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 initialize(runner, opts)

def initialize(runner, opts)
  @runner = runner
  @opts = opts
end

def post_mortem

def post_mortem
  @opts.on "-m", "--[no-]post-mortem", "Use post-mortem mode" do |v|
    Setting[:post_mortem] = v
  end
end

def quit

def quit
  @opts.on "-q", "--[no-]quit", "Quit when script finishes" do |v|
    @runner.quit = v
  end
end

def rc

def rc
  @opts.on "-x", "--[no-]rc", "Run byebug initialization file" do |v|
    @runner.init_script = v
  end
end

def remote

def remote
  @opts.on "-R", "--remote [host:]port", "Remote debug [host:]port" do |p|
    @runner.remote = p
  end
end

def require_flag

def require_flag
  @opts.on "-r", "--require file", "Require library before script" do |lib|
    require lib
  end
end

def setup

def setup
  debug
  include_flag
  post_mortem
  quit
  rc
  stop
  require_flag
  remote
  trace
  version
  help
end

def stop

def stop
  @opts.on "-s", "--[no-]stop", "Stop when script is loaded" do |v|
    @runner.stop = v
  end
end

def trace

def trace
  @opts.on "-t", "--[no-]trace", "Turn on line tracing" do |v|
    Setting[:linetrace] = v
  end
end

def version

def version
  @opts.on "-v", "--version", "Print program version" do
    @runner.version = Byebug::VERSION
  end
end