UNPKG

690 BJavaScriptView Raw
1/**
2 * Encodes a string in a colour: red, yellow or green
3 * @param {String} c colour to highlight in
4 * @param {String} str the string to encode
5 * @return {String} coloured string for terminal printing
6 */
7function colour(c, str) {
8 return (colour[c] || colour.black) + str + colour.black;
9}
10
11function strip(str) {
12 re.lastIndex = 0; // reset position
13 return str.replace(re, '');
14}
15
16colour.red = '\x1B[31m';
17colour.yellow = '\x1B[33m';
18colour.green = '\x1B[32m';
19colour.black = '\x1B[39m';
20
21var reStr = Object.keys(colour).map(key => colour[key]).join('|');
22var re = new RegExp(('(' + reStr + ')').replace(/\[/g, '\\['), 'g');
23
24colour.strip = strip;
25
26module.exports = colour;