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