# ANSI

[HOME](http://rubyworks.github.com/ansi) ·
[API](http://rubydoc.info/gems/ansi/frames) ·
[MAIL](http://googlegroups.com/group/rubyworks-mailinglist)  ·
[ISSUES](http://github.com/rubyworks/ansi/issues) ·
[SOURCE](http://github.com/rubyworks/ansi)

[![Build Status](https://secure.travis-ci.org/rubyworks/ansi.png)](http://travis-ci.org/rubyworks/ansi)

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.

## 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](http://github.com/rubyworks/ansi/tree/master/qed/)
or the [API documentation](http://rubyworks.github.com/ansi/api/index.html).

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

### RubyGems

To install with RubyGems simply open a console and type:

    $ sudo gem install ansi

### Setup.rb (not recommended)

Local installation requires Setup.rb (gem install setup),
then [download](http://github.com/rubyworks/ansi/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'.


## Release Notes

Please see HISTORY.md file.


## License & Copyrights

Copyright (c) 2009 Rubyworks

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

Some pieces of the code are copyrighted by others.

See LICENSE.txt and NOTICE.md files for details.

