mirror of https://github.com/jkjoy/sunpeiwen.git
146 lines
4.5 KiB
Markdown
146 lines
4.5 KiB
Markdown
# 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**
|
||
|