prompt-skeleton v1.0.4
prompt-skeleton
This project aims to bring a consistent behavior to CLI apps.
Use cli-prompter if you want to have batteries included or if you want to chain prompts.
Instead of letting prompts parse user input by themselves, prompt-skeleton provides a standard set of actions like submit, which prompts can act on by exposing methods. The key bindings are readline-inspired.
Projects using prompt-skeleton
Prompts:
sms-clidate-promptmail-promptmultiselect-promptnumber-promptrange-promptselect-prompttext-prompttree-select-promptcli-autocompleteswitch-prompt
Other command line interfaces:
Installing
npm install prompt-skeletonUsage
wrap(prompt) // PromiseTo render to screen, write to prompt.out. Because prompt.out is a ansi-diff-stream, you can also clear the screen manually be calling prompt.out.clear().
Actions
You can process any of these actions by exposing a method prompt[action].
first/last– move to the first/last letter/digitleft/rightup/downnext- for tabbingdelete– remove letter/digit left to the cursorspacesubmit– success, close the promptabort– failure, close the promptreset
Example
This renders a prompt that lets you pick a number.
const wrap = require('prompt-skeleton')
const prompt = wrap({
value: 0,
up: function () {
this.value++
this.render()
},
down: function () {
this.value--
this.render()
},
render: function () {
this.out.write(`The value is ${this.value}.`)
}
})
prompt
.then((val) => {
// prompt succeeded, do something with the value
})
.catch((val) => {
// prompt aborted, do something with the value
})Contributing
If you have a question, found a bug or want to propose a feature, have a look at the issues page.