185 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			185 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
# ansi-escapes [](https://travis-ci.org/sindresorhus/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 rows. Default is `1`.
 | 
						|
 | 
						|
### cursorBackward(count)
 | 
						|
 | 
						|
Move cursor backward a specific amount of rows. 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(input, [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
 | 
						|
 | 
						|
##### 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`<br>
 | 
						|
Default: `true`
 | 
						|
 | 
						|
### iTerm.setCwd([path])
 | 
						|
 | 
						|
Type: `string`<br>
 | 
						|
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).
 | 
						|
 | 
						|
 | 
						|
## Related
 | 
						|
 | 
						|
- [ansi-styles](https://github.com/chalk/ansi-styles) - ANSI escape codes for styling strings in the terminal
 | 
						|
 | 
						|
 | 
						|
## License
 | 
						|
 | 
						|
MIT © [Sindre Sorhus](https://sindresorhus.com)
 |