Project

wirb

No release in over 3 years
Low commit activity in last 3 years
WIRB syntax highlights inspected Ruby objects
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 13.0
~> 2.14

Runtime

>= 0.9, < 3.0
 Project Readme

WIRB Interactive Ruby version

The WIRB gem syntax highlights Ruby objects. Works best as your default REPL inspector (see usage section below), but does not require IRB.

Supported Rubies: 3.1, 2.7, 2.6

Older Rubies, should work: 2.5, 2.4, 2.3, 2.2, 2.1, 2.0, rubinius

Ancient Rubies (1.9, 1.8): Please use WIRB 1.0

Features

  • Syntax highlighting for inspected Ruby objects
  • No monkey patches anywhere
  • Support for generic objects, especially enumerators, and nested generic objects
  • Supports common standard library objects, like Set
  • Color schemas customizable via YAML

Install

Install the gem with:

$ gem install wirb

Or add it to your Gemfile:

gem 'wirb'

Usage

To start IRB with WIRB activated for one session, do:

$ irb -r wirb --inspect wirb

To activate WIRB permanently, you can add this to the ~/.irbrc file:

require 'wirb'
Wirb.start

Another way would be to use Irbtools, which activate WIRB automatically.

Kernel#wp

WIRB comes with a pretty printing utility (similar to awesome_print):

require 'wirb/wp'
wp some_object

Bundled Schemas

These are the bundled color schemas. You can load one with Wirb.load_schema(:name)

  • :classic (default)
  • :colorless (only uses :bright, :underline and :inverse effect)
  • :ultra (by @venantius, matches the colorscheme from Ultra over in Clojure-land)

Usage with Rails

If you run into problems using WIRB with Rails, try the solution in this issue.

Also See

  • Gem that allows you to configure views for specific objects: hirb
  • WIRB is part of: Irbtools
  • More about terminal colors: Paint

Credits

Copyright (c) 2011-2022 Jan Lelis https://janlelis.com see COPYING for details.

First tokenizer version was based on the wirble gem: Copyright (C) 2006-2009 Paul Duncan pabs@pablotron.org

All contributors