teo_parser/traits/
write.rs1use std::fmt::Debug;
2use crate::format::Writer;
3
4pub trait Write: Debug {
5
6 fn write<'a>(&'a self, writer: &mut Writer<'a>);
7
8 fn write_output_with_default_writer(&self) -> String {
9 let mut writer = Writer::default();
10 self.write(&mut writer);
11 writer.flush()
12 }
13
14 fn prefer_whitespace_before(&self) -> bool {
15 false
16 }
17
18 fn prefer_whitespace_after(&self) -> bool {
19 false
20 }
21
22 fn prefer_always_no_whitespace_before(&self) -> bool {
23 false
24 }
25
26 fn always_start_on_new_line(&self) -> bool {
27 false
28 }
29
30 fn always_end_on_new_line(&self) -> bool {
31 false
32 }
33
34 fn is_block_start(&self) -> bool {
35 false
36 }
37
38 fn is_block_end(&self) -> bool {
39 false
40 }
41
42 fn is_block_element_delimiter(&self) -> bool {
43 false
44 }
45
46 fn is_block_level_element(&self) -> bool {
47 false
48 }
49
50 fn wrap(&self, content: &str, _available_length: usize) -> String {
51 content.to_owned()
52 }
53}