Sha256: 0c4d08638cf0925c1fcf8ffced327719f08894505e0ffaebcc926eb21ff7b12d

Contents?: true

Size: 1.69 KB

Versions: 4

Compression:

Stored size: 1.69 KB

Contents

#!/usr/bin/env ruby

# (C) John Mair (banisterfiend)
# MIT license

$0 = 'pry'

begin
  require 'pry'
rescue LoadError
  require 'rubygems'
  require 'pry'
end

opts = Slop.parse(:help => true) do
  banner %{Usage: pry [OPTIONS]
Start a Pry session.
See: `https://github.com/banister` for more information.
--
}

  on :e, :exec, "A line of code to execute in context before the session starts", true

  on "no-pager", "Disable pager for long output" do
    Pry.pager = false
  end

  on "no-color", "Disable syntax highlighting for session" do
    Pry.color = false
  end

  on :f, "Suppress loading of ~/.pryrc" do
    # load ~/.pryrc, if not suppressed with -f option
    Pry.config.should_load_rc = false
  end

  on "no-plugins", "Suppress loading of plugins." do
    # suppress plugins if given --no-plugins optino
    Pry.config.plugins.enabled = false
  end

  on "simple-prompt", "Enable simple prompt mode" do
    Pry.prompt = Pry::SIMPLE_PROMPT
  end

  on :r, :require, "`require` a Ruby script at startup", true do |file|
    require file
  end

  on :I, "Add a path to the $LOAD_PATH", true do |path|
    $LOAD_PATH << path
  end

  on :v, :version, "Display the Pry version" do
    puts "Pry version #{Pry::VERSION} on Ruby #{RUBY_VERSION}"
    exit
  end

  on(:c, :context,
    "Start the session in the specified context. Equivalent to `context.pry` in a session.",
    true,
    :default => "TOPLEVEL_BINDING"
    )
end

# invoked via cli
Pry.cli = true

# create the actual context
context = Pry.binding_for(eval(opts[:context]))

# run code passed with `-e`, if there is any.
if opts.exec?
  Pry.new(:input => StringIO.new(opts[:exec]), :print => proc {}).rep(context)
end

# start the session
context.pry

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
pry-0.9.0pre3 bin/pry
pry-0.9.0pre3-i386-mswin32 bin/pry
pry-0.9.0pre3-i386-mingw32 bin/pry
pry-0.9.0pre3-java bin/pry