ansi-code
Catalog of ANSI standard codes for ASCII terminals
Install
npm install ansi-code
Usage
// Erase current screen, and move cursor position to top-leftwrite screen.erase, cursor.to0, 0 // Text stylewrite font.style.bold, 'This is a bold text', font.reset, cursor.nextLine // Text colorwrite font.color.red, 'This is a red text', font.reset, cursor.nextLine // Text bgColorwrite font.bgColor.blue, 'This is a text with blue background', font.reset, cursor.nextLine // Text style, color, and bgColorwrite font.style.underline, font.color.cyan, font.bgColor.red, 'This is a underlined cyan text with red background', font.reset, cursor.nextLine
API
Exported variables
font
▪ Const
object
Properties:
Name | Type | Value |
---|---|---|
reset |
string | \u001B[0m |
family |
object | see below |
style |
object | see below |
color |
object | see below |
bgColor |
object | see below |
font.family
Name | Type | Value |
---|---|---|
default | string | \u001B[10m |
font1 | string | \u001B[11m |
font2 | string | \u001B[12m |
font3 | string | \u001B[13m |
font4 | string | \u001B[14m |
font5 | string | \u001B[15m |
font.style
Name | Type | Value |
---|---|---|
bold | string | \u001B[1m |
italic | string | \u001B[3m |
underline | string | \u001B[4m |
font.color
Name | Type | Value |
---|---|---|
black | string | \u001B[30m |
red | string | \u001B[31m |
green | string | \u001B[32m |
yellow | string | \u001B[33m |
blue | string | \u001B[34m |
magenta | string | \u001B[35m |
cyan | string | \u001B[36m |
white | string | \u001B[37m |
gray | string | \u001B[90m |
brightRed | string | \u001B[91m |
brightGreen | string | \u001B[92m |
brightYellow | string | \u001B[93m |
brightBlue | string | \u001B[94m |
brightMagenta | string | \u001B[95m |
brightCyan | string | \u001B[96m |
brightWhite | string | \u001B[97m |
rgb | function | (r: number, g: number, b: number) => \u001B[38;2;${r};${g}${b}m |
font.bgColor
Name | Type | Value |
---|---|---|
black | string | \u001B[40m |
red | string | \u001B[41m |
green | string | \u001B[42m |
yellow | string | \u001B[43m |
blue | string | \u001B[44m |
magenta | string | \u001B[45m |
cyan | string | \u001B[46m |
white | string | \u001B[47m |
gray | string | \u001B[100m |
brightRed | string | \u001B[101m |
brightGreen | string | \u001B[102m |
brightYellow | string | \u001B[103m |
brightBlue | string | \u001B[104m |
brightMagenta | string | \u001B[105m |
brightCyan | string | \u001B[106m |
brightWhite | string | \u001B[107m |
rgb | function | (r: number, g: number, b: number) => \u001B[48;2;${r};${g}${b}m |
cursor
▪ Const
object
Properties:
Name | Type | Value | Description |
---|---|---|---|
show |
string | \u001B[?25h | Show the cursor |
hide |
string | \u001B[?25l | Hide the cursor |
save |
string | isAppleTerminal ? '\u001B7' : \u001Bs | Save current cursor position |
restore |
string | isAppleTerminal ? \u001B8 : \u001Bu | Restore cursor position if saved before |
eraseForward |
string | \u001B[0K | Erase from current cursor position to end of the line |
eraseBackward |
string | \u001B[1K | Erase from beginning of the line to current cursor position |
eraseLine |
string | \u001B[2K | Erase entire line |
eraseDown |
string | \u001B[0J | Erase from current cursor position to end of screen |
eraseUp |
string | \u001B[1J | Erase from beginning of the screen to current cursor position |
forward |
function | (n: number) => string | Move the cursor n columns forward |
backward |
function | (n: number) => string | Move the cursor n columns backward |
up |
function | (n: number) => string | Move the cursor n rows up |
down |
function | (n: number) => string | Move the cursor n rows down |
nextLine |
function | (n: number) => string | Move the cursor to beginning of the line n rows down |
previsousLine |
function | (n: number) => string | Move the cursor to beginning of the line n rows up |
move |
function | (x: number,y: number) => string | Move the cursor to column x, row y relative to the current cursor position |
to |
function | (x: number,y?: number) => string | Move the cursor to column x, row y in screen (current view-port). The position starts x: 0, y: 0 from top-left of the screen. |
screen
▪ Const
object
Properties:
Name | Type | Value | Description |
---|---|---|---|
clear |
string | \u001Bc | Clear current screen |
erase |
string | \u001B[2J | Erase entire current screen (the cursor position stays as-is) |
eraseWhole |
string | \u001B[3J | Erase whole screen including scroll-back buffer (the cursor position stays as-is) |
scrollUp |
function | (n: number) => \u001B[${n}S | Move entire screen up for n rows, insert new line at bottom |
scrollDown |
function | (n: number) => \u001B[${n}T | Insert n new lines at the top of screen |
setMode |
function | (mode: string) => \u001B[?${mode}h | Set mode |
resetMode |
function | (mode: string) => \u001B[?${mode}l | Reset mode |
normalBuffer |
string | \u001B[?47l | Switch to normal screen buffer |
alternateBuffer |
string | \u001B[?47h | Switch to alternate screen buffer |
rmcup |
string | \u001B[?1049l | Switch to normal screen buffer, clear memory before switching |
smcup |
string | \u001B[?1049h | Switch to alternate screen buffer, clear memory before switching |
beep
• Const
: \u0007