10 个版本
0.5.0 | 2022 年 1 月 4 日 |
---|---|
0.4.0 | 2020 年 9 月 14 日 |
0.3.2 | 2020 年 7 月 13 日 |
0.2.0 | 2020 年 7 月 12 日 |
0.1.3 | 2020 年 7 月 10 日 |
在 #clap 中排名 155
每月下载量 50
在 structconf 中使用
27KB
640 行代码(不含注释)
StructConf 是一个小型派生宏,允许您在编译时将 clap 的参数解析和 rust-ini 的配置文件解析结合起来。它受到 structopt 参数解析器的启发。
StructConf 旨在相对小巧且简单。以下是它的当前优势:
- 配置文件中可用、参数解析器中可用、两者都有或都不用。
- 可配置的选项名称。
- 支持自定义类型。
- 带有
Option
的可选字段。 - 自定义默认表达式。
- 详尽的错误信息。
- 彻底测试。
小型示例
use structconf::{clap, StructConf};
#[derive(Debug, StructConf)]
struct ServerConfig {
#[conf(help = "The public key")]
pub public_key: String,
#[conf(no_file, long = "your-secret", help = "Your secret API key")]
pub secret_key: String,
#[conf(default = "100", help = "timeout in seconds")]
pub timeout: i32,
}
pub fn main() {
let app = clap::App::new("demo");
let conf = ServerConfig::parse(app, "config.ini");
println!("Parsed config: {:#?}", conf);
}
lib.rs
:
请访问 docs.rs/structconf 以获取文档。
依赖项
~2MB
~42K SLoC