パッケージの詳細

ansi-escape-sequences

75lb2mMIT6.2.4

A simple library containing all known terminal ansi escape codes and sequences.

ansi, terminal, colour, color

readme

view on npm npm module downloads Gihub repo dependents Gihub package dependents Node.js CI js-standard-style

ansi-escape-sequences

A simple library containing all known terminal ansi escape codes and sequences. Useful for adding colour to your command-line output, or building a dynamic text user interface.

API Reference

Example

import ansi from 'ansi-escape-sequences'

ansi.cursor

cursor-related sequences

Kind: static property of ansi-escape-sequences

cursor.hide

Hides the cursor

Kind: static property of cursor

cursor.show

Shows the cursor

Kind: static property of cursor

cursor.up([lines]) ⇒ string

Moves the cursor lines cells up. If the cursor is already at the edge of the screen, this has no effect

Kind: static method of cursor

Param Type Default
[lines] number 1

cursor.down([lines]) ⇒ string

Moves the cursor lines cells down. If the cursor is already at the edge of the screen, this has no effect

Kind: static method of cursor

Param Type Default
[lines] number 1

cursor.forward([lines]) ⇒ string

Moves the cursor lines cells forward. If the cursor is already at the edge of the screen, this has no effect

Kind: static method of cursor

Param Type Default
[lines] number 1

cursor.back([lines]) ⇒ string

Moves the cursor lines cells back. If the cursor is already at the edge of the screen, this has no effect

Kind: static method of cursor

Param Type Default
[lines] number 1

cursor.nextLine([lines]) ⇒ string

Moves cursor to beginning of the line n lines down.

Kind: static method of cursor

Param Type Default
[lines] number 1

cursor.previousLine([lines]) ⇒ string

Moves cursor to beginning of the line n lines up.

Kind: static method of cursor

Param Type Default
[lines] number 1

cursor.horizontalAbsolute(n) ⇒ string

Moves the cursor to column n.

Kind: static method of cursor

Param Type Description
n number column number

cursor.position(n, m) ⇒ string

Moves the cursor to row n, column m. The values are 1-based, and default to 1 (top left corner) if omitted.

Kind: static method of cursor

Param Type Description
n number row number
m number column number

ansi.erase

erase sequences

Kind: static property of ansi-escape-sequences

erase.display(n) ⇒ string

Clears part of the screen. If n is 0 (or missing), clear from cursor to end of screen. If n is 1, clear from cursor to beginning of the screen. If n is 2, clear entire screen.

Kind: static method of erase

Param Type
n number

erase.inLine(n) ⇒ string

Erases part of the line. If n is zero (or missing), clear from cursor to the end of the line. If n is one, clear from cursor to beginning of the line. If n is two, clear entire line. Cursor position does not change.

Kind: static method of erase

Param Type
n number

ansi.style : enum

Various formatting styles (aka Select Graphic Rendition codes).

Kind: static enum of ansi-escape-sequences
Properties

Name Type Default
reset string "\u001b[0m"
bold string "\u001b[1m"
italic string "\u001b[3m"
underline string "\u001b[4m"
fontDefault string "\u001b[10m"
font2 string "\u001b[11m"
font3 string "\u001b[12m"
font4 string "\u001b[13m"
font5 string "\u001b[14m"
font6 string "\u001b[15m"
imageNegative string "\u001b[7m"
imagePositive string "\u001b[27m"
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"
grey string "\u001b[90m"
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"
"bg-black" string "\u001b[40m"
"bg-red" string "\u001b[41m"
"bg-green" string "\u001b[42m"
"bg-yellow" string "\u001b[43m"
"bg-blue" string "\u001b[44m"
"bg-magenta" string "\u001b[45m"
"bg-cyan" string "\u001b[46m"
"bg-white" string "\u001b[47m"
"bg-grey" string "\u001b[100m"
"bg-gray" string "\u001b[100m"
"bg-brightRed" string "\u001b[101m"
"bg-brightGreen" string "\u001b[102m"
"bg-brightYellow" string "\u001b[103m"
"bg-brightBlue" string "\u001b[104m"
"bg-brightMagenta" string "\u001b[105m"
"bg-brightCyan" string "\u001b[106m"
"bg-brightWhite" string "\u001b[107m"

Example

console.log(ansi.style.red + 'this is red' + ansi.style.reset)

ansi.rgb(r, g, b) ⇒ string

Returns a 24-bit "true colour" foreground colour escape sequence.

Kind: static method of ansi-escape-sequences

Param Type Description
r number Red value.
g number Green value.
b number Blue value.

Example

> ansi.rgb(120, 0, 120)
'\u001b[38;2;120;0;120m'

ansi.bgRgb(r, g, b) ⇒ string

Returns a 24-bit "true colour" background colour escape sequence.

Kind: static method of ansi-escape-sequences

Param Type Description
r number Red value.
g number Green value.
b number Blue value.

Example

> ansi.bgRgb(120, 0, 120)
'\u001b[48;2;120;0;120m'

ansi.styles(styles) ⇒ string

Returns an ansi sequence setting one or more styles.

Kind: static method of ansi-escape-sequences

Param Type Description
styles string \ Array.<string> One or more style strings.

Example

> ansi.styles('green')
'\u001b[32m'

> ansi.styles([ 'green', 'underline' ])
'\u001b[32m\u001b[4m'

> ansi.styles([ 'bg-red', 'rgb(200,200,200)' ])
'\u001b[41m\u001b[38;2;200;200;200m'

ansi.format(str, [styleArray]) ⇒ string

A convenience function, applying the styles provided in styleArray to the input string.

Partial, inline styling can also be applied using the syntax [style-list]{text to format} anywhere within the input string, where style-list is a space-separated list of styles from ansi.style. For example [bold white bg-red]{bold white text on a red background}.

24-bit "true colour" values can be set using rgb(n,n,n) syntax (no spaces), for example [rgb(255,128,0) underline]{orange underlined}. Background 24-bit colours can be set using bg-rgb(n,n,n) syntax.

Kind: static method of ansi-escape-sequences

Param Type Description
str string The string to format. Can also include inline-formatting using the syntax [style-list]{text to format} anywhere within the string.
[styleArray] string \ Array.<string> One or more style strings to apply to the input string. Valid strings are any property from the ansi.style object (e.g. red or bg-red), rgb(n,n,n) or bg-rgb(n,n,n).

Example

> ansi.format('what?', 'green')
'\u001b[32mwhat?\u001b[0m'

> ansi.format('what?', ['green', 'bold'])
'\u001b[32m\u001b[1mwhat?\u001b[0m'

> ansi.format('something', ['rgb(255,128,0)', 'bold'])
'\u001b[38;2;255;128;0m\u001b[1msomething\u001b[0m'

> ansi.format('Inline styling: [rgb(255,128,0) bold]{something}')
'Inline styling: \u001b[38;2;255;128;0m\u001b[1msomething\u001b[0m'

> ansi.format('Inline styling: [bg-rgb(255,128,0) bold]{something}')
'Inline styling: \u001b[48;2;255;128;0m\u001b[1msomething\u001b[0m'

Load anywhere

This library is compatible with Node.js, the Web and any style of module loader. It can be loaded anywhere, natively without transpilation.

Node.js:

const ansi = require('ansi-escape-sequences')

Within Node.js with ECMAScript Module support enabled:

import ansi from 'ansi-escape-sequences'

Within a modern browser ECMAScript Module:

import ansi from './node_modules/ansi-escape-sequences/dist/index.mjs'

© 2014-25 Lloyd Brookes \opensource@75lb.com\.

Tested by test-runner. Documented by jsdoc-to-markdown.