Small syntax hack for nested things
This commit is contained in:
parent
790aac7f75
commit
24c7a9bbb5
3 changed files with 34 additions and 11 deletions
|
@ -266,10 +266,14 @@ impl<'a> T<'a> {
|
|||
if d.is_empty() {
|
||||
buf.extend_from_slice(b"{}");
|
||||
} else if d.len() == 1 {
|
||||
buf.extend_from_slice(b"{ ");
|
||||
let (k, v) = d.into_iter().next().unwrap();
|
||||
if k.as_ref() == b"." {
|
||||
buf.extend_from_slice(b"{.= ");
|
||||
} else {
|
||||
buf.extend_from_slice(b"{ ");
|
||||
buf.extend_from_slice(k.borrow());
|
||||
buf.extend_from_slice(b" = ");
|
||||
}
|
||||
v.encode_aux(buf, indent + 2, false);
|
||||
buf.extend_from_slice(b" }");
|
||||
} else {
|
||||
|
|
|
@ -39,6 +39,25 @@ mod tests {
|
|||
seq = YQ Yg,
|
||||
}"#;
|
||||
test_bidir(input, expected);
|
||||
|
||||
let input = vec![
|
||||
Test {
|
||||
int: 1,
|
||||
seq: vec!["a".to_string(), "b".to_string()],
|
||||
},
|
||||
Test {
|
||||
int: 2,
|
||||
seq: vec!["c".to_string(), "d".to_string()],
|
||||
},
|
||||
];
|
||||
let expected = br#"{.= Test {
|
||||
int = 1,
|
||||
seq = YQ Yg,
|
||||
} } {.= Test {
|
||||
int = 2,
|
||||
seq = Yw ZA,
|
||||
} }"#;
|
||||
test_bidir(input, expected);
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
|
Loading…
Reference in a new issue