You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							27 lines
						
					
					
						
							690 B
						
					
					
				
			
		
		
	
	
							27 lines
						
					
					
						
							690 B
						
					
					
				| /**
 | |
|  * Encodes a string in a colour: red, yellow or green
 | |
|  * @param  {String} c   colour to highlight in
 | |
|  * @param  {String} str the string to encode
 | |
|  * @return {String}     coloured string for terminal printing
 | |
|  */
 | |
| function colour(c, str) {
 | |
|   return (colour[c] || colour.black) + str + colour.black;
 | |
| }
 | |
| 
 | |
| function strip(str) {
 | |
|   re.lastIndex = 0; // reset position
 | |
|   return str.replace(re, '');
 | |
| }
 | |
| 
 | |
| colour.red = '\x1B[31m';
 | |
| colour.yellow = '\x1B[33m';
 | |
| colour.green = '\x1B[32m';
 | |
| colour.black = '\x1B[39m';
 | |
| 
 | |
| var reStr = Object.keys(colour).map(key => colour[key]).join('|');
 | |
| var re = new RegExp(('(' + reStr + ')').replace(/\[/g, '\\['), 'g');
 | |
| 
 | |
| colour.strip = strip;
 | |
| 
 | |
| module.exports = colour;
 |