readme.md
1 # wrap-ansi [](https://travis-ci.com/chalk/wrap-ansi) [](https://coveralls.io/github/chalk/wrap-ansi?branch=master) 2 3 > Wordwrap a string with [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code#Colors_and_Styles) 4 5 ## Install 6 7 ``` 8 $ npm install wrap-ansi 9 ``` 10 11 ## Usage 12 13 ```js 14 const chalk = require('chalk'); 15 const wrapAnsi = require('wrap-ansi'); 16 17 const input = 'The quick brown ' + chalk.red('fox jumped over ') + 18 'the lazy ' + chalk.green('dog and then ran away with the unicorn.'); 19 20 console.log(wrapAnsi(input, 20)); 21 ``` 22 23 <img width="331" src="screenshot.png"> 24 25 ## API 26 27 ### wrapAnsi(string, columns, options?) 28 29 Wrap words to the specified column width. 30 31 #### string 32 33 Type: `string` 34 35 String with ANSI escape codes. Like one styled by [`chalk`](https://github.com/chalk/chalk). Newline characters will be normalized to `\n`. 36 37 #### columns 38 39 Type: `number` 40 41 Number of columns to wrap the text to. 42 43 #### options 44 45 Type: `object` 46 47 ##### hard 48 49 Type: `boolean`\ 50 Default: `false` 51 52 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. 53 54 ##### wordWrap 55 56 Type: `boolean`\ 57 Default: `true` 58 59 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. 60 61 ##### trim 62 63 Type: `boolean`\ 64 Default: `true` 65 66 Whitespace on all lines is removed by default. Set this option to `false` if you don't want to trim. 67 68 ## Related 69 70 - [slice-ansi](https://github.com/chalk/slice-ansi) - Slice a string with ANSI escape codes 71 - [cli-truncate](https://github.com/sindresorhus/cli-truncate) - Truncate a string to a specific width in the terminal 72 - [chalk](https://github.com/chalk/chalk) - Terminal string styling done right 73 - [jsesc](https://github.com/mathiasbynens/jsesc) - Generate ASCII-only output from Unicode strings. Useful for creating test fixtures. 74 75 ## Maintainers 76 77 - [Sindre Sorhus](https://github.com/sindresorhus) 78 - [Josh Junon](https://github.com/qix-) 79 - [Benjamin Coe](https://github.com/bcoe) 80 81 --- 82 83 <div align="center"> 84 <b> 85 <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> 86 </b> 87 <br> 88 <sub> 89 Tidelift helps make open source sustainable for maintainers while giving companies<br>assurances about security, maintenance, and licensing for their dependencies. 90 </sub> 91 </div>