1.1 --- a/moinformat/tree.py Sat Apr 29 18:20:55 2017 +0200
1.2 +++ b/moinformat/tree.py Sat Apr 29 23:04:30 2017 +0200
1.3 @@ -140,6 +140,35 @@
1.4 node.to_string(out)
1.5 out.end_block(self.final)
1.6
1.7 +class Heading(Container):
1.8 +
1.9 + "A heading."
1.10 +
1.11 + def __init__(self, nodes, level, start_extra="", start_pad="", end_pad="", end_extra=""):
1.12 + Container.__init__(self, nodes)
1.13 + self.level = level
1.14 + self.start_extra = start_extra
1.15 + self.start_pad = start_pad
1.16 + self.end_pad = end_pad
1.17 + self.end_extra = end_extra
1.18 +
1.19 + def __repr__(self):
1.20 + return "Heading(%r, %d, %r, %r, %r, %r)" % (
1.21 + self.nodes, self.level, self.start_extra, self.start_pad, self.end_pad, self.end_extra)
1.22 +
1.23 + def prettyprint(self, indent=""):
1.24 + l = ["%sHeading: level=%d start_extra=%r start_pad=%r end_pad=%r end_extra=%r" % (
1.25 + indent, self.level, self.start_extra, self.start_pad, self.end_pad, self.end_extra)]
1.26 + for node in self.nodes:
1.27 + l.append(node.prettyprint(indent + " "))
1.28 + return "\n".join(l)
1.29 +
1.30 + def to_string(self, out):
1.31 + out.start_heading(self.level, self.start_extra, self.start_pad)
1.32 + for node in self.nodes:
1.33 + node.to_string(out)
1.34 + out.end_heading(self.level, self.end_pad, self.end_extra)
1.35 +
1.36 class ListItem(Container):
1.37
1.38 "A list item."