Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
ITKEY_
Vim Sql Workbench
提交
524d44f8
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 搜索 >>
提交
524d44f8
编写于
3月 04, 2016
作者:
C
Cosmin Popescu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
version 5.2.1
上级
a3642b8f
变更
3
展开全部
隐藏空白更改
内联
并排
Showing
3 changed file
with
198 addition
and
193 deletion
+198
-193
autoload/sw/sqlwindow.vim
autoload/sw/sqlwindow.vim
+37
-12
resources/py/lib/sqlwbserver.py
resources/py/lib/sqlwbserver.py
+160
-180
syntax/sw.vim
syntax/sw.vim
+1
-1
未找到文件。
autoload/sw/sqlwindow.vim
浏览文件 @
524d44f8
...
...
@@ -18,8 +18,8 @@
"============================================================================"
let
s:pattern_resultset_start
=
'\v^([\-]+\+?)+([\-]*)-$'
let
s:pattern_resultset_title
=
'\v^
RESULTSET ([0-9]+)( \()?.*$
'
let
s:pattern_no_results
=
'\v^Query returned
[0-9]+
rows?$'
let
s:pattern_resultset_title
=
'\v^
[\=]SQL ([0-9]+)
'
let
s:pattern_no_results
=
'\v^Query returned
([0-9]+)
rows?$'
let
s:pattern_empty_line
=
'\v^[\r \s\t]*$'
let
s:pattern_ignore_line
=
'\v\c^#IGNORE#$'
let
s:script_path
=
expand
(
'<sfile>:p:h'
)
.
'/../../'
...
...
@@ -668,16 +668,22 @@ endfunction
function
!
s:build_header
(
n
)
let
n
=
a:n
let
header
=
'RESULTSET '
.
string
(
n
)
let
title
=
b:resultsets
[
len
(
b:resultsets
)
-
n
].
title
let
header
=
'=SQL '
.
string
(
n
)
.
(
title
==
''
?
''
:
': '
)
.
title
let
rows
=
b:resultsets
[
len
(
b:resultsets
)
-
n
].
rows
if
rows
!=
0
let
header
.=
' ('
.
rows
.
' rows)'
endif
let
hidden_columns
=
s:add_hidden_columns
(
len
(
b:resultsets
)
-
n
)
if
hidden_columns
!=
''
let
header
.=
"
(Hidden columns: "
.
hidden_columns
.
")"
let
header
.=
"
\n
(Hidden columns: "
.
hidden_columns
.
")"
endif
let
filters
=
s:add_filters
(
len
(
b:resultsets
)
-
n
)
if
(
filters
!=
''
)
let
header
.=
"
(Filters: "
.
filters
.
")"
let
header
.=
"
\n
(Filters: "
.
filters
.
")"
endif
let
header
.=
"\n============\n"
let
header
.=
"\n"
return
header
endfunction
...
...
@@ -766,21 +772,35 @@ function! s:process_result(result)
let
i
=
0
let
mode
=
'message'
let
pattern
=
'\v\c^[\=]+$'
call
add
(
b:resultsets
,
{
'messages'
:
[],
'lines'
:
[],
'hidden_columns'
:
[],
'resultset_start'
:
0
,
'header'
:
[],
'filters'
:
{}})
call
add
(
b:resultsets
,
{
'messages'
:
[],
'lines'
:
[],
'hidden_columns'
:
[],
'resultset_start'
:
0
,
'header'
:
[],
'filters'
:
{}
,
'title'
:
''
,
'rows'
:
0
})
let
n
=
len
(
b:resultsets
)
-
1
while
i
<
len
(
result
)
if
result
[
i
]
=~
pattern
let
mode
=
'resultset'
endif
let
pattern_title
=
'\v^---- ?(.*)$'
if
result
[
i
]
=~
pattern_title
let
b:resultsets
[
n
].
title
=
substitute
(
result
[
i
],
pattern_title
,
'\1'
,
'g'
)
let
i
+=
1
continue
endif
if
(
mode
==
'resultset'
&&
(
result
[
i
]
=~
s:pattern_empty_line
||
result
[
i
]
==
''
))
let
mode
=
'message'
call
add
(
b:resultsets
[
n
].
lines
,
''
)
endif
if
(
mode
==
'resultset'
&&
!(
result
[
i
]
=~
pattern
))
call
add
(
b:resultsets
[
n
].
lines
,
result
[
i
])
elseif
mode
==
'message'
call
add
(
b:resultsets
[
n
].
messages
,
substitute
(
result
[
i
],
"\r"
,
''
,
'g'
))
if
result
[
i
]
=~
s:pattern_no_results
let
b:resultsets
[
n
].
rows
=
substitute
(
result
[
i
],
s:pattern_no_results
,
'\1'
,
'g'
)
else
call
add
(
b:resultsets
[
n
].
lines
,
result
[
i
])
endif
elseif
mode
==
'message'
&& result
[
i
]
!=
''
let
line
=
substitute
(
result
[
i
],
"\r"
,
''
,
'g'
)
call
add
(
b:resultsets
[
n
].
messages
,
line
)
if
line
=~
'\v^Execution time: .*$'
call
add
(
b:resultsets
[
n
].
messages
,
""
)
endif
endif
if
mode
==
'resultset'
&& result
[
i
]
=~
s:pattern_resultset_start
let
b:resultsets
[
n
].
resultset_start
=
len
(
b:resultsets
[
n
].
lines
)
-
1
...
...
@@ -807,6 +827,11 @@ function! sw#sqlwindow#execute_sql(wait_result, sql)
return
endif
let
_sql
=
a:sql
let
title
=
substitute
(
a:sql
,
'\v\n'
,
' '
,
'g'
)
if
strlen
(
title
)
>
255
let
title
=
title
[:
255
]
.
'...'
endif
let
_sql
=
'-- @wbresult '
.
title
.
"\n"
.
_sql
if
!
exists
(
'b:no_variables'
)
&&
g:sw_use_old_sw
let
vars
=
sw
#variables#extract
(
_sql
)
if
len
(
vars
)
>
0
...
...
@@ -904,7 +929,7 @@ function! sw#sqlwindow#folding(lnum)
if
(
a:lnum
==
1
)
let
b:fold_level
=
0
endif
if
getline
(
a:lnum
)
=~
'\v^[\=]+$'
if
getline
(
a:lnum
)
=~
s:pattern_resultset_title
let
b:fold_level
+=
1
return
'>'
.
b:fold_level
endif
...
...
resources/py/lib/sqlwbserver.py
浏览文件 @
524d44f8
此差异已折叠。
点击以展开。
syntax/sw.vim
浏览文件 @
524d44f8
syn
match
SWResultsetHeader
'\v^(
RESULTSET [0-9]+|[\=]+|Query returned [0-9]+ rows)
'
syn
match
SWResultsetHeader
'\v^(
[\=]SQL ([0-9]+).*|[\=]+|Query returned [0-9]+ rows)$
'
syn
match
SWResultsetHiddenColumns
'\v\(Hidden columns: ([^\)]+)\)'
syn
match
SWResultsetHiddenColumns
'\v\(Filters: ([^\)]+)\)'
syn
match
SWResultsetColumns
'\v^(.*)\n[\-+]+\n'
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录