ANSI

Home / API / Code / Mail

<img src=“http://travis-ci.org/rubyworks/ansi.png” />

DESCRIPTION

The ANSI project is a collection of ANSI escape code related libraries enabling ANSI code based colorization and stylization of output. It is very nice for beautifying shell output.

This collection is based on a set of scripts spun-off from Ruby Facets. Included are Code (used to be ANSICode), Logger, ProgressBar and String. In addition the library includes Terminal which provides information about the current output device.

FEATURES

  • ANSI::Code provides ANSI codes as module functions.

  • String#ansi makes common usage very easy and elegant.

  • ANSI::Mixin provides an alternative mixin (like colored gem).

  • Very Good coverage of standard ANSI codes.

  • Additional clases for colorized columns, tables, loggers and more.

RELEASE NOTES

Please see HISTORY file.

SYNOPSIS

There are a number of modules and classes provided by the ANSI package. To get a good understanding of them it is best to pursue the QED documents or the API documentation.

At the heart of all the provided libraries lies the ANSI::Code module which defines ANSI codes as constants and methods. For example:

require 'ansi/code'

ANSI.red + "Hello" + ANSI.blue + "World"
=> "\e[31mHello\e[34mWorld"

Or in block form.

ANSI.red{ "Hello" } + ANSI.blue{ "World" }
=> "\e[31mHello\e[0m\e[34mWorld\e[0m"

The methods defined by this module are used throughout the rest of the system.

INSTALLATION

To install with RubyGems simply open a console and type:

$ sudo gem install ansi

Local installation requires Setup.rb (gem install setup), then download the tarball package and type:

$ tar -xvzf ansi-1.0.0.tgz
$ cd ansi-1.0.0
$ sudo setup.rb all

Windows users use ‘ruby setup.rb all’.

LICENSE & COPYRIGHTS

Copyright © 2009 Rubyworks

This program is redistributable under the terms of the FreeBSD license.

Some pieces of the code are copyrighted by others.

See COPYING.rdoc file for details.