5 个版本 (3 个破坏性更新)
0.4.0 | 2020 年 5 月 10 日 |
---|---|
0.3.1 | 2020 年 5 月 7 日 |
0.3.0 | 2020 年 5 月 7 日 |
0.2.0 | 2020 年 4 月 24 日 |
0.1.0 | 2020 年 4 月 20 日 |
#951 in 命令行界面
12KB
179 代码行
clappconfig - CLI 应用程序配置样板
Clap
App
Config
-----------
clappconfig
此crate提供了一个简单的 CLI 应用程序样板,用于处理大多数重复的初始化任务
- 从自定义或默认路径(或使用
Default::default()
)加载 JSON5 配置 - 设置日志,具有 CLI 和基于配置的重写
- 可选打印加载的或默认配置
- 在请求时显示帮助/版本,由
clap
提供 - 可选打印启动横幅
也支持自定义 clap
参数。
-> 仓库欢迎改进 PR。
日志
- 默认使用
env_logger
- 可以在配置文件中设置级别
- 日志级别可以通过
--log
CLI 标志重写 - 日志级别可以通过重复使用
-v
或--verbose
来提高
重新导出
这些crate重新导出用于公共 API 的crate:clap
、anyhow
、log
。
示例
请参阅示例目录。
名为 "rotn" 的示例实现了作为命令行工具的 rot13。
$ cargo run --example rotn -- -h
Rot-N 0.1.0 by Ondřej Hruška <[email protected]>
USAGE:
rotn [FLAGS] [OPTIONS] --input <FILE>
FLAGS:
--default-config Print the default config JSON for reference (or to be piped to a file)
--dump-config Print the loaded config struct
-h, --help Prints help information
-V, --version Prints version information
-v, --verbose Increase logging verbosity (repeat to increase)
OPTIONS:
-c, --config <FILE> Sets a custom config file (JSON5)
-i, --input <FILE> Input file
--log <LEVEL> Set logging verbosity (error,warning,info,debug,trace)
-n, --shift <N> Positive or negative shift, default 13
要获取此 README 的 rot13,请运行 cargo run --example rotn -- -iREADME.md
。
依赖关系
~6–15MB
~180K SLoC