appendable-cli-menu

2.0.0 • Public • Published

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

Package Sidebar

Install

npm i appendable-cli-menu

Weekly Downloads

563

Version

2.0.0

License

MIT

Last publish

Collaborators

  • watson