Spending hours in the rails console? Spruce it up and show off those hard-working hands!
jazz_hands is an opinionated set of console-related gems and a bit of glue:
- Pry for a powerful shell alternative to IRB.
- Awesome Print for stylish pretty print.
- Hirb for tabular collection output.
- Pry Rails for additional commands (
show-routes
,show-models
,show-middleware
) in the Rails console. - Pry Doc to browse Ruby source, including C, directly from the console.
- Pry Git to teach the console about git. Diffs, blames, and commits on methods and classes, not just files.
- Pry Remote to connect remotely to a Pry console.
- Pry Debugger to turn the console into a simple debugger.
- Pry Stack Explorer to navigate the call stack and frames.
- Coolline and Coderay for syntax highlighting as you type. Optional. MRI 1.9.3/2.0.0 only
Ruby 1.9.2+, Rails 3 or 4 only. Add to your project Gemfile:
group :development, :test do
gem 'jazz_hands'
end
That's it. Run rails console
as usual.
Hirb isn't enabled by default. To use, run Hirb.enable
in the console.
Ruby compiled against a proper readline library, ideally GNU readline, is
recommended. Alternatively, gem install rb-readline
for an
acceptible backup. Using ruby compiled against a libedit
wrapper (primarily OS
X) will work but is not recommended.
Change the following options by creating an initializer in your Rails project
Example config/initializers/jazz_hands.rb
:
if defined?(JazzHands)
JazzHands.colored_prompt = false
JazzHands.enable_syntax_highlighting_as_you_type!
end
Color the console prompt? Defaults to true
when the current ruby is compiled
against GNU readline or rb-readline
, which don't have issues counting
characters in colored prompts. false
for libedit.
Note: Pry.color = false
trumps this setting and disables all console coloring.
Separator string between the application name and line input. Defaults to »
for GNU readline or libedit. Defaults to >
for rb-readline
which fails on
mixed encodings.
Syntax highlighting as you type via Coolline and Coderay
is disabled by default due to slightly buggy behavior. To enable, add
JazzHands.enable_syntax_highlighting_as_you_type!
to the initializer. Only
works with MRI 1.9.3 or 2.0.0.
Patches and bug reports are welcome. Just send a pull request or file an issue. Project changelog.