Negotiate Pushing Milestone

    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

    Install

    npm i appendable-cli-menu

    DownloadsWeekly Downloads

    439

    Version

    2.0.0

    License

    MIT

    Last publish

    Collaborators

    • watson