1 个不稳定版本

0.1.0 2021 年 10 月 6 日

#13#cli-arguments

MIT 许可协议

15KB
200 代码行

Surd

简单的 Rust 命令行参数解析器。

示例代码

extern crate surd;

fn main() {
    // Create a new surd app.
    let mut app = surd::Surd::new("test", "a test app", "aiocat", "1.0.0");
    app.add_flag("t", "a test flag", Vec::new());
    app.set_handler(run_main);

    // Create a sub-command for main app.
    let mut test_command = surd::SubCommand::new("test", "a test command");
    test_command.add_usage("test test");
    test_command.add_flag("at", "another test flag", vec!["atest".to_string()]);
    test_command.add_alias("t".to_string());
    test_command.set_handler(run_test);

    app.add_command(test_command);

    // Handle the command.
    app.start();
}

fn run_main(found_flags: &Vec<surd::Flag>, found_args: Vec<String>) {
    println!("main: {:?}", found_args);

    for i in found_flags.iter() {
        println!("{} - {}", i.description, i.value);
    }
}

fn run_test(found_flags: &Vec<surd::Flag>, found_args: Vec<String>) {
    println!("test: {:?}", found_args);

    for i in found_flags.iter() {
        println!("{} - {}", i.description, i.value);
    }
}

发现错误或问题?

如果您发现错误或问题,请在 GitLab 仓库中创建新的问题。

贡献

如果您想为该项目做出贡献

  • 请确保为您的代码添加注释。
  • 请不要做无用功。

作者

许可协议

本项目遵循 MIT 许可协议。

项目状态

开发中。

无运行时依赖