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解析器实现

Download history 35/week @ 2024-04-08 29/week @ 2024-04-15 25/week @ 2024-04-22 40/week @ 2024-04-29 39/week @ 2024-05-06 42/week @ 2024-05-13 47/week @ 2024-05-20 33/week @ 2024-05-27 41/week @ 2024-06-03 21/week @ 2024-06-10 33/week @ 2024-06-17 27/week @ 2024-06-24 47/week @ 2024-07-01 32/week @ 2024-07-08 8/week @ 2024-07-15 31/week @ 2024-07-22

118 每月下载量
procmon-oprs 中使用

MIT 许可证

14KB
280

轻量级 INI 解析器

Rust

此库实现了一个针对 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");

无运行时依赖项