Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including ansi-escape-sequences with all npm packages installed. Try it out:

var ansiEscapeSequences = require("ansi-escape-sequences")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

ansi-escape-sequences v5.1.2

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

view on npm npm module downloads Build Status Dependency Status 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

const ansi = require('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

ParamTypeDefault
[lines]number1

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

ParamTypeDefault
[lines]number1

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

ParamTypeDefault
[lines]number1

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

ParamTypeDefault
[lines]number1

cursor.nextLine([lines]) ⇒ string

Moves cursor to beginning of the line n lines down.

Kind: static method of cursor

ParamTypeDefault
[lines]number1

cursor.previousLine([lines]) ⇒ string

Moves cursor to beginning of the line n lines up.

Kind: static method of cursor

ParamTypeDefault
[lines]number1

cursor.horizontalAbsolute(n) ⇒ string

Moves the cursor to column n.

Kind: static method of cursor

ParamTypeDescription
nnumbercolumn 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

ParamTypeDescription
nnumberrow number
mnumbercolumn 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

ParamType
nnumber

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

ParamType
nnumber

ansi.style : enum

Various formatting styles (aka Select Graphic Rendition codes).

Kind: static enum of ansi-escape-sequences
Properties

NameTypeDefault
resetstring"\u001b[0m"
boldstring"\u001b[1m"
italicstring"\u001b[3m"
underlinestring"\u001b[4m"
fontDefaultstring"\u001b[10m"
font2string"\u001b[11m"
font3string"\u001b[12m"
font4string"\u001b[13m"
font5string"\u001b[14m"
font6string"\u001b[15m"
imageNegativestring"\u001b[7m"
imagePositivestring"\u001b[27m"
blackstring"\u001b[30m"
redstring"\u001b[31m"
greenstring"\u001b[32m"
yellowstring"\u001b[33m"
bluestring"\u001b[34m"
magentastring"\u001b[35m"
cyanstring"\u001b[36m"
whitestring"\u001b[37m"
greystring"\u001b[90m"
graystring"\u001b[90m"
brightRedstring"\u001b[91m"
brightGreenstring"\u001b[92m"
brightYellowstring"\u001b[93m"
brightBluestring"\u001b[94m"
brightMagentastring"\u001b[95m"
brightCyanstring"\u001b[96m"
brightWhitestring"\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

ParamTypeDescription
rnumberRed value.
gnumberGreen value.
bnumberBlue 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

ParamTypeDescription
rnumberRed value.
gnumberGreen value.
bnumberBlue 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

ParamTypeDescription
stylesstring | 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

ParamTypeDescription
strstringThe 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'

Old browser (adds window.ansi):

<script nomodule src="./node_modules/ansi-escape-sequences/dist/index.js"></script>

© 2014-19 Lloyd Brookes <75pound@gmail.com>. Documented by jsdoc-to-markdown.

Metadata

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free