Sha256: 46bc366d125682cf9b227288902d586d3c77bbdea6a1891c0006df87e5cd88af

Contents?: true

Size: 1.81 KB

Versions: 16

Compression:

Stored size: 1.81 KB

Contents

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

Version data entries

16 entries across 15 versions & 3 rubygems

Version Path
dirwatch-0.0.2 vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/option_setter.rb
tdiary-5.0.6 vendor/bundle/gems/byebug-9.1.0/lib/byebug/option_setter.rb
byebug-9.1.0 lib/byebug/option_setter.rb
tdiary-5.0.5 vendor/bundle/gems/tdiary-5.0.4/vendor/bundle/gems/byebug-9.0.6/lib/byebug/option_setter.rb
tdiary-5.0.5 vendor/bundle/gems/byebug-9.0.6/lib/byebug/option_setter.rb
tdiary-5.0.4 vendor/bundle/gems/byebug-9.0.6/lib/byebug/option_setter.rb
byebug-9.0.6 lib/byebug/option_setter.rb
byebug-9.0.5 lib/byebug/option_setter.rb
byebug-9.0.4 lib/byebug/option_setter.rb
byebug-9.0.3 lib/byebug/option_setter.rb
byebug-9.0.2 lib/byebug/option_setter.rb
byebug-9.0.1 lib/byebug/option_setter.rb
byebug-9.0.0 lib/byebug/option_setter.rb
byebug-8.2.5 lib/byebug/option_setter.rb
byebug-8.2.4 lib/byebug/option_setter.rb
byebug-8.2.3 lib/byebug/option_setter.rb