What is ansi-escape-sequences?
The ansi-escape-sequences npm package provides utilities for working with ANSI escape codes, which are used to control text formatting, color, and other output options on text terminals. This package allows you to easily add color, style, and control sequences to your terminal output.
What are ansi-escape-sequences's main functionalities?
Text Formatting
This feature allows you to format text with styles such as bold, italic, underline, etc. The code sample demonstrates how to make text bold.
const ansi = require('ansi-escape-sequences');
console.log(ansi.format('This is bold text', ['bold']));
Text Coloring
This feature allows you to colorize text with various colors. The code sample demonstrates how to make text red.
const ansi = require('ansi-escape-sequences');
console.log(ansi.format('This is red text', ['red']));
Cursor Control
This feature allows you to control the cursor position in the terminal. The code sample demonstrates how to move the cursor to a specific position before printing text.
const ansi = require('ansi-escape-sequences');
process.stdout.write(ansi.cursor.goto(10, 5));
console.log('Text at position (10, 5)');
Clearing the Screen
This feature allows you to clear parts or the entire terminal screen. The code sample demonstrates how to clear the entire screen.
const ansi = require('ansi-escape-sequences');
process.stdout.write(ansi.erase.display(2));
Other packages similar to ansi-escape-sequences
chalk
Chalk is a popular library for styling terminal strings. It provides a more user-friendly API for applying styles and colors to text. Compared to ansi-escape-sequences, Chalk is more focused on ease of use and readability.
colors
Colors is another library for adding color and style to terminal output. It offers a chainable API for applying multiple styles. Compared to ansi-escape-sequences, Colors provides a more fluent interface for combining styles.
cli-color
CLI-Color is a library for styling terminal output with ANSI colors and styles. It offers a comprehensive set of features for text formatting and cursor control. Compared to ansi-escape-sequences, CLI-Color provides a more extensive set of utilities for terminal manipulation.
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.
Example
var ansi = require("ansi-escape-sequences");
ansi.sgr
Select Graphic Rendition codes
Properties
Name | Type |
---|
reset | string |
bold | string |
italic | string |
underline | string |
fontDefault | string |
font2 | string |
font3 | string |
font4 | string |
font5 | string |
font6 | string |
imageNegative | string |
imagePositive | string |
black | string |
red | string |
green | string |
yellow | string |
blue | string |
magenta | string |
cyan | string |
white | string |
Example
console.log(ansi.sgr.red + "this is red" + ansi.sgr.reset);
sgr.sequence() ⇒ string
Returns an a sequence setting one or more effects
Type | Description |
---|
string | Array.<string> | a sgr effect, or list of effects |
Example
> ansi.sgrSequence("green")
'\u001b[32m'
> ansi.sgrSequence([ "green", "underline" ])
'\u001b[32;4m'
sgr.format() ⇒ string
A convenience function, formatting the input string with the specified sgr effects.
Type | Description |
---|
string | the string to format |
Array.<string> | a list of sgr effects to add |
Example
> ansi.sgr.format("what?", "green")
'\u001b[32mwhat?\u001b[0m'
> ansi.sgr.format("what?", ["green", "bold"])
'\u001b[32;1mwhat?\u001b[0m'
ansi.cursor
cursor-related sequences
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
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
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
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
Param | Type | Default |
---|
[lines] | number | 1 |
cursor.nextLine([lines]) ⇒ string
Moves cursor to beginning of the line n lines down.
Param | Type | Default |
---|
[lines] | number | 1 |
cursor.previousLine([lines]) ⇒ string
Moves cursor to beginning of the line n lines up.
Param | Type | Default |
---|
[lines] | number | 1 |
cursor.horizontalAbsolute(n) ⇒ string
Moves the cursor to column n.
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.
Param | Type | Description |
---|
n | number | row number |
m | number | column number |
ansi.erase
erase 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.
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.
documented by jsdoc-to-markdown
© 2015 Lloyd Brookes 75pound@gmail.com