summaryrefslogtreecommitdiff
path: root/sqlparse/formatter.py
diff options
context:
space:
mode:
authorAndi Albrecht <albrecht.andi@gmail.com>2016-06-03 19:13:02 +0200
committerAndi Albrecht <albrecht.andi@gmail.com>2016-06-03 19:13:02 +0200
commit12d9aee564f1091257749086fd8b49538f698be9 (patch)
treea1ab1aec76942ce0bc266583c6a8aff642889927 /sqlparse/formatter.py
parent88a9dafe00e996f0b832849414f483f5116b52d9 (diff)
parent9b84aac37a4099f4788508f98b7b1ed3010c424e (diff)
downloadsqlparse-12d9aee564f1091257749086fd8b49538f698be9.tar.gz
Merge pull request #248 from fimmtiu/add-wrap-after-option
Add --wrap_after option for wrapping identifier lists.
Diffstat (limited to 'sqlparse/formatter.py')
-rw-r--r--sqlparse/formatter.py16
1 files changed, 14 insertions, 2 deletions
diff --git a/sqlparse/formatter.py b/sqlparse/formatter.py
index ab5f370..05ea327 100644
--- a/sqlparse/formatter.py
+++ b/sqlparse/formatter.py
@@ -52,6 +52,7 @@ def validate_options(options):
% reindent)
elif reindent:
options['strip_whitespace'] = True
+
indent_tabs = options.get('indent_tabs', False)
if indent_tabs not in [True, False]:
raise SQLParseError('Invalid value for indent_tabs: %r' % indent_tabs)
@@ -59,15 +60,25 @@ def validate_options(options):
options['indent_char'] = '\t'
else:
options['indent_char'] = ' '
+
indent_width = options.get('indent_width', 2)
try:
indent_width = int(indent_width)
except (TypeError, ValueError):
raise SQLParseError('indent_width requires an integer')
if indent_width < 1:
- raise SQLParseError('indent_width requires an positive integer')
+ raise SQLParseError('indent_width requires a positive integer')
options['indent_width'] = indent_width
+ wrap_after = options.get('wrap_after', 0)
+ try:
+ wrap_after = int(wrap_after)
+ except (TypeError, ValueError):
+ raise SQLParseError('wrap_after requires an integer')
+ if wrap_after < 0:
+ raise SQLParseError('wrap_after requires a positive integer')
+ options['wrap_after'] = wrap_after
+
right_margin = options.get('right_margin', None)
if right_margin is not None:
try:
@@ -115,7 +126,8 @@ def build_filter_stack(stack, options):
stack.enable_grouping()
stack.stmtprocess.append(
filters.ReindentFilter(char=options['indent_char'],
- width=options['indent_width']))
+ width=options['indent_width'],
+ wrap_after=options['wrap_after']))
if options.get('right_margin', False):
stack.enable_grouping()