commit | d3caacd55ecaf28f69cdb1fe3e06a356a604bc32 | [log] [tgz] |
---|---|---|
author | Jeff Vander Stoep <jeffv@google.com> | Wed Feb 07 21:01:51 2024 +0000 |
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | Wed Feb 07 21:01:51 2024 +0000 |
tree | 68c2b5426766f3a2bc770792db8644d83602b4a5 | |
parent | 20db17911dc856eefef9058804f30401ed0a3e7b [diff] | |
parent | 4fa63b698c83d34a9c686ee180b7519eedcb6b94 [diff] |
Upgrade toml_edit to 0.22.4 am: 4fa63b698c Original change: https://android-review.googlesource.com/c/platform/external/rust/crates/toml_edit/+/2952815 Change-Id: I778f4cb6cb8798cb68426106e41fd34665789602 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This crate allows you to parse and modify toml documents, while preserving comments, spaces and relative order of items.
toml_edit
is primarily tailored for cargo-edit needs.
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); }
Things it does not preserve:
Licensed under either of
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.