9 个版本 (5 个重大变更)
0.6.1 | 2024年3月1日 |
---|---|
0.5.1 | 2022年10月25日 |
0.4.0 | 2020年3月13日 |
0.3.1 | 2018年12月6日 |
0.2.0 | 2016年3月8日 |
#48 在 解析器实现
46,922 每月下载量
用于 200 个crate(187 个直接使用)
25KB
339 行
confy
零样板配置管理。
专注于存储正确的数据,而不是担心如何或在哪里存储它。
use serde_derive::{Serialize, Deserialize};
#[derive(Default, Debug, Serialize, Deserialize)]
struct MyConfig {
version: u8,
api_key: String,
}
fn main() -> Result<(), Box<dyn std::error::Error>> {
let cfg: MyConfig = confy::load("my-app-name", None)?;
dbg!(cfg);
Ok(())
}
Confy功能标志
confy
可以与 TOML
、YAML 或
RON
文件一起使用。 TOML
是与 confy
一起使用的默认语言,但可以通过以下方式启用其他语言。
注意:您一次只能使用这些功能中的一个,因此要使用任何可选功能,您必须禁用默认功能。
使用 YAML
要使用 YAML
文件与 confy
一起使用,您必须确保已启用 yaml_conf
功能,并禁用 toml_conf
和 ron_conf
。
在 Cargo.toml
中启用功能
[dependencies.confy]
features = ["yaml_conf"]
default-features = false
使用 RON
要使用 RON
文件与 confy
一起使用,您必须确保已启用 ron_conf
功能,并禁用 toml_conf
和 yaml_conf
。
在 Cargo.toml
中启用功能
[dependencies.confy]
features = ["ron_conf"]
default-features = false
更改错误消息
有关向错误消息添加上下文的信息,请参阅提供上下文
重大变更
版本 0.6.0
在这个版本中,我们提高了几个依赖项,这些依赖项在默认(反)序列化过程中有一些变化
serde_yaml
v0.8 -> v0.9: v0.9 版本说明。对v0.9.0
进行了几个重大变更,并列在这个版本标签中。特别是之前数字被解析但现在返回String
的情况。有关更多详细信息,请参阅版本说明。toml
v0.5 -> v0.8: v0.8 版本变更日志. 对toml
中元组变体工作的破坏性更改,根据说明:“元组变体的序列化和反序列化已从数组更改为表,其中键为变体名称,值为数组”。
版本 0.5.0
- 在需要多个配置或不同文件名的情况下,为基本函数
load
和store
添加了可选参数。 - 默认配置文件现在命名为 "default-config",而不是使用应用程序的名称。将
load
和store
的第二个参数设置为与第一个参数相同,以保留以前的配置文件。 - 现在可以将配置保存为
toml
或YAML
格式。配置文件的扩展名取决于使用的格式。
版本 0.4.0
从版本 0.4.0 开始,配置文件存储在您系统预期的位置。有关更多信息,请参阅 directories
软件包。在版本 0.4.0 之前,配置文件被写入当前目录。
许可证
本作品受 MIT、MIT/X11 或 Apache 2.0 许可(或任何后续版本)的三重许可。如果您使用此作品,可以选择这三个许可中的任何一个。
SPDX-许可证-标识符: MIT 或 X11 或Apache-2.0+
依赖项
~0.5–11MB
~77K SLoC