You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
245 lines
4.9 KiB
245 lines
4.9 KiB
# ansi-escapes |
|
|
|
> [ANSI escape codes](http://www.termsys.demon.co.uk/vtansi.htm) for manipulating the terminal |
|
|
|
## Install |
|
|
|
``` |
|
$ npm install ansi-escapes |
|
``` |
|
|
|
## Usage |
|
|
|
```js |
|
const ansiEscapes = require('ansi-escapes'); |
|
|
|
// Moves the cursor two rows up and to the left |
|
process.stdout.write(ansiEscapes.cursorUp(2) + ansiEscapes.cursorLeft); |
|
//=> '\u001B[2A\u001B[1000D' |
|
``` |
|
|
|
## API |
|
|
|
### cursorTo(x, y?) |
|
|
|
Set the absolute position of the cursor. `x0` `y0` is the top left of the screen. |
|
|
|
### cursorMove(x, y?) |
|
|
|
Set the position of the cursor relative to its current position. |
|
|
|
### cursorUp(count) |
|
|
|
Move cursor up a specific amount of rows. Default is `1`. |
|
|
|
### cursorDown(count) |
|
|
|
Move cursor down a specific amount of rows. Default is `1`. |
|
|
|
### cursorForward(count) |
|
|
|
Move cursor forward a specific amount of columns. Default is `1`. |
|
|
|
### cursorBackward(count) |
|
|
|
Move cursor backward a specific amount of columns. Default is `1`. |
|
|
|
### cursorLeft |
|
|
|
Move cursor to the left side. |
|
|
|
### cursorSavePosition |
|
|
|
Save cursor position. |
|
|
|
### cursorRestorePosition |
|
|
|
Restore saved cursor position. |
|
|
|
### cursorGetPosition |
|
|
|
Get cursor position. |
|
|
|
### cursorNextLine |
|
|
|
Move cursor to the next line. |
|
|
|
### cursorPrevLine |
|
|
|
Move cursor to the previous line. |
|
|
|
### cursorHide |
|
|
|
Hide cursor. |
|
|
|
### cursorShow |
|
|
|
Show cursor. |
|
|
|
### eraseLines(count) |
|
|
|
Erase from the current cursor position up the specified amount of rows. |
|
|
|
### eraseEndLine |
|
|
|
Erase from the current cursor position to the end of the current line. |
|
|
|
### eraseStartLine |
|
|
|
Erase from the current cursor position to the start of the current line. |
|
|
|
### eraseLine |
|
|
|
Erase the entire current line. |
|
|
|
### eraseDown |
|
|
|
Erase the screen from the current line down to the bottom of the screen. |
|
|
|
### eraseUp |
|
|
|
Erase the screen from the current line up to the top of the screen. |
|
|
|
### eraseScreen |
|
|
|
Erase the screen and move the cursor the top left position. |
|
|
|
### scrollUp |
|
|
|
Scroll display up one line. |
|
|
|
### scrollDown |
|
|
|
Scroll display down one line. |
|
|
|
### clearScreen |
|
|
|
Clear the terminal screen. (Viewport) |
|
|
|
### clearTerminal |
|
|
|
Clear the whole terminal, including scrollback buffer. (Not just the visible part of it) |
|
|
|
### beep |
|
|
|
Output a beeping sound. |
|
|
|
### link(text, url) |
|
|
|
Create a clickable link. |
|
|
|
[Supported terminals.](https://gist.github.com/egmontkob/eb114294efbcd5adb1944c9f3cb5feda) Use [`supports-hyperlinks`](https://github.com/jamestalmage/supports-hyperlinks) to detect link support. |
|
|
|
### image(filePath, options?) |
|
|
|
Display an image. |
|
|
|
*Currently only supported on iTerm2 >=3* |
|
|
|
See [term-img](https://github.com/sindresorhus/term-img) for a higher-level module. |
|
|
|
#### input |
|
|
|
Type: `Buffer` |
|
|
|
Buffer of an image. Usually read in with `fs.readFile()`. |
|
|
|
#### options |
|
|
|
Type: `object` |
|
|
|
##### width |
|
##### height |
|
|
|
Type: `string | number` |
|
|
|
The width and height are given as a number followed by a unit, or the word "auto". |
|
|
|
- `N`: N character cells. |
|
- `Npx`: N pixels. |
|
- `N%`: N percent of the session's width or height. |
|
- `auto`: The image's inherent size will be used to determine an appropriate dimension. |
|
|
|
##### preserveAspectRatio |
|
|
|
Type: `boolean`\ |
|
Default: `true` |
|
|
|
### iTerm.setCwd(path?) |
|
|
|
Type: `string`\ |
|
Default: `process.cwd()` |
|
|
|
[Inform iTerm2](https://www.iterm2.com/documentation-escape-codes.html) of the current directory to help semantic history and enable [Cmd-clicking relative paths](https://coderwall.com/p/b7e82q/quickly-open-files-in-iterm-with-cmd-click). |
|
|
|
### iTerm.annotation(message, options?) |
|
|
|
Creates an escape code to display an "annotation" in iTerm2. |
|
|
|
An annotation looks like this when shown: |
|
|
|
<img src="https://user-images.githubusercontent.com/924465/64382136-b60ac700-cfe9-11e9-8a35-9682e8dc4b72.png" width="500"> |
|
|
|
See the [iTerm Proprietary Escape Codes documentation](https://iterm2.com/documentation-escape-codes.html) for more information. |
|
|
|
#### message |
|
|
|
Type: `string` |
|
|
|
The message to display within the annotation. |
|
|
|
The `|` character is disallowed and will be stripped. |
|
|
|
#### options |
|
|
|
Type: `object` |
|
|
|
##### length |
|
|
|
Type: `number`\ |
|
Default: The remainder of the line |
|
|
|
Nonzero number of columns to annotate. |
|
|
|
##### x |
|
|
|
Type: `number`\ |
|
Default: Cursor position |
|
|
|
Starting X coordinate. |
|
|
|
Must be used with `y` and `length`. |
|
|
|
##### y |
|
|
|
Type: `number`\ |
|
Default: Cursor position |
|
|
|
Starting Y coordinate. |
|
|
|
Must be used with `x` and `length`. |
|
|
|
##### isHidden |
|
|
|
Type: `boolean`\ |
|
Default: `false` |
|
|
|
Create a "hidden" annotation. |
|
|
|
Annotations created this way can be shown using the "Show Annotations" iTerm command. |
|
|
|
## Related |
|
|
|
- [ansi-styles](https://github.com/chalk/ansi-styles) - ANSI escape codes for styling strings in the terminal |
|
|
|
--- |
|
|
|
<div align="center"> |
|
<b> |
|
<a href="https://tidelift.com/subscription/pkg/npm-ansi-escapes?utm_source=npm-ansi-escapes&utm_medium=referral&utm_campaign=readme">Get professional support for this package with a Tidelift subscription</a> |
|
</b> |
|
<br> |
|
<sub> |
|
Tidelift helps make open source sustainable for maintainers while giving companies<br>assurances about security, maintenance, and licensing for their dependencies. |
|
</sub> |
|
</div>
|
|
|