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