Mercurial > vim_plugins > dbtables
annotate autoload/dbtables.vim @ 2:c19add1b66a9 default tip
updated mappings
| author | Luka Sitas <lsitas@avatarasoftware.com> |
|---|---|
| date | Wed, 11 Mar 2026 12:03:31 -0400 |
| parents | 8530ebeda72c |
| children |
| rev | line source |
|---|---|
| 0 | 1 " autoload/dbtables.vim |
| 2 " Functions are loaded on demand | |
| 3 | |
|
1
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
4 if exists('*dbtables#*') |
| 0 | 5 finish |
| 6 endif | |
| 7 | |
|
1
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
8 |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
9 |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
10 "============================================= |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
11 " Utilities |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
12 "============================================= |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
13 |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
14 let s:query_history = [] |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
15 let s:snippets = [] |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
16 |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
17 |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
18 |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
19 " - - - - - - - - - - - - - - - - - - - - - - |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
20 " DB/shell interaction |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
21 " - - - - - - - - - - - - - - - - - - - - - - |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
22 |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
23 " Execute shell commands |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
24 function! s:ExecuteShellCommand(command) |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
25 let result = system(a:command . ' 2>&1') |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
26 return [v:shell_error == 0, result] |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
27 endfunction |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
28 |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
29 " Execute a SQL query, directly to the db |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
30 function! s:ExecuteDBQuery(query) |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
31 let command = printf('mariadb --user=%s --password=%s --database=%s --host=%s -e %s', |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
32 \ shellescape(g:db_user), shellescape(g:db_password), |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
33 \ shellescape(g:db_name), shellescape(g:db_host), |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
34 \ shellescape(a:query)) |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
35 |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
36 let [success, result] = s:ExecuteShellCommand(command) |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
37 if success |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
38 return split(result, "\n") |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
39 else |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
40 call s:HandleDBError(result, command) |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
41 return [] |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
42 endif |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
43 endfunction |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
44 |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
45 " Function to execute SQL from the current buffer with parameter prompt |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
46 function! dbtables#ExecuteSQLQuery() |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
47 let query = join(getline(1, '$'), "\n") |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
48 call s:PromptAndExecuteQuery(query) |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
49 endfunction |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
50 |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
51 " Function to execute SQL from a visual selection with parameter prompt |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
52 function! dbtables#ExecuteVisualSQLQuery() range |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
53 " Get the content of the selected lines as a single SQL query |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
54 let lines = getline(a:firstline, a:lastline) |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
55 let query = join(lines, "\n") |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
56 |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
57 " Execute query with prompt for parameters |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
58 call s:PromptAndExecuteQuery(query) |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
59 endfunction |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
60 |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
61 " Handle parameter prompts and execute query |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
62 function! s:PromptAndExecuteQuery(query) |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
63 " Identify parameters in the form of :parameter_name |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
64 let pattern = ':\(\k\+\)' |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
65 let params = [] |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
66 |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
67 " Find all matches in the query |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
68 let start = 0 |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
69 while match(a:query, pattern, start) != -1 |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
70 let match = matchstr(a:query, pattern, start) |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
71 if index(params, match) == -1 |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
72 call add(params, match) |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
73 endif |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
74 let start = matchend(a:query, pattern, start) |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
75 endwhile |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
76 |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
77 " Initialize a dictionary for parameters and their values |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
78 let param_values = {} |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
79 |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
80 " Prompt user for each parameter |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
81 for param in params |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
82 let value = input('Enter value for ' . param . ': ') |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
83 let param_values[param] = value |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
84 endfor |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
85 |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
86 " Replace parameters in the query with user-provided values |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
87 let updated_query = a:query |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
88 for [param, value] in items(param_values) |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
89 let updated_query = substitute(updated_query, param, value, 'g') |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
90 endfor |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
91 |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
92 call add(s:query_history, updated_query) |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
93 call s:OpenInNewTab('SQLQueryResult', s:ExecuteDBQuery(updated_query)) |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
94 endfunction |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
95 |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
96 " Handle database command errors |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
97 function! s:HandleDBError(result, command) |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
98 echoerr 'Shell command failed: ' . a:command |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
99 if a:result =~# 'Access denied' |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
100 echoerr 'Authentication error: Check your username and password.' |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
101 elseif a:result =~# 'Unknown database' |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
102 echoerr 'Database error: The specified database does not exist.' |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
103 elseif a:result =~# 'Could not connect' |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
104 echoerr 'Connection error: Verify host and network connectivity.' |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
105 elseif a:result =~# 'You have an error in your SQL syntax' |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
106 echoerr 'Syntax error in SQL query.' |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
107 else |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
108 echoerr 'Unexpected error: ' . a:result |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
109 endif |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
110 endfunction |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
111 |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
112 |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
113 |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
114 " - - - - - - - - - - - - - - - - - - - - - - |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
115 " Visuals |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
116 " - - - - - - - - - - - - - - - - - - - - - - |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
117 |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
118 " Display data in a new read only buffer |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
119 function! s:OpenInNewTab(title, data) |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
120 tabnew |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
121 enew |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
122 execute 'file ' . a:title |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
123 if !empty(a:data) |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
124 call append(0, a:data) |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
125 else |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
126 call append(0, 'No data found or an error occurred.') |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
127 endif |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
128 setlocal filetype=sql buftype=nofile bufhidden=wipe nobuflisted noswapfile nomodifiable |
| 0 | 129 endfunction |
|
1
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
130 |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
131 |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
132 |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
133 "============================================= |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
134 " DBTables |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
135 "============================================= |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
136 " Open the list of tables in the database as a |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
137 " buffer on the right side. Selecting a table |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
138 " shows either the tables schema or the data |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
139 " in the table. |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
140 |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
141 function! dbtables#OpenDBTablesWindow() |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
142 execute '34 vsplit' |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
143 enew |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
144 file DBTables |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
145 let tables = s:ExecuteDBQuery("SHOW TABLES;") |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
146 if empty(tables) |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
147 echo "No tables found or an error occurred." |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
148 else |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
149 call append(0, ['Available Tables:'] + tables[1:]) |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
150 setlocal buftype=nofile bufhidden=wipe nobuflisted noswapfile |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
151 \ nomodifiable nonumber norelativenumber winfixwidth |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
152 nnoremap <buffer> <CR> :call <SID>ShowTablePopup()<CR> |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
153 endif |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
154 endfunction |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
155 |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
156 " Open the database schema |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
157 function! s:OpenTableSchema(table) |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
158 call s:OpenInNewTab(a:table . '_schema', s:ExecuteDBQuery('DESCRIBE ' . a:table . ';')) |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
159 endfunction |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
160 |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
161 " Open the table data |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
162 function! s:OpenTableData(table) |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
163 call s:OpenInNewTab(a:table, s:ExecuteDBQuery('SELECT * FROM ' . a:table . ';')) |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
164 endfunction |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
165 |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
166 let s:popup_table = "" |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
167 |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
168 " Popup selection for table actions |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
169 function! s:ShowTablePopup() |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
170 " Use Vim popup_menu if available |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
171 if exists('*popup_menu') |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
172 let s:popup_table = getline(line('.')) |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
173 let items = ['View Data', 'View Schema', 'Cancel'] |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
174 call popup_menu(items, #{ |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
175 \ callback: '<SID>HandlePopupSelection', |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
176 \ }) |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
177 return |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
178 endif |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
179 " Popup_menu not available |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
180 echoerr 'Floating popup requires Vim8.2+.' |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
181 call s:ShowTableMenuModal() |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
182 endfunction |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
183 |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
184 function! s:HandlePopupSelection(id, result) |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
185 let table = s:popup_table |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
186 call s:ClosePopup() |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
187 if a:result == 1 |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
188 call s:OpenTableData(table) |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
189 elseif a:result == 2 |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
190 call s:OpenTableSchema(table) |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
191 endif |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
192 endfunction |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
193 |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
194 function! s:ClosePopup() |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
195 unlet! s:popup_table |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
196 endfunction |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
197 |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
198 |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
199 |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
200 "============================================= |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
201 " Query History |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
202 "============================================= |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
203 " Shows the list of recently ran queries. |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
204 " Selecting a query will re-run it. |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
205 |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
206 " View query history |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
207 function! dbtables#OpenQueryHistory() |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
208 " Open the query history in a new split window |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
209 execute 'vsplit' |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
210 enew |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
211 call setline(1, s:query_history) |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
212 nnoremap <buffer> <CR> :call s:OpenInNewTab('SQLQueryResult', |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
213 \ s:ExecuteDBQuery(getline(line('.'))))<CR> |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
214 setlocal buftype=nofile bufhidden=wipe nobuflisted noswapfile wrap |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
215 endfunction |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
216 |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
217 |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
218 |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
219 "============================================= |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
220 " Query Snippets |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
221 "============================================= |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
222 " Shows the list of pre-set query snippets. |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
223 " Selecting a snippet will open it in a new |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
224 " tab to be executed or modified. |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
225 |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
226 " View query snippets |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
227 function! dbtables#OpenQuerySnippets() |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
228 " Open the query snippets in a new split window |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
229 execute '34 vsplit' |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
230 enew |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
231 |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
232 " Populate the buffer with the list of snippet files |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
233 let s:snippets = globpath(g:snippets_directory, '*', 0, 1) |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
234 let l:display = mapnew(s:snippets, 'fnamemodify(v:val, ":t:r")') |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
235 call setline(1, l:display) |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
236 |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
237 nnoremap <buffer> <CR> :call s:OpenInNewTab(line('.'), |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
238 \ fnameescape(s:snippets[a:lnum-1]))<CR> |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
239 |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
240 setlocal buftype=nofile bufhidden=wipe nobuflisted noswapfile wrap |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
241 endfunction |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
242 |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
243 |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
244 |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
245 "============================================= |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
246 " DB Console |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
247 "============================================= |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
248 " Opens a console to interact with the DB. |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
249 |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
250 " Open MariaDB console |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
251 function! dbtables#DBConsole() |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
252 " Save the current cursor position |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
253 let save_cursor = getpos(".") |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
254 let command = printf('mariadb --user=%s --password=%s --database=%s --host=%s', |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
255 \ g:db_user, g:db_password, |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
256 \ g:db_name, g:db_host) |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
257 |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
258 let command = substitute(command, '\n', '', 'g') |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
259 execute ':term ' . command |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
260 call setpos(".", save_cursor) |
|
8530ebeda72c
Adding actual db tables implementation from original script.
Luka Sitas <lsitas@avatarasoftware.com>
parents:
0
diff
changeset
|
261 endfunction |
