align-text with ANSI support for CLIs
npm install ansi-align> align-text with ANSI support for CLIs




Easily center- or right- align a block of text, carefully ignoring ANSI escape codes.
E.g. turn this:

Into this:

``sh`
npm install --save ansi-align
`js`
var ansiAlign = require('ansi-align')
Align the given text per the line with the greatest string-width, returning a new string (or array).
#### Arguments
- text: required, string or array
The text to align. If a string is given, it will be split using either the opts.split value or '\n' by default. If an array is given, a different array of modified strings will be returned.
- opts: optional, object
Options to change behavior, see below.
#### Options
- opts.align: string, default 'center'
The alignment mode. Use 'center' for center-alignment, 'right' for right-alignment, or 'left' for left-alignment. Note that the given text is assumed to be left-aligned already, so specifying align: 'left' just returns the text as is (no-op).
- opts.split: string or RegExp, default '\n'
The separator to use when splitting the text. Only used if text is given as a string.
- opts.pad: string, default ' '
The value used to left-pad (prepend to) lines of lesser width. Will be repeated as necessary to adjust alignment to the line with the greatest width.
Alias for ansiAlign(text, { align: 'center' }).
Alias for ansiAlign(text, { align: 'right' }).
Alias for ansiAlign(text, { align: 'left' }), which is a no-op.
- center-align: Very close to this package, except it doesn't support ANSI codes.
- left-pad`: Great for left-padding but does not support center alignment or ANSI codes.
- Pretty much anything by the chalk team
ISC © Contributors