prompt-skeleton

    1.0.4 • Public • Published

    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.

    npm version dependency status ISC-licensed support me via GitHub Sponsors chat with me on Twitter

    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:

    Other command line interfaces:

    Installing

    npm install prompt-skeleton
    

    Usage

    wrap(prompt) // Promise

    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.

    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.

    Install

    npm i prompt-skeleton

    DownloadsWeekly Downloads

    938

    Version

    1.0.4

    License

    ISC

    Unpacked Size

    7.61 kB

    Total Files

    4

    Last publish

    Collaborators

    • derhuerst