Repository URL to install this package:
|
Version:
1.16.0 ▾
|
| .. |
| CHANGELOG.md |
| LICENSE.txt |
| README.md |
| index.js |
| package.json |
easily create complex multi-column command-line-interfaces.
var ui = require('cliui')({ width: 80 }) ui.div('Usage: $0 [command] [options]') ui.div({ text: 'Options:', padding: [2, 0, 2, 0] }) ui.div( { text: "-f, --file", width: 20, padding: [0, 4, 0, 4] }, { text: "the file to load." + chalk.green("(if this description is long it wraps).") , width: 20 }, { text: chalk.red("[required]"), align: 'right' } ) console.log(ui.toString())
cliui exposes a simple layout DSL:
If you create a single ui.row, passing a string rather than an
object:
\n: characters will be interpreted as new rows.\t: characters will be interpreted as new columns.\s: characters will be interpreted as padding.as an example...
var ui = require('./')({ width: 60 }) ui.div( 'Usage: node ./bin/foo.js\n' + ' <regex>\t provide a regex\n' + ' <glob>\t provide a glob\t [required]' ) console.log(ui.toString())
will output:
Usage: node ./bin/foo.js <regex> provide a regex <glob> provide a glob [required]
cliui = require('cliui')
Specify the maximum width of the UI being generated.
Enable or disable the wrapping of text in a column.
Create a row with any number of columns, a column can either be a string, or an object with the following options:
right or center.[top, right, bottom, left].Similar to div, except the next row will be appended without
a new line being created.