summaryrefslogtreecommitdiff
path: root/sqlparse
diff options
context:
space:
mode:
authorJesús Leganés Combarro "Piranna" <piranna@gmail.com>2012-06-10 14:04:58 +0200
committerJesús Leganés Combarro "Piranna" <piranna@gmail.com>2012-06-10 14:04:58 +0200
commit378f7a4b1f0b7a63e19075b9007aae25f272f344 (patch)
tree4ecb8158f880382874875b52640a54bf6df25900 /sqlparse
parent54cd5c95d9af7037e1b96a726506ceb5df4f43a5 (diff)
downloadsqlparse-378f7a4b1f0b7a63e19075b9007aae25f272f344.tar.gz
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.
Diffstat (limited to 'sqlparse')
-rw-r--r--sqlparse/filters.py31
1 files changed, 19 insertions, 12 deletions
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