Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

appendable-cli-menu

watson1.1kMIT2.0.0

Show a menu in the terminal were you can continuously append items

menu, list, cli, terminal, console, select, input, stdin

readme

appendable-cli-menu

A Node.js module to show a menu in the terminal. Items in the menu can be added continuously and the user can choose any available item at any time.

Build status js-standard-style

Installation

npm install appendable-cli-menu

Usage

In this example we use the bonjour/zeroconf protocol to look for http servers on the local network. We add them to the menu as they are discovered and let the user choose one:

var bonjour = require('bonjour')()
var menu = require('appendable-cli-menu')

var servers = menu('Select an HTTP server', function (server) {
  // stop looking when the user have selected an option
  browser.stop()
  console.log('You selected %s (host: %s)', server.name, server.value)
})

var browser = bonjour.find({ type: 'http' }, function (service) {
  servers.add({ name: service.name, value: service.host })
})

The above call the menu() will show en empty menu to the user:

? Select an HTTP server (waiting...)

The subsequent calls to the servers.add() will add new options to the menu as they become available:

? Select an HTTP server (use arrow keys)
> mafintosh
  feross
  watson

The user can choose an item from the menu at any time. When he does, the callback provided to menu() will be called.

License

MIT