Commit | Line | Data |
cdab9eb9 |
1 | Term::ANSIColor version 2.02 |
2d1e314f |
2 | (A simple ANSI text attribute control module) |
110e9fb0 |
3 | |
c23d8173 |
4 | Copyright 1996, 1997, 1998, 2000, 2001, 2002, 2005, 2006, 2007, 2009 |
5 | Russ Allbery <rra@stanford.edu> and Zenin. This program is free |
6 | software; you may redistribute it and/or modify it under the same terms |
7 | as Perl itself. |
2d1e314f |
8 | |
9 | I welcome bug reports and patches for this package at rra@stanford.edu. |
10 | However, please be aware that I tend to be extremely busy and to get a |
11 | lot of mail. I'll save your mail and get to it as soon as I can, but |
12 | depending on how busy I am it may take me a couple of months. |
110e9fb0 |
13 | |
c23d8173 |
14 | BLURB |
15 | |
16 | Term::ANSIColor provides constants and simple functions for sending ANSI |
17 | text attributes, most notably colors. It can be used to set the current |
18 | text attributes or to apply a set of attributes to a string and reset |
19 | the current text attributes at the end of that string. |
20 | |
21 | DESCRIPTION |
110e9fb0 |
22 | |
23 | This module grew out of a thread on comp.lang.perl.misc where several of |
24 | us were throwing around different ways to print colored text from Perl |
25 | scripts and Zenin posted his old library to do that. I (Russ) disagreed |
26 | with the implementation and offered my own (the color() and colored() |
27 | functions implemented in this package), Zenin convinced me that the |
28 | constants had their place as well, and we started figuring out the best |
29 | ways of implementing both. |
30 | |
31 | While ANSI color escape codes are fairly simple, it can be hard to |
32 | remember the codes for all of the attributes and the code resulting from |
33 | hard-coding them into your script is definitely difficult to read. This |
2d1e314f |
34 | module is designed to fix those problems, as well as provide a |
35 | convenient interface to do a few things for you automatically (like |
36 | resetting attributes after the text you print out so that you don't |
37 | accidentally leave attributes set). |
110e9fb0 |
38 | |
39 | Despite its name, this module can also handle non-color ANSI text |
2d1e314f |
40 | attributes (bold, underline, reverse video, and blink). It uses either |
41 | of two interfaces, one of which uses "constants" for each different |
42 | attribute and the other of which uses two subs which take strings of |
43 | attributes as arguments. |
44 | |
110e9fb0 |
45 | See the POD documentation for complete details, features, and usage. |
46 | |
2d1e314f |
47 | This module is distributed as part of the Perl core distribution as of |
48 | Perl 5.6.0. You only need to install this module if you want a newer |
49 | version than came with Perl or if you have an old version of Perl. |
50 | |
c23d8173 |
51 | REQUIREMENTS |
52 | |
53 | Term::ANSIColor is written in pure Perl and has no module dependencies |
54 | that aren't found in Perl core. It should work with any version of Perl |
55 | after 5.001, although it hasn't been tested with old versions in some |
56 | time. |
57 | |
58 | The test suite requires the Test::More module. To check the POD |
59 | documentation, Test::Pod is also required. To check spelling, |
60 | Pod::Spell and either aspell or ispell with the american dictionary are |
61 | also required. The user's path is searched for aspell or ispell and |
62 | aspell is preferred. Spelling tests are disabled by default since |
63 | spelling dictionaries differ too much between systems. To enable those |
64 | tests, set RRA_MAINTAINER_TESTS to a true value. |
65 | |
110e9fb0 |
66 | INSTALLATION |
67 | |
c23d8173 |
68 | WARNING: Installation of this package will replace the Term::ANSIColor |
69 | that came with Perl for Perl 5.6.0 or later. Term::ANSIColor that came |
70 | with Perl. You may want to save a backup copy of the standard version |
71 | first. |
72 | |
110e9fb0 |
73 | Follow the standard installation procedure for Perl modules, which is to |
74 | type the following commands: |
75 | |
2d1e314f |
76 | perl Makefile.PL |
77 | make |
78 | make test |
79 | make install |
110e9fb0 |
80 | |
81 | You'll probably need to do the last as root. If instead you wish to |
2d1e314f |
82 | install the module by hand, simply copy it into a directory named Term |
83 | in your Perl library directory. |
110e9fb0 |
84 | |
c23d8173 |
85 | HOMEPAGE AND SOURCE REPOSITORY |
86 | |
87 | The Term::ANSIColor web page at: |
88 | |
89 | http://www.eyrie.org/~eagle/software/ansicolor/ |
90 | |
91 | will always have the current version of this package, the current |
92 | documentation, and pointers to any additional resources. |
93 | |
94 | Term::ANSIColor is maintained using Git. You can access the current |
95 | source by cloning the repository at: |
96 | |
97 | git://git.eyrie.org/perl/ansicolor.git |
98 | |
99 | or view the repository on the web at: |
100 | |
101 | http://git.eyrie.org/?p=perl/ansicolor.git |
110e9fb0 |
102 | |
110e9fb0 |
103 | THANKS |
104 | |
105 | To Jon Lennox for looking at early versions of this module, providing |
106 | feedback, and offering suggestions for improvement. |
107 | |
108 | To Jesse Taylor for writing the first significant script to use this |
109 | module (colorized calsplit), thus offering innumerable opportunities to |
110 | test and debug. |
111 | |
112 | To Jean Delvare for providing documentation of what the various |
113 | attributes do on various different terminal emulators, and for noting |
114 | that attribute 2 is dark. |
115 | |
116 | To Edward Avis for the implementation of uncolor. |
117 | |
118 | To Rani Pinchuk for the idea of ANSI_COLORS_DISABLED and an initial |
119 | implementation. |
120 | |
2d1e314f |
121 | To ATricket for the information about what PuTTY, Windows telnet, and |
122 | OpenSSH under Cygwin support. |
110e9fb0 |
123 | |
2e589669 |
124 | To Richard Maus for pointing out DARK was missing from the exported |
125 | constants list and CYAN and WHITE were missing from the documentation. |
126 | |
92c7d2a2 |
127 | To Autrijus Tang for noticing a problem with string comparisons in the |
128 | test suite. |
129 | |
130 | To Daniel Lindsley for the information about what Mac OS X Terminal |
131 | supports. |
132 | |
51da1d85 |
133 | To Joe Smith for the test files that exercise a wide variety of VT100 |
134 | escape sequences including the ECMA-48 color control codes. |
135 | |
136 | To James Bowlin for catching a bug in colored when $EACHLINE is set that |
137 | caused it to not color lines consisting solely of 0. |
138 | |
cd07961b |
139 | To Helge Kreutzmann for pointing out the need for warnings in the |
140 | documentation about background colors that span newlines. |
141 | |
7cd34c57 |
142 | To Baron Schwartz for pointing out that cyan and white were missing from |
143 | the documentation. |
144 | |
c23d8173 |
145 | To Michael R. Wolf for pointing out that Wikipedia and the ECMA standard |
146 | use faint instead of dark as the name of attribute 2. |
147 | |
148 | To openmethods.com voice solutions for contributing PUSHCOLOR, POPCOLOR, |
149 | and LOCALCOLOR support. |
150 | |
b5b25974 |
151 | To Tim Bellinghausen for the AUTOLOAD taint fix for Perl 5.10. |
152 | |
153 | To Paul Miller for the idea and initial implementation of colorstrip. |
154 | |
2d1e314f |
155 | To Larry Wall, as always, for Perl. |