246 lines
		
	
	
		
			4.9 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			246 lines
		
	
	
		
			4.9 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| # 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>
 | 
