| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125 | '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)}
 |