cli-color
Yet another colors and formatting for the console solution
Colors, formatting and other goodies for the console. This package won't mess with built-ins and provides neat way to predefine formatting patterns, see below.
Installation
$ npm install cli-color
Usage
Usage:
var clc = require('cli-color');
Output colored text:
console.log(clc.red('Text in red'));
Styles can be mixed:
console.log(clc.red.bgWhite.underline('Underlined red text on white background.'));
Styled text can be mixed with unstyled:
console.log(clc.red('red') + ' plain ' + clc.blue('blue'));
Best way is to predefine needed stylings and then use it:
var error = clc.red.bold;
var warn = clc.yellow;
var notice = clc.blue;
console.log(error('Error!'));
console.log(warn('Warning'));
console.log(notice('Notice'));
Supported are all ANSI colors and styles:
Styles
Styles will display correctly if font used in your console supports them.
- bold
- italic
- underline
- blink
- inverse
- strike
Colors
Foreground | Background | |
---|
black | bgBlack | |
red | bgRed | |
green | bgGreen | |
yellow | bgYellow | |
blue | bgBlue | |
magenta | bgMagenta | |
cyan | bgCyan | |
white | bgWhite | |
Bright variants
Foreground | Background | |
---|
blackBright | bgBlackBright | |
redBright | bgRedBright | |
greenBright | bgGreenBright | |
yellowBright | bgYellowBright | |
blueBright | bgBlueBright | |
magentaBright | bgMagentaBright | |
cyanBright | bgCyanBright | |
whiteBright | bgWhiteBright | |
xTerm colors (256 colors table)
Not supported on Windows and some terminals. However if used in not supported environment, the closest color from basic (16 colors) palette is chosen.
Usage:
var msg = clc.xterm(202).bgXterm(236);
console.log(msg('Orange text on dark gray background'));
Color table:
0 | | 1 | | 2 | | 3 | | 4 | | 5 | | 6 | | 7 | |
8 | | 9 | | 10 | | 11 | | 12 | | 13 | | 14 | | 15 | |
16 | | 17 | | 18 | | 19 | | 20 | | 21 | |
22 | | 23 | | 24 | | 25 | | 26 | | 27 | |
28 | | 29 | | 30 | | 31 | | 32 | | 33 | |
34 | | 35 | | 36 | | 37 | | 38 | | 39 | |
40 | | 41 | | 42 | | 43 | | 44 | | 45 | |
46 | | 47 | | 48 | | 49 | | 50 | | 51 | |
52 | | 53 | | 54 | | 55 | | 56 | | 57 | |
58 | | 59 | | 60 | | 61 | | 62 | | 63 | |
64 | | 65 | | 66 | | 67 | | 68 | | 69 | |
70 | | 71 | | 72 | | 73 | | 74 | | 75 | |
76 | | 77 | | 78 | | 79 | | 80 | | 81 | |
82 | | 83 | | 84 | | 85 | | 86 | | 87 | |
88 | | 89 | | 90 | | 91 | | 92 | | 93 | |
94 | | 95 | | 96 | | 97 | | 98 | | 99 | |
100 | | 101 | | 102 | | 103 | | 104 | | 105 | |
106 | | 107 | | 108 | | 109 | | 110 | | 111 | |
112 | | 113 | | 114 | | 115 | | 116 | | 117 | |
118 | | 119 | | 120 | | 121 | | 122 | | 123 | |
124 | | 125 | | 126 | | 127 | | 128 | | 129 | |
130 | | 131 | | 132 | | 133 | | 134 | | 135 | |
136 | | 137 | | 138 | | 139 | | 140 | | 141 | |
142 | | 143 | | 144 | | 145 | | 146 | | 147 | |
148 | | 149 | | 150 | | 151 | | 152 | | 153 | |
154 | | 155 | | 156 | | 157 | | 158 | | 159 | |
160 | | 161 | | 162 | | 163 | | 164 | | 165 | |
166 | | 167 | | 168 | | 169 | | 170 | | 171 | |
172 | | 173 | | 174 | | 175 | | 176 | | 177 | |
178 | | 179 | | 180 | | 181 | | 182 | | 183 | |
184 | | 185 | | 186 | | 187 | | 188 | | 189 | |
190 | | 191 | | 192 | | 193 | | 194 | | 195 | |
196 | | 197 | | 198 | | 199 | | 200 | | 201 | |
202 | | 203 | | 204 | | 205 | | 206 | | 207 | |
208 | | 209 | | 210 | | 211 | | 212 | | 213 | |
214 | | 215 | | 216 | | 217 | | 218 | | 219 | |
220 | | 221 | | 222 | | 223 | | 224 | | 225 | |
226 | | 227 | | 228 | | 229 | | 230 | | 231 | |
232 | | 233 | | 234 | | 235 | | 236 | | 237 | |
238 | | 239 | | 240 | | 241 | | 242 | | 243 | |
244 | | 245 | | 246 | | 247 | | 248 | | 249 | |
250 | | 251 | | 252 | | 253 | | 254 | | 255 | |
Terminal reset
Terminal can be cleared with clc.reset
console.log(clc.reset);
Move around functions
clc.move(x, y)
Move cursor x columns and y rows away. Values can be positive or negative, e.g.:
process.stdout.write(clc.move(-2, -2));
clc.moveTo(x, y)
Absolute move. Sets cursor position at x column and y row
process.stdout.write(clc.moveTo(0, 0));
clc.bol([n[, erase]])
Move cursor to the begining of the line, with n we may specify how many lines away we want to move, value can be positive or negative. Additionally we may decide to clear lines content with erase
process.stdout.write(clc.bol(-2));
clc.up(n)
Move cursor up n rows
clc.down(n)
Move cursor down n rows
clc.right(n)
Move cursor right n columns
clc.left(n)
Move cursor left n columns
Terminal characteristics
clc.width
Returns terminal width
clc.height
Returns terminal height
Additional functionalities (provided as separate modules)
trim(formatedText) (cli-color/trim)
Trims ANSI formatted string to plain text
var ansiTrim = require('cli-color/trim');
var plain = ansiTrim(formatted);
throbber(write, interval[, format]) (cli-color/throbber)
Writes throbber string to write function at given interval. Optionally throbber output can be formatted with given format function
var setupThrobber = require('cli-color/throbber');
var throbber = setupThrobber(function (str) {
process.stdout.write(str);
}, 200);
throbber.start();
throbber.stop();
Tests
$ npm test