Popularity
3.8
Growing
Activity
9.7
-
212
4
5

Programming language: Rust
License: MIT License
Tags: Commandline     Library     CLI     Tui     Toolkit     Rust     Command-line     Prompt    

promkit alternatives and similar packages

Based on the "Prompt" category.
Alternatively, view promkit alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of promkit or a related project?

Add another 'Prompt' Package

README

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.

[dependencies]
version = "0.1.2"

Features

  • Applications
    • Readline: provide the lines to receive and display user inputs
    • Masking
    • Switch insert/overwrite modes
    • Suggestions
    • Select: provide the selectbox to choose the items from
    • Move cyclically in the selectbox
  • Customizations
    • Edit key-bindings
    • Edit crossterm Event handler
    • Define your own command-line applications
    • e.g. ynqa/hstr-rs

Examples

Readline:

readline

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

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

Select:

select

use promkit::{
    build::Builder, crossterm::style, register::Register, select, selectbox::SelectBox, Result,
};

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