blob: 16b2586f6b1637e939db42433b3f7c5db205f474 [file] [log] [blame]
// ColorCodes explained: http://www.termsys.demon.co.uk/vtansi.htm
'use strict';
var colorNums = {
white : 37
, black : 30
, blue : 34
, cyan : 36
, green : 32
, magenta : 35
, red : 31
, yellow : 33
, brightBlack : 90
, brightRed : 91
, brightGreen : 92
, brightYellow : 93
, brightBlue : 94
, brightMagenta : 95
, brightCyan : 96
, brightWhite : 97
}
, backgroundColorNums = {
bgBlack : 40
, bgRed : 41
, bgGreen : 42
, bgYellow : 43
, bgBlue : 44
, bgMagenta : 45
, bgCyan : 46
, bgWhite : 47
, bgBrightBlack : 100
, bgBrightRed : 101
, bgBrightGreen : 102
, bgBrightYellow : 103
, bgBrightBlue : 104
, bgBrightMagenta : 105
, bgBrightCyan : 106
, bgBrightWhite : 107
}
, open = {}
, close = {}
, colors = {}
;
Object.keys(colorNums).forEach(function (k) {
var o = open[k] = '\u001b[' + colorNums[k] + 'm';
var c = close[k] = '\u001b[39m';
colors[k] = function (s) {
return o + s + c;
};
});
Object.keys(backgroundColorNums).forEach(function (k) {
var o = open[k] = '\u001b[' + backgroundColorNums[k] + 'm';
var c = close[k] = '\u001b[49m';
colors[k] = function (s) {
return o + s + c;
};
});
module.exports = colors;
colors.open = open;
colors.close = close;