Skip to content

Latest commit

 

History

History
104 lines (87 loc) · 1.92 KB

.verb.md

File metadata and controls

104 lines (87 loc) · 1.92 KB

Install

{%= include("install-npm", {save: true}) %}

Usage

var RawList = require('{%= name %}');
var prompt = new RawList({
  name: 'colors',
  message: 'Favorite flavor?',
  choices: [
    'chocolate',
    'strawberry',
    'vanilla'
  ]
});

// async
prompt.ask(function(answer) {
  console.log(answer);
  // chocolate
});

// promise
prompt.run()
  .then(function(answer) {
    console.log(answer);
    // chocolate
  });

Enquirer usage

Register as a plugin with [enquirer][]:

var Enquirer = require('enquirer');
var enquirer = new Enquirer();
enquirer.register('{%= alias %}', require('{%= name %}'));

Declarative format

Define questions using a declarative style, similar to Inquirer.

var questions = [
  {
    type: 'rawlist',
    name: 'dinner',
    message: 'What would you like to do?',
    choices: [
      'Order a pizza',
      'Make a reservation',
      enquirer.separator(),,
      'Ask opening hours',
      'Talk to the receptionist'
    ]
  },
  {
    type: 'rawlist',
    name: 'size',
    message: 'What size would you like?',
    choices: ['Jumbo', 'Large', 'Standard', 'Medium', 'Small', 'Micro']
  }
];

enquirer.ask(questions)
  .then(function (answers) {
    console.log(answers);
  });

Expressive format

Register questions using enquirer's .question method:

enquirer.question('dinner', {
  type: 'rawlist',
  message: 'What would you like to do?',
  choices: [
    'Order a pizza',
    'Make a reservation',
    enquirer.separator(),
    'Ask opening hours',
    'Talk to the receptionist'
  ]
});

enquirer.question('size', 'What size would you like?', {
  type: 'rawlist',
  choices: ['Jumbo', 'Large', 'Standard', 'Medium', 'Small', 'Micro']
});

enquirer.ask(['dinner', 'size'])
  .then(function (answers) {
    console.log(answers);
    //=> { dinner: 'Order a pizza', size: 'Large' }
  });

Attribution

Originally based on the rawlist prompt in [inquirer][].