Print progress of post-update hooks using :!
(#38)
This commit is contained in:
parent
706f7e00ea
commit
b6b10ac17e
1 changed files with 11 additions and 2 deletions
11
plug.vim
11
plug.vim
|
@ -459,8 +459,17 @@ function! s:do(pull, todo)
|
|||
call append(3, '- Post-update hook for '. name .' ... ')
|
||||
let type = type(spec.do)
|
||||
if type == s:TYPE.string
|
||||
call system(spec.do)
|
||||
try
|
||||
" FIXME: Escaping is incomplete. We could use shellescape with eval,
|
||||
" but it won't work on Windows.
|
||||
let g:_plug_do = '!'.escape(spec.do, '#!%')
|
||||
nnoremap <Plug>(plug-do) :execute g:_plug_do<cr><cr>
|
||||
execute "normal \<Plug>(plug-do)"
|
||||
finally
|
||||
let result = v:shell_error ? ('Exit status: '.v:shell_error) : 'Done!'
|
||||
unlet g:_plug_do
|
||||
unmap <Plug>(plug-do)
|
||||
endtry
|
||||
elseif type == s:TYPE.funcref
|
||||
try
|
||||
call spec.do()
|
||||
|
|
Loading…
Reference in a new issue