Terminal ANSI-aware string fit to fixed width
npm install fixed-width-string


Fit a string to the fixed width (length) with aware of ANSI escape codes.
Features:
- Works well with strings with ANSI escape codes, i.e strings styled with a lib like chalk
- Pad or truncate string if needed
- Align string
```
$ npm install fixed-width-string
`js
var fixedWidthString = require('fixed-width-string');
console.log(fixedWidthString('test', 10));
// "test "
console.log(fixedWidthString('very long string', 10));
// "very long…"
console.log(fixedWidthString('very long string', { align: 'right' }));
// "…ng string"
var chalk = require('chalk');
console.log(fixedWidthString(chalk.green('hello') + ' ' + chalk.red('world'), 8));
// "\u001b[32mhello\u001b[39m \u001b[31mw…\u001b[39m"
//
// but in terminal you'll see colored
// "hello w…"
`
`js`
fixedWidthString(str, width[, options])
String to padding with.
Default: ' ' (one space)
`js
console.log(fixedWidthString('test', 10));
// "test "
console.log(fixedWidthString('test', 10, { padding: '.' }));
// "test......"
`
Side to align.
Values: 'left' or 'right' 'left'
Default:
`js
console.log(fixedWidthString('test', 10));
// "test "
console.log(fixedWidthString('test', 10, { align: 'right' }));
// " test"
`
String to be placed when string is truncating.
Default: '…'
> Note: To omit ellipsis, pass an empty string or falsy value for the option.
`js
console.log(fixedWidthString('hello world', 8));
// "hello w…"
console.log(fixedWidthString('hello world', 8, { ellipsis: '~' }));
// "hello w~"
console.log(fixedWidthString('hello world', 8, { ellipsis: '...', align: 'right' }));
// "...world"
console.log(fixedWidthString('hello world', 8, { ellipsis: false, align: 'right' }));
// "lo world"
`
Side should be truncated.
Values: 'left' or 'right' 'right'
Default: when align: 'left' or 'left' when align: 'right'
`js
console.log(fixedWidthString('hello world', 8));
// "hello w…"
console.log(fixedWidthString('hello world', 8, { truncate: 'left' }));
// "…o world"
console.log(fixedWidthString('hello world', 8, { align: 'right' }));
// "hello w…"
console.log(fixedWidthString('hello world', 8, { align: 'right', truncate: 'left' }));
// "…o world"
``
MIT