Jazz Hands

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 only

Usage

Ruby 1.9.2+, Rails 3+ 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.

Options

Change the following options by creating an initializer in your Rails project Example config/initializers/jazz_hands.rb:

JazzHands.colored_prompt = false
JazzHands.enable_syntax_highlighting_as_you_type!

colored_prompt

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.

prompt_separator

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

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.

Contributing

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