| Crates.io | cliclack |
| lib.rs | cliclack |
| version | 0.3.6 |
| created_at | 2023-07-16 14:29:40.470211+00 |
| updated_at | 2025-04-05 21:47:09.234389+00 |
| description | Beautiful, minimal, opinionated CLI prompts inspired by the Clack NPM package. |
| homepage | https://github.com/fadeevab/cliclack |
| repository | https://github.com/fadeevab/cliclack |
| max_upload_size | |
| id | 917786 |
| size | 395,150 |
Beautiful, minimal, opinionated CLI prompts inspired by the
@clack/prompts npm package.
cargo add cliclack
cliclack in actioncargo run --example basic
cargo run --example log
💎 Fancy minimal UI
✅ Simple API
🎨 Theme support
The intro and outro/outro_cancel functions will
print a message to begin and end a prompt session respectively.
use cliclack::{intro, outro};
intro("create-my-app")?;
// Do stuff
outro("You're all set!")?;
The input prompt accepts a single line of text trying to parse it into a target type.
Multiline input can be enabled using the multiline() switch.
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()?;
A custom theme can be applied for UI rendering. An example of theme customization:
cargo run --example theme
Starting from cliclack = "0.2.3", progress bars and multi-progress bars are supported.