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 次
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);
...