diff options
Diffstat (limited to 'sqlparse/sql.py')
-rw-r--r-- | sqlparse/sql.py | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/sqlparse/sql.py b/sqlparse/sql.py index 5acce5c..a9b8dd1 100644 --- a/sqlparse/sql.py +++ b/sqlparse/sql.py @@ -159,19 +159,23 @@ class TokenList(Token): def _get_repr_name(self): return type(self).__name__ - def _pprint_tree(self, max_depth=None, depth=0, f=None): + def _pprint_tree(self, max_depth=None, depth=0, f=None, _pre=''): """Pretty-print the object tree.""" - indent = u' | ' * depth + token_count = len(self.tokens) for idx, token in enumerate(self.tokens): cls = token._get_repr_name() value = token._get_repr_value() + last = idx == (token_count - 1) + pre = u'`- ' if last else u'|- ' + q = u'"' if value.startswith("'") and value.endswith("'") else u"'" - print(u"{indent}{idx:2d} {cls} {q}{value}{q}" + print(u"{_pre}{pre}{idx} {cls} {q}{value}{q}" .format(**locals()), file=f) if token.is_group and (max_depth is None or depth < max_depth): - token._pprint_tree(max_depth, depth + 1, f) + parent_pre = u' ' if last else u'| ' + token._pprint_tree(max_depth, depth + 1, f, _pre + parent_pre) def get_token_at_offset(self, offset): """Returns the token that is on position offset.""" |