9 个不稳定版本
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日 |
#478 in 配置
每月下载量21次
20KB
99 行
StructConf 是一个小的 derive 宏,允许您在编译时将来自 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);
}
依赖项
~3.5MB
~65K SLoC