UNPKG

962 BJavaScriptView Raw
1var util = require ('util');
2var uColors = util.inspect.colors;
3
4function isNode () {
5 if (typeof process !== 'undefined' && process.argv[0] === "node")
6 return true;
7 return false;
8}
9
10function color () {
11 var args = [].slice.apply (arguments);
12 var colorNames = args.shift();
13 var str = args.join (' ');
14
15 if (!isNode())
16 return str;
17 if (!colorNames)
18 return str;
19
20 var color_attrs = colorNames.split("+");
21 var strPrefix = "", strPostfix = "";
22 for (var i = 0, attr; attr = color_attrs[i]; i++) {
23 strPrefix += "\033[" + uColors[attr][0] + "m";
24 strPostfix += "\033[" + uColors[attr][1] + "m";
25 }
26 var ansi_str = strPrefix + str + strPostfix;
27
28 return ansi_str;
29}
30
31var colorList = "black|red|green|yellow|blue|magenta|cyan|white";
32
33colorList.split ('|').forEach (function (colorName) {
34 if (isNode ()) {
35 uColors[colorName+'_bg'] = [uColors[colorName][0] + 10, 49];
36 }
37 color[colorName] = color.bind (color, colorName);
38});
39
40module.exports = color;