Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
H
home
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Murukesh Mohanan
home
Commits
ab4d8cf2
Commit
ab4d8cf2
authored
Nov 26, 2017
by
Murukesh Mohanan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
vim-plug update
parent
381c0f29
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
66 additions
and
20 deletions
+66
-20
.vim/autoload/plug.vim
.vim/autoload/plug.vim
+66
-20
No files found.
.vim/autoload/plug.vim
View file @
ab4d8cf2
...
@@ -605,7 +605,7 @@ function! plug#helptags()
...
@@ -605,7 +605,7 @@ function! plug#helptags()
return
s:err
(
'plug#begin was not called'
)
return
s:err
(
'plug#begin was not called'
)
endif
endif
for
spec
in
values
(
g:plugs
)
for
spec
in
values
(
g:plugs
)
let
docd
=
join
([
s
pec
.
dir
,
'doc'
],
'/'
)
let
docd
=
join
([
s
:rtp
(
spec
)
,
'doc'
],
'/'
)
if
isdirectory
(
docd
)
if
isdirectory
(
docd
)
silent
!
execute
'helptags'
s:esc
(
docd
)
silent
!
execute
'helptags'
s:esc
(
docd
)
endif
endif
...
@@ -782,8 +782,10 @@ function! s:assign_name()
...
@@ -782,8 +782,10 @@ function! s:assign_name()
endfunction
endfunction
function
!
s:chsh
(
swap
)
function
!
s:chsh
(
swap
)
let
prev
=
[
&
shell
,
&shellredir
]
let
prev
=
[
&
shell
,
&shellcmdflag
,
&shellredir
]
if
!
s:is_win
&&
a:swap
if
s:is_win
set
shell
=
cmd
.
exe shellcmdflag
=
/
c
shellredir
=>
%s\
2
>
&
1
elseif
a:swap
set
shell
=
sh
shellredir
=>
%s\
2
>
&
1
set
shell
=
sh
shellredir
=>
%s\
2
>
&
1
endif
endif
return
prev
return
prev
...
@@ -791,15 +793,23 @@ endfunction
...
@@ -791,15 +793,23 @@ endfunction
function
!
s:bang
(
cmd
,
...)
function
!
s:bang
(
cmd
,
...)
try
try
let
[
sh
,
shrd
]
=
s:chsh
(
a:0
)
let
[
sh
,
sh
ellcmdflag
,
sh
rd
]
=
s:chsh
(
a:0
)
" FIXME: Escaping is incomplete. We could use shellescape with eval,
" FIXME: Escaping is incomplete. We could use shellescape with eval,
" but it won't work on Windows.
" but it won't work on Windows.
let
cmd
=
a:0
?
s:with_cd
(
a:cmd
,
a:1
)
:
a:cmd
let
cmd
=
a:0
?
s:with_cd
(
a:cmd
,
a:1
)
:
a:cmd
let
g:_plug_bang
=
'!'
.
escape
(
cmd
,
'#!%'
)
if
s:is_win
let
batchfile
=
tempname
().
'.bat'
call
writefile
([
'@echo off'
,
cmd
],
batchfile
)
let
cmd
=
batchfile
endif
let
g:_plug_bang
=
(
s:is_win
&& has
(
'gui_running'
)
?
'silent '
:
''
).
'!'
.
escape
(
cmd
,
'#!%'
)
execute
"normal! :execute g:_plug_bang\<cr>\<cr>"
execute
"normal! :execute g:_plug_bang\<cr>\<cr>"
finally
finally
unlet
g:_plug_bang
unlet
g:_plug_bang
let
[
&
shell
,
&shellredir
]
=
[
sh
,
shrd
]
let
[
&
shell
,
&shellcmdflag
,
&shellredir
]
=
[
sh
,
shellcmdflag
,
shrd
]
if
s:is_win
call
delete
(
batchfile
)
endif
endtry
endtry
return
v
:
shell_error ?
'Exit status: '
.
v
:
shell_error
:
''
return
v
:
shell_error ?
'Exit status: '
.
v
:
shell_error
:
''
endfunction
endfunction
...
@@ -1181,10 +1191,15 @@ endfunction
...
@@ -1181,10 +1191,15 @@ endfunction
function
!
s:spawn
(
name
,
cmd
,
opts
)
function
!
s:spawn
(
name
,
cmd
,
opts
)
let
job
=
{
'name'
:
a:name
,
'running'
:
1
,
'error'
:
0
,
'lines'
:
[
''
],
let
job
=
{
'name'
:
a:name
,
'running'
:
1
,
'error'
:
0
,
'lines'
:
[
''
],
\
'batchfile'
:
(
s:is_win
&&
(
s:nvim
||
s:vim8
))
? tempname
().
'.bat'
:
''
,
\
'new'
:
get
(
a:opts
,
'new'
,
0
)
}
\
'new'
:
get
(
a:opts
,
'new'
,
0
)
}
let
s:jobs
[
a:name
]
=
job
let
s:jobs
[
a:name
]
=
job
let
argv
=
add
(
s:is_win
?
[
'cmd'
,
'/c'
]
:
[
'sh'
,
'-c'
],
let
cmd
=
has_key
(
a:opts
,
'dir'
)
?
s:with_cd
(
a:cmd
,
a:opts
.
dir
)
:
a:cmd
\
has_key
(
a:opts
,
'dir'
)
?
s:with_cd
(
a:cmd
,
a:opts
.
dir
)
:
a:cmd
)
if
!
empty
(
job
.
batchfile
)
call
writefile
([
'@echo off'
,
cmd
],
job
.
batchfile
)
let
cmd
=
job
.
batchfile
endif
let
argv
=
add
(
s:is_win
?
[
'cmd'
,
'/c'
]
:
[
'sh'
,
'-c'
],
cmd
)
if
s:nvim
if
s:nvim
call
extend
(
job
,
{
call
extend
(
job
,
{
...
@@ -1214,8 +1229,7 @@ function! s:spawn(name, cmd, opts)
...
@@ -1214,8 +1229,7 @@ function! s:spawn(name, cmd, opts)
let
job
.
lines
=
[
'Failed to start job'
]
let
job
.
lines
=
[
'Failed to start job'
]
endif
endif
else
else
let
params
=
has_key
(
a:opts
,
'dir'
)
?
[
a:cmd
,
a:opts
.
dir
]
:
[
a:cmd
]
let
job
.
lines
=
s:lines
(
call
(
's:system'
,
[
cmd
]))
let
job
.
lines
=
s:lines
(
call
(
's:system'
,
params
))
let
job
.
error
=
v
:
shell_error
!=
0
let
job
.
error
=
v
:
shell_error
!=
0
let
job
.
running
=
0
let
job
.
running
=
0
endif
endif
...
@@ -1235,6 +1249,9 @@ function! s:reap(name)
...
@@ -1235,6 +1249,9 @@ function! s:reap(name)
call
s:log
(
bullet
,
a:name
,
empty
(
result
)
?
'OK'
:
result
)
call
s:log
(
bullet
,
a:name
,
empty
(
result
)
?
'OK'
:
result
)
call
s:bar
()
call
s:bar
()
if
has_key
(
job
,
'batchfile'
)
&&
!
empty
(
job
.
batchfile
)
call
delete
(
job
.
batchfile
)
endif
call
remove
(
s:jobs
,
a:name
)
call
remove
(
s:jobs
,
a:name
)
endfunction
endfunction
...
@@ -1952,8 +1969,19 @@ function! s:update_ruby()
...
@@ -1952,8 +1969,19 @@ function! s:update_ruby()
EOF
EOF
endfunction
endfunction
function
!
s:shellesc_cmd
(
arg
)
let
escaped
=
substitute
(
a:arg
,
'[&|<>()@^]'
,
'^&'
,
'g'
)
let
escaped
=
substitute
(
escaped
,
'%'
,
'%%'
,
'g'
)
let
escaped
=
substitute
(
escaped
,
'"'
,
'\\^&'
,
'g'
)
let
escaped
=
substitute
(
escaped
,
'\(\\\+\)\(\\^\)'
,
'\1\1\2'
,
'g'
)
return
'^"'
.
substitute
(
escaped
,
'\(\\\+\)$'
,
'\1\1'
,
''
).
'^"'
endfunction
function
!
s:shellesc
(
arg
)
function
!
s:shellesc
(
arg
)
return
'"'
.
escape
(
a:arg
,
'"'
).
'"'
if
&
shell
=~
#
'cmd.exe$'
return
s:shellesc_cmd
(
a:arg
)
endif
return
shellescape
(
a:arg
)
endfunction
endfunction
function
!
s:glob_dir
(
path
)
function
!
s:glob_dir
(
path
)
...
@@ -1991,11 +2019,19 @@ endfunction
...
@@ -1991,11 +2019,19 @@ endfunction
function
!
s:system
(
cmd
,
...)
function
!
s:system
(
cmd
,
...)
try
try
let
[
sh
,
shrd
]
=
s:chsh
(
1
)
let
[
sh
,
sh
ellcmdflag
,
sh
rd
]
=
s:chsh
(
1
)
let
cmd
=
a:0
>
0
?
s:with_cd
(
a:cmd
,
a:1
)
:
a:cmd
let
cmd
=
a:0
>
0
?
s:with_cd
(
a:cmd
,
a:1
)
:
a:cmd
if
s:is_win
let
batchfile
=
tempname
().
'.bat'
call
writefile
([
'@echo off'
,
cmd
],
batchfile
)
let
cmd
=
batchfile
endif
return
system
(
s:is_win
?
'('
.
cmd
.
')'
:
cmd
)
return
system
(
s:is_win
?
'('
.
cmd
.
')'
:
cmd
)
finally
finally
let
[
&
shell
,
&shellredir
]
=
[
sh
,
shrd
]
let
[
&
shell
,
&shellcmdflag
,
&shellredir
]
=
[
sh
,
shellcmdflag
,
shrd
]
if
s:is_win
call
delete
(
batchfile
)
endif
endtry
endtry
endfunction
endfunction
...
@@ -2210,15 +2246,16 @@ function! s:status()
...
@@ -2210,15 +2246,16 @@ function! s:status()
let
unloaded
=
0
let
unloaded
=
0
let
[
cnt
,
total
]
=
[
0
,
len
(
g:plugs
)]
let
[
cnt
,
total
]
=
[
0
,
len
(
g:plugs
)]
for
[
name
,
spec
]
in
items
(
g:plugs
)
for
[
name
,
spec
]
in
items
(
g:plugs
)
let
is_dir
=
isdirectory
(
spec
.
dir
)
if
has_key
(
spec
,
'uri'
)
if
has_key
(
spec
,
'uri'
)
if
is
directory
(
spec
.
dir
)
if
is
_dir
let
[
err
,
_
]
=
s:git_validate
(
spec
,
1
)
let
[
err
,
_
]
=
s:git_validate
(
spec
,
1
)
let
[
valid
,
msg
]
=
[
empty
(
err
),
empty
(
err
)
?
'OK'
:
err
]
let
[
valid
,
msg
]
=
[
empty
(
err
),
empty
(
err
)
?
'OK'
:
err
]
else
else
let
[
valid
,
msg
]
=
[
0
,
'Not found. Try PlugInstall.'
]
let
[
valid
,
msg
]
=
[
0
,
'Not found. Try PlugInstall.'
]
endif
endif
else
else
if
is
directory
(
spec
.
dir
)
if
is
_dir
let
[
valid
,
msg
]
=
[
1
,
'OK'
]
let
[
valid
,
msg
]
=
[
1
,
'OK'
]
else
else
let
[
valid
,
msg
]
=
[
0
,
'Not found.'
]
let
[
valid
,
msg
]
=
[
0
,
'Not found.'
]
...
@@ -2227,7 +2264,7 @@ function! s:status()
...
@@ -2227,7 +2264,7 @@ function! s:status()
let
cnt
+=
1
let
cnt
+=
1
let
ecnt
+=
!
valid
let
ecnt
+=
!
valid
" `s:loaded` entry can be missing if PlugUpgraded
" `s:loaded` entry can be missing if PlugUpgraded
if
valid
&& get
(
s:loaded
,
name
,
-1
)
==
0
if
is_dir
&& get
(
s:loaded
,
name
,
-1
)
==
0
let
unloaded
=
1
let
unloaded
=
1
let
msg
.=
' (not loaded)'
let
msg
.=
' (not loaded)'
endif
endif
...
@@ -2316,10 +2353,19 @@ function! s:preview_commit()
...
@@ -2316,10 +2353,19 @@ function! s:preview_commit()
endif
endif
setlocal
previewwindow
filetype
=
git buftype
=
nofile nobuflisted modifiable
setlocal
previewwindow
filetype
=
git buftype
=
nofile nobuflisted modifiable
try
try
let
[
sh
,
shrd
]
=
s:chsh
(
1
)
let
[
sh
,
shellcmdflag
,
shrd
]
=
s:chsh
(
1
)
execute
'silent %!cd'
s:shellesc
(
g:plugs
[
name
].
dir
)
'&& git show --no-color --pretty=medium'
sha
let
cmd
=
'cd '
.
s:shellesc
(
g:plugs
[
name
].
dir
).
' && git show --no-color --pretty=medium '
.
sha
if
s:is_win
let
batchfile
=
tempname
().
'.bat'
call
writefile
([
'@echo off'
,
cmd
],
batchfile
)
let
cmd
=
batchfile
endif
execute
'silent %!'
cmd
finally
finally
let
[
&
shell
,
&shellredir
]
=
[
sh
,
shrd
]
let
[
&
shell
,
&shellcmdflag
,
&shellredir
]
=
[
sh
,
shellcmdflag
,
shrd
]
if
s:is_win
call
delete
(
batchfile
)
endif
endtry
endtry
setlocal
nomodifiable
setlocal
nomodifiable
nnoremap
<
silent
>
<
buffer
>
q
:
q
<
cr
>
nnoremap
<
silent
>
<
buffer
>
q
:
q
<
cr
>
...
@@ -2361,7 +2407,7 @@ function! s:diff()
...
@@ -2361,7 +2407,7 @@ function! s:diff()
call
s:append_ul
(
2
,
origin ?
'Pending updates:'
:
'Last update:'
)
call
s:append_ul
(
2
,
origin ?
'Pending updates:'
:
'Last update:'
)
for
[
k
,
v
]
in
plugs
for
[
k
,
v
]
in
plugs
let
range
=
origin ?
'..origin/'
.
v
.
branch
:
'HEAD@{1}..'
let
range
=
origin ?
'..origin/'
.
v
.
branch
:
'HEAD@{1}..'
let
diff
=
s:system_chomp
(
'git log --graph --color=never
--pretty=format:"%x01%h%x01%d%x01%s%x01%cr" '
.
s:shellesc
(
range
),
v
.
dir
)
let
diff
=
s:system_chomp
(
'git log --graph --color=never
'
.
join
(
map
([
'--pretty=format:%x01%h%x01%d%x01%s%x01%cr'
,
range
],
's:shellesc(v:val)'
)
),
v
.
dir
)
if
!
empty
(
diff
)
if
!
empty
(
diff
)
let
ref
=
has_key
(
v
,
'tag'
)
?
(
' (tag: '
.
v
.
tag
.
')'
)
:
has_key
(
v
,
'commit'
)
?
(
' '
.
v
.
commit
)
:
''
let
ref
=
has_key
(
v
,
'tag'
)
?
(
' (tag: '
.
v
.
tag
.
')'
)
:
has_key
(
v
,
'commit'
)
?
(
' '
.
v
.
commit
)
:
''
call
append
(
5
,
extend
([
''
,
'- '
.
k
.
':'
.
ref
],
map
(
s:lines
(
diff
),
's:format_git_log(v:val)'
)))
call
append
(
5
,
extend
([
''
,
'- '
.
k
.
':'
.
ref
],
map
(
s:lines
(
diff
),
's:format_git_log(v:val)'
)))
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment