7个版本
0.2.1 | 2024年4月18日 |
---|---|
0.2.0 | 2022年5月25日 |
0.1.4 | 2021年11月21日 |
0.1.3 | 2021年3月10日 |
157 在 配置 中排名
每月377次下载
10KB
150 行
appconfig
桌面应用程序的简单配置文件管理器。
配置文件是从以下位置读取和写入的。
平台 | 值 | 示例 |
---|---|---|
Linux | $HOME /.local/share |
/home/alice/.local/share |
macOS | $HOME /Library/Application Support |
/Users/Alice/Library/Application Support |
Windows | {FOLDERID_LocalAppData} |
C:\Users\Alice\AppData\Local |
使用
cargo add appconfig serde
use std::{cell::RefCell, rc::Rc};
use appconfig::AppConfigManager;
use serde::{Deserialize, Serialize};
#[derive(Debug, Serialize, Deserialize, PartialEq)]
struct MyAppConfig {
window_pos: (u32, u32),
}
impl Default for MyAppConfig {
fn default() -> Self {
Self {
window_pos: (320, 280),
}
}
}
fn main() {
let config = Rc::from(RefCell::from(MyAppConfig::default()));
let manager = AppConfigManager::new(
config.clone(),
std::env!("CARGO_CRATE_NAME"), // CRATE_BIN_NAME etc..,
"sumibi-yakitori",
);
manager.save().unwrap();
manager.load().unwrap();
assert_eq!(*config.borrow(), MyAppConfig::default());
}
依赖项
~0.7–1.7MB
~33K SLoC