Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

https://github.com/wobsoriano/bun-promptx

Terminal prompt library for the Bun runtime
https://github.com/wobsoriano/bun-promptx

bun bunjs cli go prompt tui

Last synced: about 1 month ago
JSON representation

Terminal prompt library for the Bun runtime

Lists

README

        

# bun-promptx

bun-promptx is a terminal prompt library based on [bubbles](https://github.com/mritd/bubbles) via `bun:ffi`.

## Install

```bash
bun add bun-promptx
```

## Usage

### createSelection

The `createSelection` function lets you create a terminal single-selection list prompt. It provides the functions of page up and down and key movement, and supports custom rendering methods.

```js
import { createSelection } from 'bun-promptx'

const result = createSelection([
{ text: 'feat', description: 'Introducing new features' },
{ text: 'fix', description: 'Bug fix' },
{ text: 'docs', description: 'Writing docs' },
{ text: 'style', description: 'Improving structure/format of the code' },
{ text: 'refactor', description: 'Refactoring code' },
{ text: 'test', description: 'Refactoring code' },
{ text: 'chore', description: 'When adding missing tests' },
{ text: 'perf', description: 'Improving performance' }
], {
headerText: 'Select Commit Type: ',
perPage: 5,
footerText: 'Footer here'
})

console.log(result)
// { selectedIndex: 2, error: null }
```

promptx demo

### createPrompt

The `createPrompt` function is a terminal input prompt library. It provides CJK character support and standard terminal shortcut keys (such as ctrl+a, ctrl+e), password input echo and other functions.

```js
import { createPrompt } from 'bun-promptx'

const username = createPrompt("Enter username: ")
// { value: "wobsoriano", error: null }

const password = createPrompt("Enter password: ", {
echoMode: 'password'
})
// { value: "123456", error: null }
```

promptx demo

## License

MIT