Package detail

ansi-align

nexdrew48.4mISC3.0.1

align-text with ANSI support for CLIs

ansi, align, cli, center

readme

ansi-align

align-text with ANSI support for CLIs

Build Status Coverage Status Standard Version Greenkeeper badge

Easily center- or right- align a block of text, carefully ignoring ANSI escape codes.

E.g. turn this:

ansi text block no alignment :(

Into this:

ansi text block center aligned!

Install

npm install --save ansi-align
var ansiAlign = require('ansi-align')

API

ansiAlign(text, [opts])

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.

ansiAlign.center(text)

Alias for ansiAlign(text, { align: 'center' }).

ansiAlign.right(text)

Alias for ansiAlign(text, { align: 'right' }).

ansiAlign.left(text)

Alias for ansiAlign(text, { align: 'left' }), which is a no-op.

Similar Packages

  • 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

License

ISC © Contributors

changelog

Changelog

All notable changes to this project will be documented in this file. See standard-version for commit guidelines.

3.0.1 (2021-09-27)

Bug Fixes

  • package: update string-width to version 4.1.0 (#52) (ab5b733)

3.0.0 (2018-12-17)

Bug Fixes

  • package: update string-width to version 3.0.0 (#50) (67f0d8f)

BREAKING CHANGES

  • package: Node 4 no longer supported, please update to Node 6+ or use ansi-align@2.0.0

2.0.0 (2017-05-01)

Features

  • ES2015ify, dropping support for Node <4 (#30) (7b43f48)

BREAKING CHANGES

  • Node 0.10 or 0.12 no longer supported, please update to Node 4+ or use ansi-align@1.1.0

1.1.0 (2016-06-06)

Features

  • support left-alignment as no-op (#3) (e581db6)

1.0.0 (2016-04-30)

Features