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.
		
		
		
		
		
			
		
			
				
					
					
						
							126 lines
						
					
					
						
							2.3 KiB
						
					
					
				
			
		
		
	
	
							126 lines
						
					
					
						
							2.3 KiB
						
					
					
				'use strict'
 | 
						|
 | 
						|
// These tables borrowed from `ansi`
 | 
						|
 | 
						|
var prefix = '\x1b['
 | 
						|
 | 
						|
exports.up = function up (num) {
 | 
						|
  return prefix + (num || '') + 'A'
 | 
						|
}
 | 
						|
 | 
						|
exports.down = function down (num) {
 | 
						|
  return prefix + (num || '') + 'B'
 | 
						|
}
 | 
						|
 | 
						|
exports.forward = function forward (num) {
 | 
						|
  return prefix + (num || '') + 'C'
 | 
						|
}
 | 
						|
 | 
						|
exports.back = function back (num) {
 | 
						|
  return prefix + (num || '') + 'D'
 | 
						|
}
 | 
						|
 | 
						|
exports.nextLine = function nextLine (num) {
 | 
						|
  return prefix + (num || '') + 'E'
 | 
						|
}
 | 
						|
 | 
						|
exports.previousLine = function previousLine (num) {
 | 
						|
  return prefix + (num || '') + 'F'
 | 
						|
}
 | 
						|
 | 
						|
exports.horizontalAbsolute = function horizontalAbsolute (num) {
 | 
						|
  if (num == null) throw new Error('horizontalAboslute requires a column to position to')
 | 
						|
  return prefix + num + 'G'
 | 
						|
}
 | 
						|
 | 
						|
exports.eraseData = function eraseData () {
 | 
						|
  return prefix + 'J'
 | 
						|
}
 | 
						|
 | 
						|
exports.eraseLine = function eraseLine () {
 | 
						|
  return prefix + 'K'
 | 
						|
}
 | 
						|
 | 
						|
exports.goto = function (x, y) {
 | 
						|
  return prefix + y + ';' + x + 'H'
 | 
						|
}
 | 
						|
 | 
						|
exports.gotoSOL = function () {
 | 
						|
  return '\r'
 | 
						|
}
 | 
						|
 | 
						|
exports.beep = function () {
 | 
						|
  return '\x07'
 | 
						|
}
 | 
						|
 | 
						|
exports.hideCursor = function hideCursor () {
 | 
						|
  return prefix + '?25l'
 | 
						|
}
 | 
						|
 | 
						|
exports.showCursor = function showCursor () {
 | 
						|
  return prefix + '?25h'
 | 
						|
}
 | 
						|
 | 
						|
var colors = {
 | 
						|
  reset: 0,
 | 
						|
// styles
 | 
						|
  bold: 1,
 | 
						|
  italic: 3,
 | 
						|
  underline: 4,
 | 
						|
  inverse: 7,
 | 
						|
// resets
 | 
						|
  stopBold: 22,
 | 
						|
  stopItalic: 23,
 | 
						|
  stopUnderline: 24,
 | 
						|
  stopInverse: 27,
 | 
						|
// colors
 | 
						|
  white: 37,
 | 
						|
  black: 30,
 | 
						|
  blue: 34,
 | 
						|
  cyan: 36,
 | 
						|
  green: 32,
 | 
						|
  magenta: 35,
 | 
						|
  red: 31,
 | 
						|
  yellow: 33,
 | 
						|
  bgWhite: 47,
 | 
						|
  bgBlack: 40,
 | 
						|
  bgBlue: 44,
 | 
						|
  bgCyan: 46,
 | 
						|
  bgGreen: 42,
 | 
						|
  bgMagenta: 45,
 | 
						|
  bgRed: 41,
 | 
						|
  bgYellow: 43,
 | 
						|
 | 
						|
  grey: 90,
 | 
						|
  brightBlack: 90,
 | 
						|
  brightRed: 91,
 | 
						|
  brightGreen: 92,
 | 
						|
  brightYellow: 93,
 | 
						|
  brightBlue: 94,
 | 
						|
  brightMagenta: 95,
 | 
						|
  brightCyan: 96,
 | 
						|
  brightWhite: 97,
 | 
						|
 | 
						|
  bgGrey: 100,
 | 
						|
  bgBrightBlack: 100,
 | 
						|
  bgBrightRed: 101,
 | 
						|
  bgBrightGreen: 102,
 | 
						|
  bgBrightYellow: 103,
 | 
						|
  bgBrightBlue: 104,
 | 
						|
  bgBrightMagenta: 105,
 | 
						|
  bgBrightCyan: 106,
 | 
						|
  bgBrightWhite: 107
 | 
						|
}
 | 
						|
 | 
						|
exports.color = function color (colorWith) {
 | 
						|
  if (arguments.length !== 1 || !Array.isArray(colorWith)) {
 | 
						|
    colorWith = Array.prototype.slice.call(arguments)
 | 
						|
  }
 | 
						|
  return prefix + colorWith.map(colorNameToCode).join(';') + 'm'
 | 
						|
}
 | 
						|
 | 
						|
function colorNameToCode (color) {
 | 
						|
  if (colors[color] != null) return colors[color]
 | 
						|
  throw new Error('Unknown color or style name: ' + color)
 | 
						|
}
 |