#prompt #toolkit #cli

console-prompt

console_prompt 是一个用于在 Rust 中创建干净、线程安全的 CLI 提示的非常简单的库。我为此创建了一个 C2 客户端,但它可能被用于任何需要交互式提示的地方。它的简单性是它区别于其他项目的地方。

6 个版本

0.1.5 2023 年 6 月 11 日
0.1.4 2023 年 6 月 6 日
0.1.0 2023 年 3 月 29 日

732 位在 命令行界面

Download history 12/week @ 2024-03-09 2/week @ 2024-03-16 19/week @ 2024-03-30 7/week @ 2024-04-06

每月下载 54

自定义许可

490KB
151

console_prompt

在 Rust 中创建干净、线程安全的交互式 CLI 界面的非常简单的方法。

运行示例

Example GIF

创建提示就像创建一个指向你的函数的指针的 Command 结构体向量并将它们传递给 command_loop 一样简单。

fn main(){
    let commands = vec![
        Command{
            command: "converse",
            func: converse, // <---- pointer to the converse function
            help_output: "converse <name> - interact with a person"
        },
    ];

    // start the command loop with the provided commands
    if let Err(e) = command_loop(&commands, &mut DynamicContext::new()){
        eprintln!("error running command loop: {}", e.to_string());
    }
}

您还可以创建嵌套的 command_loops,通过 context 参数保持状态,有关更多信息,请参阅 对话示例

由于 Windows 终端限制,目前不支持 Windows。如果有人请求 Windows 支持,我会尽力解决这个问题。

依赖项

~6–15MB
~192K SLoC