Wordwrap a string with ANSI escape codes
$ npm install wrap-ansi
const chalk = require('chalk');
const wrapAnsi = require('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
String with ANSI escape codes. Like one styled by chalk
. Newline characters will be normalized to \n
.
Type: number
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.
<b>
<a href="https://tidelift.com/subscription/pkg/npm-wrap_ansi?utm_source=npm-wrap-ansi&utm_medium=referral&utm_campaign=readme">Get professional support for this package with a Tidelift subscription</a>
</b>
<br>
<sub>
Tidelift helps make open source sustainable for maintainers while giving companies<br>assurances about security, maintenance, and licensing for their dependencies.
</sub>