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.
$ npm install cli-color
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 will display correctly if font used in your console supports them.
- bold
- italic
- underline
- blink
- inverse
- strike
Foreground | Background | |
---|---|---|
black | bgBlack | |
red | bgRed | |
green | bgGreen | |
yellow | bgYellow | |
blue | bgBlue | |
magenta | bgMagenta | |
cyan | bgCyan | |
white | bgWhite |
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:
Terminal can be cleared with clc.reset
console.log(clc.reset);
Move cursor x columns and y rows away. Values can be positive or negative, e.g.:
process.stdout.write(clc.move(-2, -2)); // Move cursors two columns and two rows back
Absolute move. Sets cursor position at x column and y row
process.stdout.write(clc.moveTo(0, 0)); // Move cursor to first row and first column in terminal window
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)); // Move cursor two lines back and place it at begin of the line
Move cursor up n rows
Move cursor down n rows
Move cursor right n columns
Move cursor left n columns
Returns terminal width
Returns terminal height
Trims ANSI formatted string to plain text
var ansiTrim = require('cli-color/trim');
var plain = ansiTrim(formatted);
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();
// at any time you can stop/start throbber
throbber.stop();
$ npm test