#prompt #console #cli #terminal #command-line #npm-package

cliclack

受 Clack NPM 包启发的美观、简洁、有偏见的 CLI 提示

23 个版本

0.3.3 2024 年 8 月 9 日
0.3.2 2024 年 7 月 8 日
0.3.1 2024 年 6 月 13 日
0.1.13 2024 年 2 月 27 日
0.1.6 2023 年 7 月 23 日

#49命令行界面

Download history 746/week @ 2024-05-01 1266/week @ 2024-05-08 897/week @ 2024-05-15 849/week @ 2024-05-22 797/week @ 2024-05-29 1055/week @ 2024-06-05 1399/week @ 2024-06-12 1403/week @ 2024-06-19 1774/week @ 2024-06-26 2359/week @ 2024-07-03 1344/week @ 2024-07-10 1313/week @ 2024-07-17 2366/week @ 2024-07-24 1622/week @ 2024-07-31 1749/week @ 2024-08-07 1675/week @ 2024-08-14

7,785 每月下载量
用于 15 crates

MIT 许可证

255KB
2K SLoC

CliClack Logo

轻松使用 Rust 🦀✨ 构建美观的命令行应用

github.com crates.io docs.rs license

@clack/prompts npm 包启发的美观、简洁、有偏见的 CLI 提示。

cargo add cliclack

cliclack 在行动

cargo run --example basic
cargo run --example log
CliClack Example

💎 精美的最小化 UI
✅ 简单的 API
🎨 主题支持

设置

使用 introoutro/outro_cancel 函数可以分别打印消息以开始和结束提示会话。

use cliclack::{intro, outro};

intro("create-my-app")?;
// Do stuff
outro("You're all set!")?;

输入

输入提示接受一行文本,并尝试将其解析为目标类型。可以通过 multiline() 开关启用多行输入。

use cliclack::input;

let path: String = input("Where should we create your project?")
    .placeholder("./sparkling-solid")
    .validate(|input: &String| {
        if input.is_empty() {
            Err("Please enter a path.")
        } else if !input.starts_with("./") {
            Err("Please enter a relative path")
        } else {
            Ok(())
        }
    })
    .interact()?;

🎨 主题

可以为 UI 渲染应用自定义主题。以下是一个主题定制的示例

cargo run --example theme
CliClack Magenta Theme

🚥 进度条

cliclack = "0.2.3" 版本开始,支持进度条和多进度条。

CliClack Multi Progress Bar

查看更多

依赖项

~2–9.5MB
~80K SLoC