You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Pau aff9d08cee client 1 year ago
node_modules client 1 year ago
LICENSE client 1 year ago client 1 year ago
align.js client 1 year ago
package.json client 1 year ago


A wide-character aware text alignment function for use in terminals / on the console.


var align = require('wide-align')

// Note that if you view this on a unicode console, all of the slashes are
// aligned. This is because on a console, all narrow characters are
// an en wide and all wide characters are an em. In browsers, this isn't
// held to and wide characters like "古" can be less than two narrow
// characters even with a fixed width font.

console.log('abc', 10))     // '   abc    '
console.log('古古古', 10))  // '  古古古  '
console.log(align.left('abc', 10))       // 'abc       '
console.log(align.left('古古古', 10))    // '古古古    '
console.log(align.right('abc', 10))      // '       abc'
console.log(align.right('古古古', 10))   // '    古古古'

Functions, length)str

Returns str with spaces added to both sides such that that it is length chars long and centered in the spaces.

align.left(str, length)str

Returns str with spaces to the right such that it is length chars long.

align.right(str, length)str

Returns str with spaces to the left such that it is length chars long.


These functions were originally taken from cliui. Changes include switching to the MUCH faster pad generation function from lodash, making center alignment pad both sides and adding left alignment.