Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Binding navigation commands for Pry to make a simple debugger
Ruby
tag: v0.2.0

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
lib
.gitignore
CHANGELOG.md
Gemfile
LICENSE
README.md
Rakefile
pry-nav.gemspec

README.md

pry-nav

Simple execution control in Pry

Teaches Pry about step, next, and continue to create a simple debugger.

To use, invoke pry normally:

def some_method
  binding.pry          # Execution will stop here.
  puts 'Hello World'   # Run 'step' or 'next' in the console to move here.
end

pry-nav is not yet thread-safe, so only use in single-threaded environments.

If you get ArgumentError: uncaught throw :breakout_nav errors, add require 'pry-nav' before calling binding.pry.

Rudimentary support for pry-remote (>= 0.1.1) is also included. Ensure pry-remote is loaded or required before pry-nav. For example, in a Gemfile:

gem 'pry'
gem 'pry-remote'
gem 'pry-nav'

Stepping through code often? Add the following shortcuts to ~/.pryrc:

Pry.commands.alias_command 'c', 'continue'
Pry.commands.alias_command 's', 'step'
Pry.commands.alias_command 'n', 'next'

Debugging functionality is implemented through set_trace_func, which imposes a large performance penalty. pry-nav traces only when necessary, but due to a workaround for a bug in 1.9.2, the console will feel sluggish. Use 1.9.3 for best results and almost no performance penalty.

Contributing

Patches and bug reports are welcome. Just send a pull request or file an issue. Project changelog.

Acknowledgments

Something went wrong with that request. Please try again.