Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

easily create complex multi-column command-line-interfaces.

License

NotificationsYou must be signed in to change notification settings

yargs/cliui

Repository files navigation

ciNPM versionConventional Commitsnycrc config on GitHub

easily create complex multi-column command-line-interfaces.

Example

npm i cliui@latest chalk@latest
constui=require('cliui')()const{Chalk}=require('chalk');constchalk=newChalk();ui.div('Usage: $0 [command] [options]')ui.div({text:'Options:',padding:[2,0,1,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())

Deno/ESM Support

As ofv7cliui supportsDeno andESM:

importcliuifrom"cliui";importchalkfrom"chalk";// Deno: import cliui from "https://deno.land/x/cliui/deno.ts";constui=cliui({})ui.div('Usage: $0 [command] [options]')ui.div({text:'Options:',padding:[2,0,1,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())

Layout DSL

cliui exposes a simple layout DSL:

If you create a singleui.div, passing a string rather than anobject:

  • \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...

varui=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]

Methods

cliui=require('cliui')

cliui({width: integer})

Specify the maximum width of the UI being generated.If no width is provided, cliui will try to get the current window's width and use it, and if that doesn't work, width will be set to80.

cliui({wrap: boolean})

Enable or disable the wrapping of text in a column.

cliui.div(column, column, column)

Create a row with any number of columns, a columncan either be a string, or an object with the followingoptions:

  • text: some text to place in the column.
  • width: the width of a column.
  • align: alignment,right orcenter.
  • padding:[top, right, bottom, left].
  • border: should a border be placed around the div?

cliui.span(column, column, column)

Similar todiv, except the next row will be appended withouta new line being created.

cliui.resetOutput()

Resets the UI elements of the current cliui instance, maintaining the valuesset forwidth andwrap.

About

easily create complex multi-column command-line-interfaces.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

[8]ページ先頭

©2009-2025 Movatter.jp