7 个版本
0.3.0 | 2023 年 8 月 20 日 |
---|---|
0.2.1 | 2023 年 1 月 22 日 |
0.1.3 | 2021 年 11 月 20 日 |
0.1.2 | 2020 年 12 月 22 日 |
0.1.1 | 2020 年 6 月 21 日 |
#1578 在 解析器实现 中
118 每月下载量
在 procmon-oprs 中使用
14KB
280 行
轻量级 INI 解析器
此库实现了一个针对 INI 文件格式 的事件驱动解析器。
它不会在容器中加载数据。它是 rust-ini 的替代品,如果不需要,它将避免构建中间哈希表。
[dependencies]
light_ini = "0.3"
请参阅文档和示例以获取详细信息。
格式
-
属性名称没有限制。
-
注释只能在其自己的行中。默认的注释起始字符是
;
。使用IniParser::with_start_comment
可以使用不同的字符,例如#
。 -
没有转义或引号字符
许可证
在 MIT 许可证 下授权。
lib.rs
:
轻量级 INI 文件解析器。
light-ini
实现了一个针对 INI 文件格式 的事件驱动解析器。处理器必须实现 IniHandler
。
use light_ini::{IniHandler, IniParser, IniHandlerError};
struct Handler {}
impl IniHandler for Handler {
type Error = IniHandlerError;
fn section(&mut self, name: &str) -> Result<(), Self::Error> {
println!("section {}", name);
Ok(())
}
fn option(&mut self, key: &str, value: &str) -> Result<(), Self::Error> {
println!("option {} is {}", key, value);
Ok(())
}
fn comment(&mut self, comment: &str) -> Result<(), Self::Error> {
println!("comment: {}", comment);
Ok(())
}
}
let mut handler = Handler{};
let mut parser = IniParser::new(&mut handler);
parser.parse_file("example.ini");