aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/ast/printer.py
diff options
context:
space:
mode:
authorDaniel Mensinger <daniel@mensinger-ka.de>2019-01-22 16:00:10 +0100
committerDaniel Mensinger <daniel@mensinger-ka.de>2019-01-22 16:41:25 +0100
commitb7c6f3ec72c831c2af20eb5320d5f51b52d79227 (patch)
treec7d77532371251aefcdbe45cfb74113337340375 /mesonbuild/ast/printer.py
parente089eb7665ca9dfb28e740829652add666f4a2f0 (diff)
downloadmeson-b7c6f3ec72c831c2af20eb5320d5f51b52d79227.zip
meson-b7c6f3ec72c831c2af20eb5320d5f51b52d79227.tar.gz
meson-b7c6f3ec72c831c2af20eb5320d5f51b52d79227.tar.bz2
Can now rewrite files
Diffstat (limited to 'mesonbuild/ast/printer.py')
-rw-r--r--mesonbuild/ast/printer.py16
1 files changed, 14 insertions, 2 deletions
diff --git a/mesonbuild/ast/printer.py b/mesonbuild/ast/printer.py
index aab5a30..1f58146 100644
--- a/mesonbuild/ast/printer.py
+++ b/mesonbuild/ast/printer.py
@@ -17,6 +17,7 @@
from .. import mparser
from . import AstVisitor
+import re
arithmic_map = {
'add': '+',
@@ -33,11 +34,18 @@ class AstPrinter(AstVisitor):
self.arg_newline_cutoff = arg_newline_cutoff
self.ci = ''
self.is_newline = True
+ self.last_level = 0
+
+ def post_process(self):
+ self.result = re.sub(r'\s+\n', '\n', self.result)
def append(self, data: str, node: mparser.BaseNode):
level = 0
if node and hasattr(node, 'level'):
level = node.level
+ else:
+ level = self.last_level
+ self.last_level = level
if self.is_newline:
self.result += ' ' * (level * self.indent)
self.result += data
@@ -179,13 +187,17 @@ class AstPrinter(AstVisitor):
self.newline()
for i in node.arguments:
i.accept(self)
- self.append(',', node)
+ self.append(', ', node)
if break_args:
self.newline()
for key, val in node.kwargs.items():
self.append(key, node)
self.appendS(':', node)
val.accept(self)
- self.append(',', node)
+ self.append(', ', node)
if break_args:
self.newline()
+ if break_args:
+ self.result = re.sub(r', \n$', '\n', self.result)
+ else:
+ self.result = re.sub(r', $', '', self.result)