2020-01-28 13:07:56 +08:00
/// <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() ` .
* /
2020-03-22 05:13:25 +08:00
setCwd ( cwd? : string ) : string ;
2020-01-28 13:07:56 +08:00
/ * *
An annotation looks like this when shown :
! [ screenshot of iTerm annotation ] ( https : //user-images.githubusercontent.com/924465/64382136-b60ac700-cfe9-11e9-8a35-9682e8dc4b72.png)
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 ;