|  | %!s(int64=3) %!d(string=hai) anos | |
|---|---|---|
| .. | ||
| test | %!s(int64=3) %!d(string=hai) anos | |
| .coveralls.yml | %!s(int64=3) %!d(string=hai) anos | |
| .npmignore | %!s(int64=3) %!d(string=hai) anos | |
| .travis.yml | %!s(int64=3) %!d(string=hai) anos | |
| LICENSE.txt | %!s(int64=3) %!d(string=hai) anos | |
| README.md | %!s(int64=3) %!d(string=hai) anos | |
| index.js | %!s(int64=3) %!d(string=hai) anos | |
| package.json | %!s(int64=3) %!d(string=hai) anos | |
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: 40,
    padding: [0, 4, 0, 4]
  },
  {
    text: "the file to load",
    width: 25
  },
  {
    text: "[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.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.