Optional commas in pretty-printer
This commit is contained in:
parent
0f49b8b1b4
commit
32544c544a
|
@ -312,10 +312,16 @@ def parse_with_annotations(bs, **kwargs):
|
|||
return Parser(input_buffer=bs, include_annotations=True, **kwargs).next()
|
||||
|
||||
class Formatter(TextCodec):
|
||||
def __init__(self, format_embedded=lambda x: x, indent=None):
|
||||
def __init__(self,
|
||||
format_embedded=lambda x: x,
|
||||
indent=None,
|
||||
with_commas=False,
|
||||
trailing_comma=False):
|
||||
super(Formatter, self).__init__()
|
||||
self.indent_delta = 0 if indent is None else indent
|
||||
self.indent_distance = 0
|
||||
self.with_commas = with_commas
|
||||
self.trailing_comma = trailing_comma
|
||||
self.chunks = []
|
||||
self._format_embedded = format_embedded
|
||||
|
||||
|
@ -362,9 +368,11 @@ class Formatter(TextCodec):
|
|||
self.write_indent()
|
||||
appender(vs[0])
|
||||
for v in vs[1:]:
|
||||
if self.with_commas: self.chunks.append(',')
|
||||
self.write_indent_space()
|
||||
appender(v)
|
||||
self.indent_distance = self.indent_distance - self.indent_delta
|
||||
if self.trailing_comma: self.chunks.append(',')
|
||||
self.write_indent()
|
||||
self.chunks.append(closer)
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@ except ImportError:
|
|||
|
||||
setup(
|
||||
name="preserves",
|
||||
version="0.11.0",
|
||||
version="0.12.0",
|
||||
author="Tony Garnock-Jones",
|
||||
author_email="tonyg@leastfixedpoint.com",
|
||||
license="Apache Software License",
|
||||
|
|
Loading…
Reference in New Issue