From 378f7a4b1f0b7a63e19075b9007aae25f272f344 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jes=C3=BAs=20Legan=C3=A9s=20Combarro=20=22Piranna=22?= Date: Sun, 10 Jun 2012 14:04:58 +0200 Subject: Fixed issue #6 It needs a "hack" at first identifier since we can't be able to access to it's previous whitespace, and also we would need more work to get the offset taking in account the previous tokens, so by the moment we leave only normal whitespaces. --- sqlparse/filters.py | 31 +++++++++++++++++++------------ 1 file changed, 19 insertions(+), 12 deletions(-) (limited to 'sqlparse') diff --git a/sqlparse/filters.py b/sqlparse/filters.py index 401c436..762f6ef 100644 --- a/sqlparse/filters.py +++ b/sqlparse/filters.py @@ -476,20 +476,27 @@ class ReindentFilter: for token in identifiers: if not ignore and not token.ttype: prev = tlist.token_prev(token, False) - if prev and prev.ttype == T.Whitespace: - value = prev.value - - spaces = 0 - while value and value[-1] == ' ': - value = value[:-1] - spaces += 1 - - value += self._gentabs(spaces + offset) - prev.value = value + if prev: + if prev.ttype == T.Whitespace: + value = prev.value + + spaces = 0 + while value and value[-1] == ' ': + value = value[:-1] + spaces += 1 + + value += self._gentabs(spaces + offset) + prev.value = value + else: + ws = sql.Token(T.Whitespace, + self._gentabs(offset)) + tlist.insert_before(token, ws) + + # Just first identifier else: - ws = sql.Token(T.Whitespace, - self._gentabs(offset)) + ws = sql.Token(T.Whitespace, ' ' * offset) tlist.insert_before(token, ws) + ignore = token.ttype # Decrease offset the size of the first token -- cgit v1.2.1