promkit

.github/workflows/promkit.yml docs.rs

A toolkit for building your own interactive command-line tools in Rust, utilizing crossterm.

Getting Started

Put the package in your Cargo.toml.

toml [dependencies] promkit = "0.1.1"

Features

Examples

Readline:

readline

```rust use promkit::{build::Builder, readline, Result};

fn main() -> Result<()> { let mut p = readline::Builder::default().build()?; loop { let (line, exitcode) = p.run()?; if exitcode == 0 { println!("result: {:?}", line); } else { return Ok(()); } } } ```

Select:

select

```rust use crossterm::style; use promkit::{ build::Builder, edit::{Register, SelectBox}, select, Result, };

fn main() -> Result<()> { let mut selectbox = Box::new(SelectBox::default()); selectbox.registerall((0..100).map(|v| v.tostring()).collect::>()); let mut p = select::Builder::default() .title("Q: What number do you like?") .titlecolor(style::Color::DarkGreen) .selectbox(selectbox) .build()?; let (line, exitcode) = p.run()?; if exit_code == 0 { println!("result: {:?}", line) } Ok(()) } ```