Package Exports
- ansi-parser
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-parser) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
ansi-parser
Parse strings containing ANSI style characters.
☁️ Installation
$ npm i --save ansi-parser
📋 Example
// Dependencies
var AnsiParser = require("ansi-parser");
// Parse the ANSI input
console.log(AnsiParser.parse("\u001b[1m\u001b[38;5;231mHello\u001b[0m\u001b[22m World"));
// [
// {
// style: "\u00\u001b[1m\u001b[38;5;231",
// content: "H"
// },
// {
// style: "\u00\u001b[1m\u001b[38;5;231",
// content: "e"
// },
// ...
// ]
// Remove ANSI styles
console.log(AnsiParser.removeAnsi("\u001b[1m\u001b[38;5;231mHello\u001b[0m\u001b[22m World"));
// => "Hello World"
📝 Documentation
parse(input)
Parses the string containing ANSI styles.
Params
- String
input
: The input string.
Return
Array An array of object like below:
[ { style: "\u00\u001b[1m\u001b[38;5;231", content: "H" }, { style: "\u00\u001b[1m\u001b[38;5;231", content: "e" }, ... ]
getAtIndex(input, noAnsi, index)
Returns the content and ANSI style at known index.
Params
- String
input
: The input string. - String
noAnsi
: The input string without containing ansi styles. - Number
index
: The character index.
Return
- Object An object containing the following fields:
style
(String): The ANSI style at provided index.content
(String): The content (character) at provided index.
removeAnsi(input)
Removes ANSI styles from the input string.
Params
- String
input
: The input string.
Return
- String The string without ANSI styles.
stringify(arr)
Stringifies an array of objects in the format defined by AnsiParser
.
Params
- Array
arr
: The input array.
Return
- String The stringified input array.
addChar(arr, c, s, e)
Adds a new char into array.
Params
- Array
arr
: The input array. - String
c
: The char to add. - String
s
: ANSI start style. - String
e
: ANSI end style.
😋 How to contribute
Have an idea? Found a bug? See how to contribute.
💰 Donations
Another way to support the development of my open-source modules is to set up a recurring donation, via Patreon. 🚀
PayPal donations are appreciated too! Each dollar helps.
Thanks! ❤️
💫 Where is this library used?
If you are using this library in one of your projects, add it in this list. ✨
bug-killer
—Simple way to log messages in stdout or other stream.cli-box
—A library to generate ASCII boxes via NodeJScli-cal
(by Falco Nogatz)—Github-like calendar graph for the CLIcli-gh-cal
—GitHub like calendar graphs in command line.ghcal
—See the GitHub contributions calendar of a user in the command line.git-stats-colors
—Adds colors to the git-stats inputs.github-stats
—Visualize stats about GitHub users and projects in your terminal.idea
—A lightweight CLI tool and module for keeping ideas in a safe place quick and easy.jupyter-dashboards-server
(by Jupyter Development Team)—Serves Jupyter notebooks as standalone dashboardsle-table
—Another NodeJS module for creating ASCII tables.overlap
—Overlap two strings that contain new lines. Useful for ASCII drawings.tilda
—Tiny module for building command line tools.