Comparison with Pry¶ ↑
👋 IRB is on a mission to match feature parity with Pry. This document is here to help us track the similarities and differences between the two.
Feel free to chip in and update this table - we appreciate your help!
Feature | Pry | IRB | Note |
---|---|---|---|
Supported Rubies | >= 2.0 |
>= 2.7 |
|
Source code browsing | show-source |
show_source |
IRB’s show_source can’t display C source. See #664 |
Document browsing | ri |
show_doc |
|
Live help system | help or command_name --help |
help |
IRB doesn’t support detailed descriptions for individual commands yet |
Open methods in editors | edit |
edit |
|
Syntax highlighting | Yes | Yes | |
Command shell integration | Yes | No | Currently, there’s no plan to support such features in IRB |
Navigation | - ‘cd object` to enter `object` <br/> - `cd ..` to leave the current object <br/> - `nesting` to list nesting levels | - ‘pushws object` <br/> - `popws` <br/> - `workspaces` <br /> - `cd object`/`cd ..` (since [1.14.0](github.com/ruby/irb/releases/tag/v1.14.0)) | We plan to refine IRB’s commands in the future |
Runtime invocation | binding.pry |
binding.irb |
|
Command system | Yes | No | Planned in #513 and #588 |
Input history | Comprehensive support | Supports retrieving previous input and the history command |
The history command doesn’t support as many flags yet, but contributions are welcome. |
Pager support | Command output and return value | Command output and return value | |
Debugger integration | With byebug through pry-byebug gem |
Supports {irb:rdbg } sessions |
|
Rails console | Through {pry-rails } gem |
Rails’ default | Rails console with IRB doesn’t have commands like show-routes or show-models |