| /// <reference types="node"/> |
| import {LiteralUnion} from 'type-fest'; |
| |
| declare namespace ansiEscapes { |
| interface ImageOptions { |
| /** |
| The width is 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. |
| */ |
| readonly width?: LiteralUnion<'auto', number | string>; |
| |
| /** |
| The height is 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. |
| */ |
| readonly height?: LiteralUnion<'auto', number | string>; |
| |
| readonly preserveAspectRatio?: boolean; |
| } |
| |
| interface AnnotationOptions { |
| /** |
| Nonzero number of columns to annotate. |
| |
| Default: The remainder of the line. |
| */ |
| readonly length?: number; |
| |
| /** |
| Starting X coordinate. |
| |
| Must be used with `y` and `length`. |
| |
| Default: The cursor position |
| */ |
| readonly x?: number; |
| |
| /** |
| Starting Y coordinate. |
| |
| Must be used with `x` and `length`. |
| |
| Default: Cursor position. |
| */ |
| readonly y?: number; |
| |
| /** |
| Create a "hidden" annotation. |
| |
| Annotations created this way can be shown using the "Show Annotations" iTerm command. |
| */ |
| readonly isHidden?: boolean; |
| } |
| } |
| |
| declare const ansiEscapes: { |
| /** |
| Set the absolute position of the cursor. `x0` `y0` is the top left of the screen. |
| */ |
| cursorTo(x: number, y?: number): string; |
| |
| /** |
| Set the position of the cursor relative to its current position. |
| */ |
| cursorMove(x: number, y?: number): string; |
| |
| /** |
| Move cursor up a specific amount of rows. |
| |
| @param count - Count of rows to move up. Default is `1`. |
| */ |
| cursorUp(count?: number): string; |
| |
| /** |
| Move cursor down a specific amount of rows. |
| |
| @param count - Count of rows to move down. Default is `1`. |
| */ |
| cursorDown(count?: number): string; |
| |
| /** |
| Move cursor forward a specific amount of rows. |
| |
| @param count - Count of rows to move forward. Default is `1`. |
| */ |
| cursorForward(count?: number): string; |
| |
| /** |
| Move cursor backward a specific amount of rows. |
| |
| @param count - Count of rows to move backward. Default is `1`. |
| */ |
| cursorBackward(count?: number): string; |
| |
| /** |
| Move cursor to the left side. |
| */ |
| cursorLeft: string; |
| |
| /** |
| Save cursor position. |
| */ |
| cursorSavePosition: string; |
| |
| /** |
| Restore saved cursor position. |
| */ |
| cursorRestorePosition: string; |
| |
| /** |
| Get cursor position. |
| */ |
| cursorGetPosition: string; |
| |
| /** |
| Move cursor to the next line. |
| */ |
| cursorNextLine: string; |
| |
| /** |
| Move cursor to the previous line. |
| */ |
| cursorPrevLine: string; |
| |
| /** |
| Hide cursor. |
| */ |
| cursorHide: string; |
| |
| /** |
| Show cursor. |
| */ |
| cursorShow: string; |
| |
| /** |
| Erase from the current cursor position up the specified amount of rows. |
| |
| @param count - Count of rows to erase. |
| */ |
| eraseLines(count: number): string; |
| |
| /** |
| Erase from the current cursor position to the end of the current line. |
| */ |
| eraseEndLine: string; |
| |
| /** |
| Erase from the current cursor position to the start of the current line. |
| */ |
| eraseStartLine: string; |
| |
| /** |
| Erase the entire current line. |
| */ |
| eraseLine: string; |
| |
| /** |
| Erase the screen from the current line down to the bottom of the screen. |
| */ |
| eraseDown: string; |
| |
| /** |
| Erase the screen from the current line up to the top of the screen. |
| */ |
| eraseUp: string; |
| |
| /** |
| Erase the screen and move the cursor the top left position. |
| */ |
| eraseScreen: string; |
| |
| /** |
| Scroll display up one line. |
| */ |
| scrollUp: string; |
| |
| /** |
| Scroll display down one line. |
| */ |
| scrollDown: string; |
| |
| /** |
| Clear the terminal screen. (Viewport) |
| */ |
| clearScreen: string; |
| |
| /** |
| Clear the whole terminal, including scrollback buffer. (Not just the visible part of it) |
| */ |
| clearTerminal: string; |
| |
| /** |
| Output a beeping sound. |
| */ |
| beep: string; |
| |
| /** |
| 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. |
| */ |
| link(text: string, url: string): string; |
| |
| /** |
| Display an image. |
| |
| _Currently only supported on iTerm2 >=3_ |
| |
| See [term-img](https://github.com/sindresorhus/term-img) for a higher-level module. |
| |
| @param buffer - Buffer of an image. Usually read in with `fs.readFile()`. |
| */ |
| image(buffer: Buffer, options?: ansiEscapes.ImageOptions): string; |
| |
| iTerm: { |
| /** |
| [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). |
| |
| @param cwd - Current directory. Default: `process.cwd()`. |
| */ |
| setCwd(cwd?: string): string; |
| |
| /** |
| An annotation looks like this when shown: |
| |
|  |
| |
| See the [iTerm Proprietary Escape Codes documentation](https://iterm2.com/documentation-escape-codes.html) for more information. |
| |
| @param message - The message to display within the annotation. The `|` character is disallowed and will be stripped. |
| @returns An escape code which will create an annotation when printed in iTerm2. |
| */ |
| annotation(message: string, options?: ansiEscapes.AnnotationOptions): string; |
| }; |
| |
| // TODO: remove this in the next major version |
| default: typeof ansiEscapes; |
| }; |
| |
| export = ansiEscapes; |