8 个版本

0.4.0 2022 年 10 月 3 日
0.3.4 2020 年 3 月 18 日
0.2.0 2020 年 3 月 15 日
0.1.0 2020 年 3 月 15 日

#783 in 命令行界面

每月下载量 27 次

MIT/Apache

13KB
144

ezcli

小巧轻量,足以快速集成到任何 CLI 应用程序中,无需麻烦。只需调用几个宏即可运行!

如果您想要一个更完善的 CLI 库,应该查看 clap

如何使用

ezcli 非常容易使用,没有太多复杂的功能。使用 flag!option! 宏可以将它们作为 CLI 参数传递,并且宏调用后,它还会为您创建一个小巧的变量以便使用。 注意,这些宏会将参数名称中的下划线 (_) 替换为连字符 (-)。

flag

布尔状态的命令行参数。宏 flag! 只需要一个变量名。一旦调用,它将检查命令行参数中是否存在匹配的标志。可选地传递关键字 let 将创建一个与标志同名的变量。

use ezcli::flag;

if flag!(--my_boolean) { // "--my-boolean" exists in arguments
    // do stuff because flag is given
}

// OR

flag!(let --my_boolean);

if my_boolean { // "--my-boolean" exists in arguments
    // do stuff because flag is given
}

option

可选参数的命令行参数。宏 option! 需要一个变量名,类似于 flag!,并且如果包含关键字 let,它将创建一个变量。值将是包装在 Some 中的下一个参数,除非没有提供,则它将是 None

use ezcli::option;

match option!(--my_arg) {
    Some(x) => {}, // use x
    None => {}, // handle no value
}

// OR 

option!(let --my_arg);

match my_arg {
    Some(x) => {}, // use x
    None => {}, // handle no value
}

短名和长名参数

命令行参数可以是短名(由一个连字符:-a 表示)或长名(由两个连字符:--arg 表示)。这适用于 flag!option!

use ezcli::{flag, option};

if flag!(-f, --flag) { 
    // "-f" or "--flag" exists in arguments
}

// "-a" or "--arg" exists in arguments
match option!(-a, --arg) {
    Some(x) => {},
    None => {},
}

// OR

let my_flag = flag!(-f, --flag);
...

有关更详细的示例,请参阅 flagoption 测试。

无运行时依赖