#home #config-file #home-dir

home-config

在 HOME 目录中使用配置文件

1 个不稳定版本

0.6.0 2022年11月1日
0.5.0 2022年9月14日
0.4.0 2022年5月24日
0.3.0 2022年5月23日
0.1.0 2022年3月5日

#520配置

Download history • Rust 包仓库 191/week @ 2024-03-13 • Rust 包仓库 183/week @ 2024-03-20 • Rust 包仓库 162/week @ 2024-03-27 • Rust 包仓库 136/week @ 2024-04-03 • Rust 包仓库 174/week @ 2024-04-10 • Rust 包仓库 103/week @ 2024-04-17 • Rust 包仓库 100/week @ 2024-04-24 • Rust 包仓库 102/week @ 2024-05-01 • Rust 包仓库 52/week @ 2024-05-08 • Rust 包仓库 60/week @ 2024-05-15 • Rust 包仓库 129/week @ 2024-05-22 • Rust 包仓库 116/week @ 2024-05-29 • Rust 包仓库 82/week @ 2024-06-05 • Rust 包仓库 148/week @ 2024-06-12 • Rust 包仓库 141/week @ 2024-06-19 • Rust 包仓库 72/week @ 2024-06-26 • Rust 包仓库

每月 475 次下载
3 crates 中使用

MIT 许可证

14KB
230

home-config

Crates.io docs.rs LICENSE

在 HOME 目录中使用配置文件

用法

use home_config::HomeConfig;

let config = HomeConfig::with_config_dir("app", "config");
// Linux: /home/name/.config/app/config
// macOS: /Users/name/.config/app/config
// Windows: C:\Users\name\.config\app\config

// Write
config.save("123456789").unwrap();

// Read
let data = config.read_to_string().unwrap();
// 123456789

Serde 格式支持

home-config = { version = "*", features = ["json", "yaml", "toml", "hcl"] }

一个 JSON 示例

use home_config::HomeConfig;
use serde::{Deserialize, Serialize};

#[derive(Serialize, Deserialize, Default)]
struct People {
    name: String,
    age: u32,
}

let config = HomeConfig::with_file("test.json");
// Linux: /home/name/test.json
// macOS: /Users/name/test.json
// Windows: C:\Users\name\test.json

// Parse
let people = config.json::<People>().unwrap();
// people.name == "XiaoMing";
// people.age == 18;

// Save to file
config.save_json(&people).unwrap();

依赖关系

~0–1.5MB
~26K SLoC