|
|
|
|
# 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.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**
|
|
|
|
|
|