Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
ITKEY_
Vim Sql Workbench
提交
a3642b8f
V
Vim Sql Workbench
项目概览
ITKEY_
/
Vim Sql Workbench
通知
3
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
V
Vim Sql Workbench
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
a3642b8f
编写于
3月 03, 2016
作者:
C
Cosmin Popescu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
version 5.2
上级
93da57e0
变更
8
展开全部
隐藏空白更改
内联
并排
Showing
8 changed file
with
287 addition
and
185 deletion
+287
-185
README.md
README.md
+7
-0
autoload/sw.vim
autoload/sw.vim
+13
-0
autoload/sw/dbexplorer.vim
autoload/sw/dbexplorer.vim
+27
-25
autoload/sw/sqlwindow.vim
autoload/sw/sqlwindow.vim
+130
-72
doc/vim-sql-workbench.txt
doc/vim-sql-workbench.txt
+94
-86
plugin/sw.vim
plugin/sw.vim
+5
-0
resources/dbexplorer.vim
resources/dbexplorer.vim
+2
-2
syntax/sw.vim
syntax/sw.vim
+9
-0
未找到文件。
README.md
浏览文件 @
a3642b8f
...
...
@@ -977,6 +977,12 @@ Reconnects the database explorer. This is useful if a timeout has occured
while having a database connection opened. Then you call the
`SWDbExplorerReconnect`
in order to be able to execute commands again.
## SWDbExplorerToggleFormDisplay
If on a line in the results panel which contains a row in a resultset, then
this row will be displayed as a form. If already displaying a form, then the
resultset will be displayed.
## SWSqlShowAllColumns
This will unhide all hidden columns from the current result set
...
...
@@ -1102,6 +1108,7 @@ and
information is saved. You'll need to set it on Windows to work.
*
`g:sw_switch_to_results_tab`
: If true, then switch to the results buffer
after executting a query
*
`g:sw_highlight_resultsets`
: If true, highlight the resultsets headers
## Database explorer settings
...
...
autoload/sw.vim
浏览文件 @
a3642b8f
...
...
@@ -515,3 +515,16 @@ function! sw#get_sw_setting(setting)
return
''
endfunction
function
!
sw
#put_text_in_buffer
(
text
)
call
sw
#put_lines_in_buffer
(
split
(
a:text
,
"\n"
))
endfunction
function
!
sw
#put_lines_in_buffer
(
lines
)
setlocal
modifiable
normal ggdG
call
writefile
(
a:lines
,
g:sw_tmp
.
"/row-"
.
v
:
servername
)
execute
"read "
.
g:sw_tmp
.
"/row-"
.
v
:
servername
normal ggdd
setlocal
nomodifiable
endfunction
autoload/sw/dbexplorer.vim
浏览文件 @
a3642b8f
...
...
@@ -153,10 +153,10 @@ function! s:process_result_1(result, shortcut, title)
call
sw
#goto_window
(
'__Info__-'
.
b:profile
)
call
sw
#session#set_buffer_variable
(
'current_tab'
,
a:shortcut
)
call
sw
#goto_window
(
'__SQL__-'
.
b:profile
)
call
sw
#session#set_buffer_variable
(
'current_tab'
,
a:shortcut
)
setlocal
modifiable
normal
!
ggdG
setlocal
nomodifiable
call
sw
#session#set_buffer_variable
(
'current_tab'
,
a:shortcut
)
call
sw
#goto_window
(
'__DBExplorer__-'
.
b:profile
)
if
(
exists
(
'b:mappings'
))
for
m
in
b:mappings
...
...
@@ -164,13 +164,7 @@ function! s:process_result_1(result, shortcut, title)
endfor
endif
call
sw
#session#set_buffer_variable
(
'current_tab'
,
a:shortcut
)
setlocal
modifiable
normal
!
ggdG
for
line
in
result
put
=
line
endfor
normal
!
ggdd
setlocal
nomodifiable
call
sw
#put_lines_in_buffer
(
result
)
call
s:set_info_buffer
()
call
sw
#goto_window
(
'__DBExplorer__-'
.
b:profile
)
call
sw
#session#set_buffer_variable
(
'mappings'
,
[])
...
...
@@ -195,6 +189,21 @@ function! sw#dbexplorer#change_tab(command, shortcut, title)
call
s:process_result_1
(
result
,
a:shortcut
,
a:title
)
endfunction
function
!
sw
#dbexplorer#toggle_form_display
()
if
(!
exists
(
'b:state'
))
call
sw
#display_error
(
"Not in a results panel"
)
return
endif
if
b:state
==
'form'
call
sw
#session#set_buffer_variable
(
'state'
,
'resultsets'
)
call
sw
#put_text_in_buffer
(
b:sw_content
)
else
call
sw
#session#set_buffer_variable
(
'state'
,
'form'
)
call
sw
#session#set_buffer_variable
(
'sw_content'
,
join
(
getline
(
1
,
'$'
),
"\n"
))
call
sw
#sqlwindow#display_as_form
()
endif
endfunction
function
!
s:process_result_2
(
result
,
tab_shortcut
,
shortcut
,
cmd
)
let
result
=
a:result
call
sw
#session#set_buffer_variable
(
'shortcut'
,
a:tab_shortcut
)
...
...
@@ -222,13 +231,8 @@ function! s:process_result_2(result, tab_shortcut, shortcut, cmd)
endif
call
sw
#goto_window
(
'__SQL__-'
.
b:profile
)
call
sw
#session#set_buffer_variable
(
'last_cmd'
,
a:cmd
)
setlocal
modifiable
normal
!
ggdG
for
line
in
result
put
=
line
endfor
normal
!
ggdd
setlocal
nomodifiable
call
sw
#session#set_buffer_variable
(
'state'
,
'resultsets'
)
call
sw
#put_lines_in_buffer
(
result
)
let
pattern
=
'\v^.*-- AFTER(.*)$'
if
a:cmd
=~
pattern
let
after
=
substitute
(
a:cmd
,
pattern
,
'\1'
,
'g'
)
...
...
@@ -296,19 +300,18 @@ endfunction
" Set the help buffer{{{2
function
!
s:set_info_buffer
()
call
sw
#goto_window
(
'__Info__-'
.
b:profile
)
setlocal
modifiable
normal
!
ggdG
put
=
'The current profile is '
.
b:profile
let
lines
=
[]
call
add
(
lines
,
'The current profile is '
.
substitute
(
b:profile
,
'___'
,
"\\"
,
'g'
))
call
sw
#session#set_buffer_variable
(
'txt'
,
''
)
call
s:iterate
(
's:display_tabs'
)
put
=
b:t1_shortcuts
put
=
b:txt
call
add
(
lines
,
b:t1_shortcuts
)
call
add
(
lines
,
b:txt
)
if
b:current_tab
!=
''
call
sw
#session#set_buffer_variable
(
'shortcut'
,
b:current_tab
)
call
s:iterate
(
's:find_tab_by_shortcut'
)
if
(
exists
(
'b:tab'
))
put
=
b:t2_shortcuts
call
add
(
lines
,
b:t2_shortcuts
)
let
txt
=
''
for
panel
in
b:tab
[
'panels'
]
if
txt
!=
''
...
...
@@ -316,12 +319,11 @@ function! s:set_info_buffer()
endif
let
txt
=
txt
.
panel
[
'title'
]
.
' ('
.
panel
[
'shortcut'
]
.
')'
endfor
put
=
txt
call
add
(
lines
,
txt
)
endif
endif
put
=
b:t3_shortcuts
.
': Export (E) \| Open in new buffer (B)'
normal
!
ggdd
setlocal
nomodifiable
call
add
(
lines
,
b:t3_shortcuts
.
': Export (E) \| Open in new buffer (B)'
)
call
sw
#put_lines_in_buffer
(
lines
)
endfunction
" Sets the objects initial state{{{2
...
...
autoload/sw/sqlwindow.vim
浏览文件 @
a3642b8f
...
...
@@ -283,7 +283,7 @@ function! sw#sqlwindow#hide_column(idx, show_results)
endif
call
add
(
b:resultsets
[
n
].
hidden_columns
,
idx
)
call
uniq
(
sort
(
b:resultsets
[
n
].
hidden_columns
)
)
call
sort
(
b:resultsets
[
n
].
hidden_columns
)
if
a:show_results
call
s:display_resultsets
(
''
,
1
)
...
...
@@ -341,6 +341,10 @@ function! sw#sqlwindow#show_only_column(column)
if
(
n
==
-1
)
return
endif
if
index
(
b:resultsets
[
n
].
header
,
a:column
)
==
-1
call
sw
#display_error
(
"The column does not exists"
)
return
endif
for
column
in
b:resultsets
[
n
].
header
if
column
!=
a:column
call
sw
#sqlwindow#hide_column
(
column
,
0
)
...
...
@@ -382,7 +386,7 @@ function! sw#sqlwindow#show_only_columns(columns)
call
s:display_resultsets
(
''
,
1
)
endfunction
function
!
s
:
display_as_form
()
function
!
s
w
#sqlwindow#
display_as_form
()
let
row_limits
=
s:get_row_limits
()
if
len
(
row_limits
)
==
0
call
sw
#session#set_buffer_variable
(
'state'
,
'resultsets'
)
...
...
@@ -450,12 +454,7 @@ function! s:display_as_form()
let
line
=
substitute
(
line
,
'\v^([^:]+):[ ]*([0-9]+)[ ]*$'
,
'\1: \2'
,
'g'
)
call
add
(
lines
,
line
)
endfor
setlocal
modifiable
normal ggdG
call
writefile
(
lines
,
g:sw_tmp
.
"/row-"
.
v
:
servername
)
execute
"read "
.
g:sw_tmp
.
"/row-"
.
v
:
servername
normal ggdd
setlocal
modifiable
call
sw
#put_lines_in_buffer
(
lines
)
endfunction
function
!
s:get_resultset_start
(...)
...
...
@@ -560,45 +559,78 @@ function! s:open_resultset_window()
return
bufname
(
'%'
)
==
name
endfunction
function
!
s:print_line
(
line
,
n_resultset
,
do_filter
)
let
delimiter
=
a:line
=~
s:pattern_resultset_start
?
'+'
:
'|'
let
result
=
''
let
columns_length
=
split
(
b:resultsets
[
a:n_resultset
].
lines
[
b:resultsets
[
a:n_resultset
].
resultset_start
],
'+'
)
function
!
s:split_into_columns
(
resultset
)
let
columns_length
=
split
(
a:resultset
.
lines
[
a:resultset
.
resultset_start
],
'+'
)
if
len
(
columns_length
)
<=
0
return
a:
line
return
a:
resultset
.
lines
endif
let
pattern
=
'\v^'
for
c
in
columns_length
let
pattern
.=
'(.{'
.
len
(
c
)
.
'}).?'
let
result
=
[]
let
i
=
0
for
line
in
a:resultset
.
lines
let
matches
=
[]
call
add
(
matches
,
line
)
if
i
>
a:resultset
.
resultset_start
-
2
&&
line
!=
''
for
c
in
columns_length
let
pattern
=
'\v^(.{'
.
len
(
c
)
.
'}).?(.*)$'
let
match
=
substitute
(
line
,
pattern
,
'\1'
,
'g'
)
call
add
(
matches
,
match
)
let
line
=
substitute
(
line
,
pattern
,
'\2'
,
'g'
)
endfor
endif
call
add
(
result
,
matches
)
let
i
+=
1
endfor
let
pattern
.=
'$'
let
matches
=
matchlist
(
a:line
,
pattern
)
if
(
len
(
matches
)
==
0
)
return
a:line
return
result
endfunction
function
!
s:print_line
(
line_idx
,
n_resultset
,
do_filter
)
let
resultset
=
b:resultsets
[
a:n_resultset
]
let
line
=
resultset
.
lines
[
a:line_idx
]
if
a:line_idx
<=
resultset
.
resultset_start
-
2
return
line
endif
let
delimiter
=
line
=~
s:pattern_resultset_start
?
'+'
:
'|'
let
result
=
''
if
(
len
(
resultset
.
hidden_columns
)
>
0
||
len
(
resultset
.
filters
)
>
0
)
if
!
exists
(
'resultset.columns'
)
let
resultset
.
columns
=
s:split_into_columns
(
resultset
)
endif
else
return
line
endif
if
len
(
resultset
.
columns
[
a:line_idx
])
<=
1
return
line
endif
let
i
=
1
while
i
<
len
(
matches
)
if
i
-
1
<
len
(
columns_length
)
&&
a:do_filter
while
i
<
len
(
resultset
.
columns
[
a:line_idx
]
)
if
a:do_filter
let
column
=
s:get_column
(
i
-
1
,
a:n_resultset
)
if
has_key
(
b:resultsets
[
a:n_resultset
]
.
filters
,
column
)
let
filter
=
b:resultsets
[
a:n_resultset
]
.
filters
[
column
]
if
has_key
(
resultset
.
filters
,
column
)
let
filter
=
resultset
.
filters
[
column
]
let
filter_in
=
1
if
filter
=~
'\v^[\>\<\=]{1,2}'
let
filter_in
=
eval
(
matches
[
i
]
.
filter
)
let
filter_in
=
eval
(
resultset
.
columns
[
a:line_idx
]
[
i
]
.
filter
)
else
let
filter_in
=
matches
[
i
]
=~
filter
let
filter_in
=
resultset
.
columns
[
a:line_idx
]
[
i
]
=~
filter
endif
if
!
filter_in
return
'#IGNORE#'
endif
endif
endif
if
index
(
b:resultsets
[
a:n_resultset
].
hidden_columns
,
i
-
1
)
==
-
1
let
result
.=
matches
[
i
]
if
i
-
1
<
len
(
columns_length
)
-
1
if
index
(
resultset
.
hidden_columns
,
i
-
1
)
==
-1
&&
a:line_idx
>=
resultset
.
resultset_start
-
1
let
result
.=
resultset
.
columns
[
a:line_idx
]
[
i
]
if
i
-
1
<
len
(
resultset
.
columns
[
a:line_idx
]
)
-
1
let
result
.=
delimiter
endif
endif
...
...
@@ -609,7 +641,7 @@ function! s:print_line(line, n_resultset, do_filter)
if
result
==
''
let
result
=
'#IGNORE#'
endif
return
result
return
substitute
(
result
,
'\v^(.*)[+|]$'
,
'\1'
,
'g'
)
endfunction
function
!
s:add_hidden_columns
(
n
)
...
...
@@ -630,34 +662,52 @@ function! s:add_filters(n)
return
result
endfunction
function
!
s:display_resultsets_continous
()
setlocal
modifiable
normal ggdG
let
lines
=
''
function
!
s:output_content
(
content
)
call
sw
#put_text_in_buffer
(
a:content
)
endfunction
function
!
s:build_header
(
n
)
let
n
=
a:n
let
header
=
'RESULTSET '
.
string
(
n
)
let
hidden_columns
=
s:add_hidden_columns
(
len
(
b:resultsets
)
-
n
)
if
hidden_columns
!=
''
let
header
.=
" (Hidden columns: "
.
hidden_columns
.
")"
endif
let
filters
=
s:add_filters
(
len
(
b:resultsets
)
-
n
)
if
(
filters
!=
''
)
let
header
.=
" (Filters: "
.
filters
.
")"
endif
let
header
.=
"\n============\n"
return
header
endfunction
function
!
s:display_messages
()
let
messages
=
''
let
n
=
len
(
b:resultsets
)
call
reverse
(
b:resultsets
)
for
resultset
in
b:resultsets
let
header
=
'RESULTSET '
.
string
(
n
)
let
hidden_columns
=
s:add_hidden_columns
(
len
(
b:resultsets
)
-
n
)
if
hidden_columns
!=
''
let
header
.=
" (Hidden columns: "
.
hidden_columns
.
")"
endif
let
filters
=
s:add_filters
(
len
(
b:resultsets
)
-
n
)
if
(
filters
!=
''
)
let
header
.=
" (Filters: "
.
filters
.
")"
endif
let
header
.=
"\n============\n"
let
messages
.=
header
let
messages
.=
s:build_header
(
n
)
for
line
in
resultset
.
messages
let
messages
.=
line
.
"\n"
endfor
let
n
=
n
-
1
endfor
call
reverse
(
b:resultsets
)
call
s:output_content
(
messages
)
endfunction
function
!
s:display_resultsets_continous
()
let
lines
=
''
let
n
=
len
(
b:resultsets
)
call
reverse
(
b:resultsets
)
for
resultset
in
b:resultsets
if
len
(
resultset
.
lines
)
>
0
let
lines
.=
header
let
lines
.=
s:build_header
(
n
)
endif
let
i
=
0
for
line
in
resultset
.
lines
let
row
=
s:print_line
(
line
,
len
(
b:resultsets
)
-
n
,
i
>
resultset
.
resultset_start
)
let
row
=
s:print_line
(
i
,
len
(
b:resultsets
)
-
n
,
i
>
resultset
.
resultset_start
)
if
!(
row
=~
s:pattern_ignore_line
)
let
lines
.=
row
.
"\n"
endif
...
...
@@ -666,18 +716,7 @@ function! s:display_resultsets_continous()
let
n
=
n
-
1
endfor
call
reverse
(
b:resultsets
)
let
a_lines
=
[]
if
(
b:state
==
'messages'
)
let
a_lines
=
split
(
messages
,
"\n"
)
elseif
b:state
==
'resultsets'
&&
lines
!=
''
let
a_lines
=
split
(
lines
,
"\n"
)
endif
if
len
(
a_lines
)
>
0
call
writefile
(
a_lines
,
g:sw_tmp
.
"/results-"
.
v
:
servername
)
execute
"read "
.
g:sw_tmp
.
"/results-"
.
v
:
servername
endif
normal ggdd
setlocal
nomodifiable
call
s:output_content
(
lines
)
endfunction
function
!
s:display_resultsets
(
result
,
...)
...
...
@@ -691,9 +730,20 @@ function! s:display_resultsets(result, ...)
let
continous
=
a:1
endif
if
b:state
==
'form'
call
s
:
display_as_form
()
call
s
w
#sqlwindow#
display_as_form
()
elseif
continous
call
s:display_resultsets_continous
()
if
b:state
==
'messages'
call
s:display_messages
()
elseif
b:state
==
'resultsets'
call
s:display_resultsets_continous
()
endif
if
g:sw_highlight_resultsets
set
filetype
=
sw
endif
setlocal
foldmethod
=
expr
setlocal
foldexpr
=
sw
#sqlwindow#folding
(
v
:
lnum
)
""normal zMggjza
normal zR
else
call
s:display_resultsets_separate
()
endif
...
...
@@ -830,19 +880,10 @@ function! sw#sqlwindow#check_hidden_results()
call
sw
#set_special_buffer
()
call
sw
#sqlwindow#set_results_shortcuts
()
""call sw#session#autocommand('BufEnter', 'sw#sqlwindow#set_results_shortcuts()')
setlocal
modifiable
if
!
s_below
set
nosplitbelow
endif
if
b:state
==
'messages'
for
line
in
b:messages
put
=
line
endfor
else
call
s:display_resultsets
(
''
,
1
)
endif
normal ggdd
setlocal
nomodifiable
call
s:display_resultsets
(
''
,
1
)
endif
endif
endif
...
...
@@ -858,3 +899,20 @@ function! sw#sqlwindow#get_object_source()
let
sql
=
'WbGrepSource -searchValues="'
.
obj
.
'" -objects='
.
obj
.
' -types=* -useRegex=true;'
call
sw
#sqlwindow#execute_sql
(
0
,
sql
)
endfunction
function
!
sw
#sqlwindow#folding
(
lnum
)
if
(
a:lnum
==
1
)
let
b:fold_level
=
0
endif
if
getline
(
a:lnum
)
=~
'\v^[\=]+$'
let
b:fold_level
+=
1
return
'>'
.
b:fold_level
endif
if
getline
(
a:lnum
)
=~
'\v^$'
let
result
=
'<'
.
b:fold_level
let
b:fold_level
-=
1
return
result
endif
return
-1
endfunction
doc/vim-sql-workbench.txt
浏览文件 @
a3642b8f
此差异已折叠。
点击以展开。
plugin/sw.vim
浏览文件 @
a3642b8f
...
...
@@ -137,6 +137,10 @@ if !exists('g:sw_use_old_sw')
let
g:sw_use_old_sw
=
0
endif
if
!
exists
(
'g:sw_highlight_resultsets'
)
let
g:sw_highlight_resultsets
=
1
endif
"if !exists('g:sw_overwrite_current_command')
" let g:sw_overwrite_current_command = 0
"endif
...
...
@@ -170,6 +174,7 @@ command! -bang SWSqlExecuteCurrent call sw#sqlwindow#execute_sql(<bang>1, sw#sql
command
!
-
bang SWSqlExecuteSelected
call
sw
#sqlwindow#execute_sql
(<
bang
>
1
,
sw
#sqlwindow#extract_selected_sql
())
command
!
-
bang SWSqlExecuteAll
call
sw
#sqlwindow#execute_sql
(<
bang
>
1
,
sw
#sqlwindow#extract_all_sql
())
command
!
SWSqlToggleMessages
call
sw
#sqlwindow#toggle_messages
()
command
!
SWDbExplorerToggleFormDisplay
call
sw
#dbexplorer#toggle_form_display
()
command
!
SWSqlToggleFormDisplay
call
sw
#sqlwindow#toggle_display
()
command
!
SWSqlObjectInfo
call
sw
#sqlwindow#get_object_info
()
command
!
SWSqlObjectSource
call
sw
#sqlwindow#get_object_source
()
...
...
resources/dbexplorer.vim
浏览文件 @
a3642b8f
...
...
@@ -5,7 +5,7 @@ let row_counts = {'title': 'Row Counts', 'shortcut': 'W', 'command': 'WbRowCount
let
sw_columns
=
{
'title'
:
'Columns'
,
'shortcut'
:
'C'
,
'command'
:
'desc %object%;'
}
let
sw_sql_source
=
{
'title'
:
'SQL Source'
,
'shortcut'
:
'S'
,
'command'
:
'WbGenerateScript -objects="%object%"'
,
'filetype'
:
'sql'
}
let
sw_sql_source_triggers
=
{
'title'
:
'SQL Source'
,
'shortcut'
:
'S'
,
'command'
:
'WbGrepSource -searchValues="%object%" -objects=%object% -types=* -useRegex=true; -- AFTERcall sw#dbexplorer#fix_source_code()'
,
'filetype'
:
'sql'
,
'skip_columns'
:
[
0
,
1
],
'hide_header'
:
1
}
let
sw_data
=
{
'title'
:
'Data'
,
'shortcut'
:
'D'
,
'command'
:
'select * from %object%;'
}
let
sw_data
=
{
'title'
:
'Data'
,
'shortcut'
:
'D'
,
'command'
:
'select * from %object%;'
,
'filetype'
:
'sw'
}
let
sw_indexes
=
{
'title'
:
'Indexes'
,
'shortcut'
:
'I'
,
'command'
:
'WbListIndexes -tableName=%object%;'
}
let
sw_referenced_by
=
{
'title'
:
'Referenced by'
,
'shortcut'
:
'R'
,
'command'
:
'WbGrepSource -searchValues="references %object%" -types=TABLE -useRegex=false;'
,
'skip_columns'
:
[
2
]}
let
objects
=
{
'title'
:
'Objects'
,
'shortcut'
:
'O'
,
'command'
:
'WbList -objects=% -types=SYNONYM,SEQUENCE,TABLE,TYPE,VIEW'
,
'panels'
:
[
sw_columns
,
sw_sql_source
,
sw_data
,
sw_indexes
,
sw_referenced_by
]}
...
...
@@ -17,7 +17,7 @@ let g:SW_Tabs = {'^postgresql': [objects, procedures, triggers, row_counts]}
" PostgreSQL panel
let
sw_sql_source
=
{
'title'
:
'SQL Source'
,
'shortcut'
:
'S'
,
'command'
:
'WbGenerateScript -objects="%object%"'
,
'filetype'
:
'sql'
}
let
sw_columns
=
{
'title'
:
'Columns'
,
'shortcut'
:
'C'
,
'command'
:
'desc %3%.%0%'
}
let
sw_data
=
{
'title'
:
'Data'
,
'shortcut'
:
'D'
,
'command'
:
'select * from %3%.%0%'
}
let
sw_data
=
{
'title'
:
'Data'
,
'shortcut'
:
'D'
,
'command'
:
'select * from %3%.%0%'
,
'filetype'
:
'sw'
}
let
sw_indexes
=
{
'title'
:
'Indexes'
,
'shortcut'
:
'I'
,
'command'
:
'WbListIndexes -tableName=%object% -schema=%3%'
}
let
sw_referenced_by
=
{
'title'
:
'Referenced by'
,
'shortcut'
:
'R'
,
'command'
:
'WbGrepSource -searchValues="references %object%" -types=TABLE -useRegex=false -schemas=*;'
,
'skip_columns'
:
[
2
]}
let
objects
=
{
'title'
:
'Objects'
,
'shortcut'
:
'O'
,
'command'
:
'WbList'
,
'panels'
:
[
sw_columns
,
sw_sql_source
,
sw_data
,
sw_indexes
,
sw_referenced_by
]}
...
...
syntax/sw.vim
0 → 100644
浏览文件 @
a3642b8f
syn
match
SWResultsetHeader
'\v^(RESULTSET [0-9]+|[\=]+|Query returned [0-9]+ rows)'
syn
match
SWResultsetHiddenColumns
'\v\(Hidden columns: ([^\)]+)\)'
syn
match
SWResultsetHiddenColumns
'\v\(Filters: ([^\)]+)\)'
syn
match
SWResultsetColumns
'\v^(.*)\n[\-+]+\n'
hi
link SWResultsetHeader Comment
hi
link SWResultsetHiddenColumns Label
hi
link SWResultsetHiddenFilters Label
hi
SWResultsetColumns
term
=
underline
cterm
=
NONE
ctermbg
=
160
ctermfg
=
154
gui
=
NONE
guibg
=
#ff0000
guifg
=
#808080
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录