1pub trait TomlWrite: core::fmt::Write {
2 fn open_table_header(&mut self) -> core::fmt::Result {
3 write!(self, "[")
4 }
5 fn close_table_header(&mut self) -> core::fmt::Result {
6 write!(self, "]")
7 }
8
9 fn open_array_of_tables_header(&mut self) -> core::fmt::Result {
10 write!(self, "[[")
11 }
12 fn close_array_of_tables_header(&mut self) -> core::fmt::Result {
13 write!(self, "]]")
14 }
15
16 fn open_inline_table(&mut self) -> core::fmt::Result {
17 write!(self, "{{")
18 }
19 fn close_inline_table(&mut self) -> core::fmt::Result {
20 write!(self, "}}")
21 }
22
23 fn open_array(&mut self) -> core::fmt::Result {
24 write!(self, "[")
25 }
26 fn close_array(&mut self) -> core::fmt::Result {
27 write!(self, "]")
28 }
29
30 fn key_sep(&mut self) -> core::fmt::Result {
31 write!(self, ".")
32 }
33
34 fn keyval_sep(&mut self) -> core::fmt::Result {
35 write!(self, "=")
36 }
37
38 fn key(&mut self, value: impl crate::WriteTomlKey) -> core::fmt::Result {
42 value.write_toml_key(self)
43 }
44
45 fn value(&mut self, value: impl crate::WriteTomlValue) -> core::fmt::Result {
68 value.write_toml_value(self)
69 }
70
71 fn val_sep(&mut self) -> core::fmt::Result {
72 write!(self, ",")
73 }
74
75 fn space(&mut self) -> core::fmt::Result {
76 write!(self, " ")
77 }
78
79 fn open_comment(&mut self) -> core::fmt::Result {
80 write!(self, "#")
81 }
82
83 fn newline(&mut self) -> core::fmt::Result {
84 writeln!(self)
85 }
86}
87
88impl<W> TomlWrite for W where W: core::fmt::Write {}