4 个版本
0.2.0 | 2023 年 10 月 3 日 |
---|---|
0.1.3 | 2023 年 5 月 11 日 |
0.1.2 | 2023 年 3 月 2 日 |
0.1.1 | 2023 年 2 月 27 日 |
0.1.0 |
|
#2832 在 解析器实现
84 每月下载次数
在 nix-installer 中使用
19KB
220 行
nix-config-parser
简单解析 Nix 配置文件格式的解析器。
使用方法
从文件读取
use std::error::Error;
fn main() -> Result<(), Box<dyn Error>> {
std::fs::write(
"nix.conf",
b"experimental-features = flakes nix-command\nwarn-dirty = false\n",
)?;
let nix_conf = nix_config_parser::NixConfig::parse_file(&std::path::Path::new("nix.conf"))?;
assert_eq!(
nix_conf.settings().get("experimental-features").unwrap(),
"flakes nix-command"
);
assert_eq!(nix_conf.settings().get("warn-dirty").unwrap(), "false");
std::fs::remove_file("nix.conf")?;
Ok(())
}
从字符串读取
use std::error::Error;
fn main() -> Result<(), Box<dyn Error>> {
let nix_conf_string = String::from("experimental-features = flakes nix-command");
let nix_conf = nix_config_parser::NixConfig::parse_string(nix_conf_string, None)?;
assert_eq!(
nix_conf.settings().get("experimental-features").unwrap(),
"flakes nix-command"
);
Ok(())
}
依赖关系
~1–1.7MB
~32K SLoC