1.1 --- a/moinformat/tree/moin.py Tue Jul 24 15:43:20 2018 +0200
1.2 +++ b/moinformat/tree/moin.py Tue Jul 24 18:45:13 2018 +0200
1.3 @@ -453,6 +453,28 @@
1.4 out.end_linktext()
1.5 out.end_link()
1.6
1.7 +class Macro(Container):
1.8 +
1.9 + "Macro details."
1.10 +
1.11 + def __init__(self, name, args, nodes=None):
1.12 + Container.__init__(self, nodes or [])
1.13 + self.name = name
1.14 + self.args = args
1.15 +
1.16 + def __repr__(self):
1.17 + return "Macro(%r, %r, %r)" % (self.name, self.args, self.nodes)
1.18 +
1.19 + def prettyprint(self, indent=""):
1.20 + l = ["%sMacro: name=%r args=%r" % (indent, self.name, self.args)]
1.21 + return self._prettyprint(l, indent)
1.22 +
1.23 + def to_string(self, out):
1.24 + out.start_macro(self.name, self.args)
1.25 + if self.nodes:
1.26 + self._to_string(out)
1.27 + out.end_macro()
1.28 +
1.29 class Monospace(Inline):
1.30
1.31 "Monospaced text."
1.32 @@ -531,23 +553,6 @@
1.33 def to_string(self, out):
1.34 out.break_()
1.35
1.36 -class Macro(Node):
1.37 -
1.38 - "Macro details."
1.39 -
1.40 - def __init__(self, name, args):
1.41 - self.name = name
1.42 - self.args = args
1.43 -
1.44 - def __repr__(self):
1.45 - return "Macro(%r, %r)" % (self.name, self.args)
1.46 -
1.47 - def prettyprint(self, indent=""):
1.48 - return "%sMacro: name=%r args=%r" % (indent, self.name, self.args)
1.49 -
1.50 - def to_string(self, out):
1.51 - out.macro(self.name, self.args)
1.52 -
1.53 class Rule(Node):
1.54
1.55 "A horizontal rule."