From 7b9a569cd87bda58fd02df12178e380d67b2a513 Mon Sep 17 00:00:00 2001 From: Daniel Strackbein Date: Thu, 6 Jun 2013 14:59:39 +0200 Subject: [PATCH] Added support for lowering identifiers + cleanup --- FormatSQL.py | 46 +++++++++++++++++++++++----------------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/FormatSQL.py b/FormatSQL.py index 918f844..b857fe3 100644 --- a/FormatSQL.py +++ b/FormatSQL.py @@ -1,30 +1,30 @@ import sublime import sublime_plugin -import re -from os.path import basename import sqlparse + class FormatSqlCommand(sublime_plugin.TextCommand): + def run(self, edit): - view = self.view - regions = view.sel() - # if there are more than 1 region or region one and it's not empty - if len(regions) > 1 or not regions[0].empty(): - for region in view.sel(): - if not region.empty(): - s = view.substr(region) - s = self._run(s) - view.replace(edit, region, s) - else: #format all text - alltextreg = sublime.Region(0, view.size()) - s = view.substr(alltextreg) - s = self._run(s) - view.replace(edit, alltextreg, s) + view = self.view + regions = view.sel() + # if there are more than 1 region or region one and it's not empty + if len(regions) > 1 or not regions[0].empty(): + for region in view.sel(): + if not region.empty(): + s = view.substr(region) + s = self._run(s) + view.replace(edit, region, s) + else: # format all text + alltextreg = sublime.Region(0, view.size()) + s = view.substr(alltextreg) + s = self._run(s) + view.replace(edit, alltextreg, s) - def _run(self, s): - settings = self.view.settings() - #indent_char = " " if settings.get("translate_tabs_to_spaces") else "\t" - indent_char = " " #TODO indent by TAB (currently not supported in python-sqlparse) - indent_size = int(settings.get("tab_size")) if indent_char == " " else 1 - s = s.encode("utf-8") - return sqlparse.format(s, keyword_case="upper", reindent=True, indent_width=indent_size) + def _run(self, s): + settings = self.view.settings() + #indent_char = " " if settings.get("translate_tabs_to_spaces") else "\t" + indent_char = " " # TODO indent by TAB (currently not supported in python-sqlparse) + indent_size = int(settings.get("tab_size")) if indent_char == " " else 1 + s = s.encode("utf-8") + return sqlparse.format(s, keyword_case="upper", identifier_case="lower", reindent=True, indent_width=indent_size)