#command-line #select #cli #radio-button #select-box

cli_select

基于 crossterm 构建,为命令行提供简单可定制的选择对话框的 crate。

7 个版本

0.1.6 2023年10月15日
0.1.5 2023年9月30日
0.1.4 2022年1月29日

8#select 中排名

Download history 16/week @ 2024-07-01 51/week @ 2024-07-29

每月下载量 51 次
用于 aes_rust

MIT 许可证

16KB
340

cli_select

基于 crossterm 构建,为命令行提供简单可定制的选择对话框的 crate。


示例

Cargo.toml

[dependencies]
cli_select = "0.1.4"

基本

main.rs

use cli_select::Select;

fn main() {

    let items = vec!["item1", "item2", "item3"];

    let select = Select::new(&items);

    let selected_item = select.start();

    println!("You selected: {}", selected_item);
}

输出

> item1
  item2
  item3
  You selected: item1

定制化

main.rs


use cli_select::Select;

fn main() {

    let items = vec!["item1", "item2", "item3"];

    let select = Select::new(&items);

    let selected_item = select        
        .pointer('')
        .not_selected_pointer('🞅')
        .move_selected_item_forward()
        .start();

    println!("You selected: {}", selected_item);
}

输出

◉  item1
🞅 item2
🞅 item3
You selected: item1

依赖项

~0.8–11MB
~60K SLoC