1# text-table 2 3generate borderless text table strings suitable for printing to stdout 4 5[![build status](https://secure.travis-ci.org/substack/text-table.png)](http://travis-ci.org/substack/text-table) 6 7[![browser support](https://ci.testling.com/substack/text-table.png)](http://ci.testling.com/substack/text-table) 8 9# example 10 11## default align 12 13``` js 14var table = require('text-table'); 15var t = table([ 16 [ 'master', '0123456789abcdef' ], 17 [ 'staging', 'fedcba9876543210' ] 18]); 19console.log(t); 20``` 21 22``` 23master 0123456789abcdef 24staging fedcba9876543210 25``` 26 27## left-right align 28 29``` js 30var table = require('text-table'); 31var t = table([ 32 [ 'beep', '1024' ], 33 [ 'boop', '33450' ], 34 [ 'foo', '1006' ], 35 [ 'bar', '45' ] 36], { align: [ 'l', 'r' ] }); 37console.log(t); 38``` 39 40``` 41beep 1024 42boop 33450 43foo 1006 44bar 45 45``` 46 47## dotted align 48 49``` js 50var table = require('text-table'); 51var t = table([ 52 [ 'beep', '1024' ], 53 [ 'boop', '334.212' ], 54 [ 'foo', '1006' ], 55 [ 'bar', '45.6' ], 56 [ 'baz', '123.' ] 57], { align: [ 'l', '.' ] }); 58console.log(t); 59``` 60 61``` 62beep 1024 63boop 334.212 64foo 1006 65bar 45.6 66baz 123. 67``` 68 69## centered 70 71``` js 72var table = require('text-table'); 73var t = table([ 74 [ 'beep', '1024', 'xyz' ], 75 [ 'boop', '3388450', 'tuv' ], 76 [ 'foo', '10106', 'qrstuv' ], 77 [ 'bar', '45', 'lmno' ] 78], { align: [ 'l', 'c', 'l' ] }); 79console.log(t); 80``` 81 82``` 83beep 1024 xyz 84boop 3388450 tuv 85foo 10106 qrstuv 86bar 45 lmno 87``` 88 89# methods 90 91``` js 92var table = require('text-table') 93``` 94 95## var s = table(rows, opts={}) 96 97Return a formatted table string `s` from an array of `rows` and some options 98`opts`. 99 100`rows` should be an array of arrays containing strings, numbers, or other 101printable values. 102 103options can be: 104 105* `opts.hsep` - separator to use between columns, default `' '` 106* `opts.align` - array of alignment types for each column, default `['l','l',...]` 107* `opts.stringLength` - callback function to use when calculating the string length 108 109alignment types are: 110 111* `'l'` - left 112* `'r'` - right 113* `'c'` - center 114* `'.'` - decimal 115 116# install 117 118With [npm](https://npmjs.org) do: 119 120``` 121npm install text-table 122``` 123 124# Use with ANSI-colors 125 126Since the string length of ANSI color schemes does not equal the length 127JavaScript sees internally it is necessary to pass the a custom string length 128calculator during the main function call. 129 130See the `test/ansi-colors.js` file for an example. 131 132# license 133 134MIT 135