92 个版本
0.22.20 | 2024 年 7 月 31 日 |
---|---|
0.22.14 | 2024 年 6 月 3 日 |
0.22.9 | 2024 年 3 月 20 日 |
0.21.0 | 2023 年 11 月 6 日 |
0.1.1 | 2017 年 12 月 17 日 |
#96 在 解析器实现
每月 10,939,071 次下载
在 9,080 个crate中使用 (362 个直接使用)
385KB
9K SLoC
toml_edit
此crate允许您解析和修改TOML文档,同时保留注释、空格 和项的相对顺序。
toml_edit
主要针对 cargo-edit 的需求。
示例
use toml_edit::{Document, value};
fn main() {
let toml = r#"
"hello" = 'toml!' # comment
['a'.b]
"#;
let mut doc = toml.parse::<Document>().expect("invalid doc");
assert_eq!(doc.to_string(), toml);
// let's add a new key/value pair inside a.b: c = {d = "hello"}
doc["a"]["b"]["c"]["d"] = value("hello");
// autoformat inline table a.b.c: { d = "hello" }
doc["a"]["b"]["c"].as_inline_table_mut().map(|t| t.fmt());
let expected = r#"
"hello" = 'toml!' # comment
['a'.b]
c = { d = "hello" }
"#;
assert_eq!(doc.to_string(), expected);
}
限制
它不保留的事情
- 点状键的顺序,见 问题。
许可证
许可协议为以下之一
- Apache License,版本 2.0 (LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT 许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
贡献
除非您明确声明,否则根据Apache-2.0许可证定义,您提交给作品的所有有意贡献均应按上述方式双许可,不附加任何额外条款或条件。
依赖关系
~0.7–1.3MB
~23K SLoC