ansi-code
v1.0.2
Published
Catalog of ANSI standard codes for ASCII terminals
Downloads
3
Readme
ansi-code
Catalog of ANSI standard codes for ASCII terminals
Install
npm install ansi-code
Usage
import {font, cursor, screen, beep} from 'ansi-code'
const write = (...txt: string[]) => process.stdout.write(txt.join(''))
// Erase current screen, and move cursor position to top-left
write(
screen.erase,
cursor.to(0, 0)
)
// Text style
write(
font.style.bold,
'This is a bold text',
font.reset,
cursor.nextLine()
)
// Text color
write(
font.color.red,
'This is a red text',
font.reset,
cursor.nextLine()
)
// Text bgColor
write(
font.bgColor.blue,
'This is a text with blue background',
font.reset,
cursor.nextLine()
)
// Text style, color, and bgColor
write(
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