|  |  | # Console Control Strings
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | A library of cross-platform tested terminal/console command strings for
 | 
						
						
						
							|  |  | doing things like color and cursor positioning.  This is a subset of both
 | 
						
						
						
							|  |  | ansi and vt100.  All control codes included work on both Windows & Unix-like
 | 
						
						
						
							|  |  | OSes, except where noted.
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | ## Usage
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | ```js
 | 
						
						
						
							|  |  | var consoleControl = require('console-control-strings')
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | console.log(consoleControl.color('blue','bgRed', 'bold') + 'hi there' + consoleControl.color('reset'))
 | 
						
						
						
							|  |  | process.stdout.write(consoleControl.goto(75, 10))
 | 
						
						
						
							|  |  | ```
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | ## Why Another?
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | There are tons of libraries similar to this one.  I wanted one that was:
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | 1. Very clear about compatibility goals.
 | 
						
						
						
							|  |  | 2. Could emit, for instance, a start color code without an end one.
 | 
						
						
						
							|  |  | 3. Returned strings w/o writing to streams.
 | 
						
						
						
							|  |  | 4. Was not weighed down with other unrelated baggage.
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | ## Functions
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | ### var code = consoleControl.up(_num = 1_)
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | Returns the escape sequence to move _num_ lines up.
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | ### var code = consoleControl.down(_num = 1_)
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | Returns the escape sequence to move _num_ lines down.
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | ### var code = consoleControl.forward(_num = 1_)
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | Returns the escape sequence to move _num_ lines righ.
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | ### var code = consoleControl.back(_num = 1_)
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | Returns the escape sequence to move _num_ lines left.
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | ### var code = consoleControl.nextLine(_num = 1_)
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | Returns the escape sequence to move _num_ lines down and to the beginning of
 | 
						
						
						
							|  |  | the line.
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | ### var code = consoleControl.previousLine(_num = 1_)
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | Returns the escape sequence to move _num_ lines up and to the beginning of
 | 
						
						
						
							|  |  | the line.
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | ### var code = consoleControl.eraseData()
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | Returns the escape sequence to erase everything from the current cursor
 | 
						
						
						
							|  |  | position to the bottom right of the screen.  This is line based, so it
 | 
						
						
						
							|  |  | erases the remainder of the current line and all following lines.
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | ### var code = consoleControl.eraseLine()
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | Returns the escape sequence to erase to the end of the current line.
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | ### var code = consoleControl.goto(_x_, _y_)
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | Returns the escape sequence to move the cursor to the designated position. 
 | 
						
						
						
							|  |  | Note that the origin is _1, 1_ not _0, 0_.
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | ### var code = consoleControl.gotoSOL()
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | Returns the escape sequence to move the cursor to the beginning of the
 | 
						
						
						
							|  |  | current line. (That is, it returns a carriage return, `\r`.)
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | ### var code = consoleControl.beep()
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | Returns the escape sequence to cause the termianl to beep.  (That is, it
 | 
						
						
						
							|  |  | returns unicode character `\x0007`, a Control-G.)
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | ### var code = consoleControl.hideCursor()
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | Returns the escape sequence to hide the cursor.
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | ### var code = consoleControl.showCursor()
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | Returns the escape sequence to show the cursor.
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | ### var code = consoleControl.color(_colors = []_)
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | ### var code = consoleControl.color(_color1_, _color2_, _…_, _colorn_)
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | Returns the escape sequence to set the current terminal display attributes
 | 
						
						
						
							|  |  | (mostly colors).  Arguments can either be a list of attributes or an array
 | 
						
						
						
							|  |  | of attributes.  The difference between passing in an array or list of colors
 | 
						
						
						
							|  |  | and calling `.color` separately for each one, is that in the former case a
 | 
						
						
						
							|  |  | single escape sequence will be produced where as in the latter each change
 | 
						
						
						
							|  |  | will have its own distinct escape sequence.  Each attribute can be one of:
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | * Reset:
 | 
						
						
						
							|  |  |   * **reset** – Reset all attributes to the terminal default.
 | 
						
						
						
							|  |  | * Styles:
 | 
						
						
						
							|  |  |   * **bold** – Display text as bold.  In some terminals this means using a
 | 
						
						
						
							|  |  |     bold font, in others this means changing the color.  In some it means
 | 
						
						
						
							|  |  |     both.
 | 
						
						
						
							|  |  |   * **italic** – Display text as italic. This is not available in most Windows terminals.
 | 
						
						
						
							|  |  |   * **underline** – Underline text. This is not available in most Windows Terminals.
 | 
						
						
						
							|  |  |   * **inverse** – Invert the foreground and background colors.
 | 
						
						
						
							|  |  |   * **stopBold** – Do not display text as bold.
 | 
						
						
						
							|  |  |   * **stopItalic** – Do not display text as italic.
 | 
						
						
						
							|  |  |   * **stopUnderline** – Do not underline text.
 | 
						
						
						
							|  |  |   * **stopInverse** – Do not invert foreground and background.
 | 
						
						
						
							|  |  | * Colors:
 | 
						
						
						
							|  |  |   * **white**
 | 
						
						
						
							|  |  |   * **black**
 | 
						
						
						
							|  |  |   * **blue**
 | 
						
						
						
							|  |  |   * **cyan**
 | 
						
						
						
							|  |  |   * **green**
 | 
						
						
						
							|  |  |   * **magenta**
 | 
						
						
						
							|  |  |   * **red**
 | 
						
						
						
							|  |  |   * **yellow**
 | 
						
						
						
							|  |  |   * **grey** / **brightBlack**
 | 
						
						
						
							|  |  |   * **brightRed**
 | 
						
						
						
							|  |  |   * **brightGreen**
 | 
						
						
						
							|  |  |   * **brightYellow**
 | 
						
						
						
							|  |  |   * **brightBlue**
 | 
						
						
						
							|  |  |   * **brightMagenta**
 | 
						
						
						
							|  |  |   * **brightCyan**
 | 
						
						
						
							|  |  |   * **brightWhite**
 | 
						
						
						
							|  |  | * Background Colors:
 | 
						
						
						
							|  |  |   * **bgWhite**
 | 
						
						
						
							|  |  |   * **bgBlack**
 | 
						
						
						
							|  |  |   * **bgBlue**
 | 
						
						
						
							|  |  |   * **bgCyan**
 | 
						
						
						
							|  |  |   * **bgGreen**
 | 
						
						
						
							|  |  |   * **bgMagenta**
 | 
						
						
						
							|  |  |   * **bgRed**
 | 
						
						
						
							|  |  |   * **bgYellow**
 | 
						
						
						
							|  |  |   * **bgGrey** / **bgBrightBlack**
 | 
						
						
						
							|  |  |   * **bgBrightRed**
 | 
						
						
						
							|  |  |   * **bgBrightGreen**
 | 
						
						
						
							|  |  |   * **bgBrightYellow**
 | 
						
						
						
							|  |  |   * **bgBrightBlue**
 | 
						
						
						
							|  |  |   * **bgBrightMagenta**
 | 
						
						
						
							|  |  |   * **bgBrightCyan**
 | 
						
						
						
							|  |  |   * **bgBrightWhite**
 | 
						
						
						
							|  |  | 
 |