You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
To 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/digit
left/right
up/down
next - for tabbing
delete – remove letter/digit left to the cursor
space
submit – success, close the prompt
abort – failure, close the prompt
reset
Example
This renders a prompt that lets you pick a number.
constwrap=require('prompt-skeleton')constprompt=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.