Skip to content
This repository was archived by the owner on Mar 12, 2020. It is now read-only.

Commit af4cb39

Browse files
committed
Added opening saved queries support
1 parent ec0cfbc commit af4cb39

9 files changed

+65
-9
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
.DS_Store
22
*.pyc
3+
*.py~
34
*.sublime-workspace

Default (Linux).sublime-keymap

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,6 @@
77
{ "keys": ["ctrl+e", "ctrl+b"], "command": "st_format" },
88
{ "keys": ["ctrl+e", "ctrl+q"], "command": "st_save_query" },
99
{ "keys": ["ctrl+e", "ctrl+r"], "command": "st_remove_saved_query" },
10-
{ "keys": ["ctrl+e", "ctrl+a"], "command": "st_list_queries" }
10+
{ "keys": ["ctrl+e", "ctrl+a"], "command": "st_list_queries"},
11+
{ "keys": ["ctrl+e", "ctrl+o"], "command": "st_list_queries", "args": {"mode" : "open"}}
1112
]

Default (OSX).sublime-keymap

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,6 @@
77
{ "keys": ["ctrl+e", "ctrl+b"], "command": "st_format" },
88
{ "keys": ["ctrl+e", "ctrl+q"], "command": "st_save_query" },
99
{ "keys": ["ctrl+e", "ctrl+r"], "command": "st_remove_saved_query" },
10-
{ "keys": ["ctrl+e", "ctrl+a"], "command": "st_list_queries" }
10+
{ "keys": ["ctrl+e", "ctrl+a"], "command": "st_list_queries"},
11+
{ "keys": ["ctrl+e", "ctrl+o"], "command": "st_list_queries", "args": {"mode" : "open"}}
1112
]

Default (Windows).sublime-keymap

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,6 @@
77
{ "keys": ["ctrl+e", "ctrl+b"], "command": "st_format" },
88
{ "keys": ["ctrl+e", "ctrl+q"], "command": "st_save_query" },
99
{ "keys": ["ctrl+e", "ctrl+r"], "command": "st_remove_saved_query" },
10-
{ "keys": ["ctrl+e", "ctrl+a"], "command": "st_list_queries" }
10+
{ "keys": ["ctrl+e", "ctrl+a"], "command": "st_list_queries"},
11+
{ "keys": ["ctrl+e", "ctrl+o"], "command": "st_list_queries", "args": {"mode" : "open"}}
1112
]

Default.sublime-commands

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,12 +33,22 @@
3333
},
3434
{
3535
"caption": "ST: List and Run Saved Queries",
36-
"command": "st_list_queries"
36+
"command": "st_list_queries",
37+
"args" : {"mode": "run"}
38+
},
39+
{
40+
"caption": "ST: List and Open Saved Queries",
41+
"command": "st_list_queries",
42+
"args" : {"mode": "open"}
3743
},
3844
{
3945
"caption": "ST: Format Current SQL File",
4046
"command": "st_format"
4147
},
48+
{
49+
"caption": "ST: About",
50+
"command": "st_version"
51+
},
4252
{
4353
"caption": "ST: Setup Connections",
4454
"command": "open_file",

SQLTools.py

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,13 @@ def display(content, name="SQLTools Result"):
128128
resultContainer.run_command('append', {'characters': content})
129129
resultContainer.set_read_only(True)
130130

131+
@staticmethod
132+
def toBuffer(content, name="", suffix="SQLTools Saved Query"):
133+
resultContainer = STM.Window().new_file()
134+
resultContainer.set_name(((name + " - ") if name != "" else "") + suffix)
135+
resultContainer.set_syntax_file('Packages/SQL/SQL.tmLanguage')
136+
resultContainer.run_command('append', {'characters': content})
137+
131138
#
132139
# Commands
133140
#
@@ -180,7 +187,8 @@ def run(self):
180187
STM.Storage.promptQueryAlias()
181188

182189
class StListQueries(sublime_plugin.WindowCommand):
183-
def run(self):
190+
def run(self, mode="run"):
191+
print(mode)
184192
if not ST.conn:
185193
ST.showConnectionMenu()
186194
return
@@ -197,7 +205,10 @@ def run(self):
197205
queriesArray.append([alias, query])
198206
queriesArray.sort()
199207
try:
200-
STM.Window().show_quick_panel(queriesArray, lambda index: ST.conn.execute(queriesArray[index][1], ST.display) if index != -1 else None)
208+
if mode == "run":
209+
STM.Window().show_quick_panel(queriesArray, lambda index: ST.conn.execute(queriesArray[index][1], ST.display) if index != -1 else None)
210+
else:
211+
STM.Window().show_quick_panel(queriesArray, lambda index: ST.toBuffer(queriesArray[index][1], queriesArray[index][0]) if index != -1 else None)
201212
except Exception:
202213
pass
203214

@@ -223,8 +234,12 @@ class StFormat(sublime_plugin.TextCommand):
223234
def run(self, edit):
224235
STM.Selection.formatSql(edit)
225236

237+
class StVersion(sublime_plugin.WindowCommand):
238+
def run(self):
239+
sublime.message_dialog('Using SQLTools ' + STM.Const.VERSION)
240+
226241
def plugin_loaded():
227-
STM.Log.debug(__name__ + ' loaded successfully')
242+
STM.Log.debug('%s loaded successfully' % (__name__))
228243
try:
229244
ST.bootstrap()
230245
except Exception as e:

SQLTools.sublime-settings

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"debug" : false,
2+
"debug" : true,
33
"thread_timeout" : 5000,
44
"history_size" : 100,
55
"show_result_on_window" : false,

SQLToolsModels.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ class Const:
1212
SGDB_FILENAME = "SQLToolsSGBD.{0}".format(SETTINGS_EXTENSION)
1313
CONNECTIONS_FILENAME = "SQLToolsConnections.{0}".format(SETTINGS_EXTENSION)
1414
USER_QUERIES_FILENAME = "SQLToolsSavedQueries.{0}".format(SETTINGS_EXTENSION)
15+
VERSION = "v1.0.8"
1516
pass
1617

1718
class Log:
@@ -20,7 +21,7 @@ class Log:
2021
def debug(message):
2122
if not sublime.load_settings(Const.SETTINGS_FILENAME).get('debug', False):
2223
return
23-
print ("SQLTools: " + message)
24+
print ("SQLTools %s: %s" % (Const.VERSION, message))
2425

2526

2627
class Settings:
@@ -196,6 +197,12 @@ def builArgs(self, queryName=None):
196197
if queryName and len(cliOptions['queries'][queryName]['options']) > 0:
197198
args = args + cliOptions['queries'][queryName]['options']
198199

200+
argsType = 'string'
201+
if type(cliOptions['args']) is list:
202+
argsType = 'list'
203+
cliOptions['args'] = ' '.join(cliOptions['args'])
204+
205+
Log.debug('Usgin cli args (%s) "%s"' %(argsType, cliOptions['args']))
199206
return args + shlex.split(cliOptions['args'].format(**self.options))
200207

201208
def getOptionsForSgdbCli(self):

messages/v0.2.0.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
## v0.2.0 Changelog
2+
3+
Now you can open your saved queries using `CTRL+E CTRL+O`!
4+
5+
### Improvements
6+
* Added opening support for saved queries (Issue #12)
7+
```javascript
8+
// new hotkeys setting
9+
{
10+
"keys": ["ctrl+e", "ctrl+o"],
11+
"command": "st_list_queries",
12+
"args": {
13+
"mode" : "open"
14+
}
15+
}
16+
```
17+
18+
### Fixes
19+
20+
No fixes for this version

0 commit comments

Comments
 (0)