Wordwrap a string with ANSI escape codes
npm install wrap-ansi
import chalk from 'chalk';
import wrapAnsi from 'wrap-ansi';
const input = 'The quick brown ' + chalk.red('fox jumped over ') +
'the lazy ' + chalk.green('dog and then ran away with the unicorn.');
console.log(wrapAnsi(input, 20));
Wrap words to the specified column width.
Type: string
A string with ANSI escape codes, like one styled by chalk
.
Newline characters will be normalized to \n
.
Type: number
The number of columns to wrap the text to.
Type: object
Type: boolean
Default: false
By default the wrap is soft, meaning long words may extend past the column width. Setting this to true
will make it hard wrap at the column width.
Type: boolean
Default: true
By default, an attempt is made to split words at spaces, ensuring that they don't extend past the configured columns. If wordWrap is false
, each column will instead be completely filled splitting words as necessary.
Type: boolean
Default: true
Whitespace on all lines is removed by default. Set this option to false
if you don't want to trim.
- slice-ansi - Slice a string with ANSI escape codes
- cli-truncate - Truncate a string to a specific width in the terminal
- chalk - Terminal string styling done right
- jsesc - Generate ASCII-only output from Unicode strings. Useful for creating test fixtures.