File Manager
Viewing File: 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