1个不稳定版本

0.1.0 2022年11月18日

#1505数据库接口

MIT/Apache

11KB
186

pino_argparse

一个小型的无依赖argparsing库

MIT/Apache 2.0

pino_argparse是一个小巧的argparsing库,可以处理带有或没有值的短和长标志、子命令和基本验证。

在您的项目中使用

将以下内容添加到您的Cargo.toml

pino_argparse = { git = "https://github.com/MrPicklePinosaur/pino_argparse" }

待办事项

  • 自动生成文档/帮助信息?
  • 迭代器以按顺序提供标志

lib.rs:

一个无依赖的简单arg解析库。

为您的命令行应用程序提供一个模式,并将处理程序附加到每个命令。支持短和长标志名称以及可选参数,查询标志值。

use pino_argparse::{Cli, Flag, FlagParse, Command};

fn main() {

    // Get arguments
    let args = std::env::args().collect();

    // Initialize the CLI
    let cli = Cli {
        program_name: "myprogram",
        synopsis: "a simple program to show of the argparse library",
        root_command: Command {
            flags: vec![
                Flag::new("help").short('h'),
                Flag::new("verbose").short('v'),
            ],
            handler: |flagparse: FlagParse| -> Result<(), Box<dyn std::error::Error>> {
                if flagparse.get_flag("help") {
                    println!("We called the help flag!");
                }

                Ok(())
            },
            ..Default::default()
        },
        ..Default::default()
    };

    // Run the CLI
    let flagparse = cli.run(&args).unwrap();
}

无运行时依赖