JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 620919
  • Score
    100M100P100Q197482F
  • License MIT

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

Package Exports

  • ansi-escape-sequences

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (ansi-escape-sequences) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

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

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"

Example

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

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

Returns a 24-bit "true 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.styles(effectArray) ⇒ string

Returns an ansi sequence setting one or more effects

Kind: static method of ansi-escape-sequences

Param Type Description
effectArray string | Array.<string> a style, or list or styles

Example

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

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

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

A convenience function, applying the provided styles to the input string and then resetting.

Inline styling can be applied using the syntax [style-list]{text to format}, 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 rbg(n,n,n) syntax (no spaces), for example [rgb(255,128,0) underline]{orange underlined}.

Kind: static method of ansi-escape-sequences

Param Type Description
str string the string to format
[styleArray] Array.<string> a list of styles to add to the input string

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('[rgb(255,128,0) bold]{something}')
'\u001b[38;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.