minicmd

Crates.iominicmd
lib.rsminicmd
version0.1.0
created_at2025-09-26 19:55:22.703308+00
updated_at2025-09-26 19:55:22.703308+00
descriptionExtremely simple and minimal command-line argument parser
homepagehttps://github.com/malkicodes/minicmd
repositoryhttps://github.com/malkicodes/minicmd
max_upload_size
id1856512
size7,402
Malki (malkicodes)

documentation

README

minicmd

An extremely simple and minimal command-line argument parser, with similar syntax to Go's flag package.

use minicmd::MiniCmd;

fn main() {
    let config: MiniCmd = MiniCmd::parse();

    let greeting: &str = config
        .value("greeting")
        .unwrap_or(if config.flag("formal") {
            "Salutations"
        } else {
            "Hello"
        });

    if config.args_is_empty() {
        println!("{greeting}, World!")
    } else {
        for name in config.args() {
            println!("{greeting}, {name}!",);
        }
    }
}
$ cargo run
Hello, World!
$ cargo run -- -formal
Salutations, World!
$ cargo run -- -greeting=Sup
Sup, World!
$ cargo run -- Alice Bob "John Doe"
Hello, Alice!
Hello, Bob!
Hello, John Doe!
Commit count: 0

cargo fmt