README.md in pry-nav-0.0.3 vs README.md in pry-nav-0.0.4

- old
+ new

@@ -1,24 +1,38 @@ pry-nav ======= _Simple execution control in Pry_ -Adds **step**, **next**, and **continue** commands to your [Pry][pry] -console. Makes for a simple but ghetto debugger. +Teaches [Pry][pry] about **step**, **next**, and **continue** to create a simple +debugger. -Rudimentary support for [pry-remote][pry-remote] is included. Ensure pry-remote -is loaded or required before pry-nav. For example, in a Gemfile: +To use, invoke pry normally: ```ruby +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. + +Rudimentary support for [pry-remote][pry-remote] is also included. Ensure +pry-remote is loaded or required before pry-nav. For example, in a Gemfile: + +```ruby gem 'pry' gem 'pry-remote' gem 'pry-nav' ``` -Note: In order to get correct flow control, `Pry.start` is overriden. Use at -your own risk. +Debugging functionality is implemented through +[`set_trace_func`][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][ruby-bug], 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][pullrequests] or @@ -29,18 +43,15 @@ - Ruby stdlib's [debug.rb][debug.rb] - [@Mon-Ouie][Mon-Ouie]'s [pry_debug][pry_debug] -## TODO - -- Thread safety - - -[pry]: http://pry.github.com -[pry-remote]: https://github.com/Mon-Ouie/pry-remote -[changelog]: https://github.com/nixme/pry-nav/blob/master/CHANGELOG.md -[issues]: https://github.com/nixme/pry-nav/issues -[pullrequests]: https://github.com/nixme/pry-nav/pulls -[debug.rb]: https://github.com/ruby/ruby/blob/trunk/lib/debug.rb -[Mon-Ouie]: https://github.com/Mon-Ouie -[pry_debug]: https://github.com/Mon-Ouie/pry_debug +[pry]: http://pry.github.com +[pry-remote]: https://github.com/Mon-Ouie/pry-remote +[set_trace_func]: http://www.ruby-doc.org/core-1.9.3/Kernel.html#method-i-set_trace_func +[ruby-bug]: http://redmine.ruby-lang.org/issues/3921 +[pullrequests]: https://github.com/nixme/pry-nav/pulls +[issues]: https://github.com/nixme/pry-nav/issues +[changelog]: https://github.com/nixme/pry-nav/blob/master/CHANGELOG.md +[debug.rb]: https://github.com/ruby/ruby/blob/trunk/lib/debug.rb +[Mon-Ouie]: https://github.com/Mon-Ouie +[pry_debug]: https://github.com/Mon-Ouie/pry_debug