mirror of
https://github.com/junegunn/vim-plug.git
synced 2024-12-19 10:35:38 -07:00
parent
460fbe82e0
commit
17996cedce
@ -201,6 +201,12 @@ Plug 'Shougo/vimproc.vim', { 'do': 'make' }
|
|||||||
Plug 'Valloric/YouCompleteMe', { 'do': './install.py' }
|
Plug 'Valloric/YouCompleteMe', { 'do': './install.py' }
|
||||||
```
|
```
|
||||||
|
|
||||||
|
If the value starts with `:`, it will be recognized as a Vim command.
|
||||||
|
|
||||||
|
```vim
|
||||||
|
Plug 'fatih/vim-go', { 'do': ':GoInstallBinaries' }
|
||||||
|
```
|
||||||
|
|
||||||
If you need more control, you can pass a reference to a Vim function that
|
If you need more control, you can pass a reference to a Vim function that
|
||||||
takes a single argument.
|
takes a single argument.
|
||||||
|
|
||||||
|
17
plug.vim
17
plug.vim
@ -267,7 +267,7 @@ function! plug#end()
|
|||||||
syntax enable
|
syntax enable
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
call s:reload()
|
call s:reload_plugins()
|
||||||
endif
|
endif
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
@ -275,9 +275,13 @@ function! s:loaded_names()
|
|||||||
return filter(copy(g:plugs_order), 'get(s:loaded, v:val, 0)')
|
return filter(copy(g:plugs_order), 'get(s:loaded, v:val, 0)')
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! s:reload()
|
function! s:load_plugin(spec)
|
||||||
|
call s:source(s:rtp(a:spec), 'plugin/**/*.vim', 'after/plugin/**/*.vim')
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! s:reload_plugins()
|
||||||
for name in s:loaded_names()
|
for name in s:loaded_names()
|
||||||
call s:source(s:rtp(g:plugs[name]), 'plugin/**/*.vim', 'after/plugin/**/*.vim')
|
call s:load_plugin(g:plugs[name])
|
||||||
endfor
|
endfor
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
@ -785,7 +789,12 @@ function! s:do(pull, force, todo)
|
|||||||
let error = ''
|
let error = ''
|
||||||
let type = type(spec.do)
|
let type = type(spec.do)
|
||||||
if type == s:TYPE.string
|
if type == s:TYPE.string
|
||||||
let error = s:bang(spec.do)
|
if spec.do[0] == ':'
|
||||||
|
call s:load_plugin(spec)
|
||||||
|
execute spec.do[1:]
|
||||||
|
else
|
||||||
|
let error = s:bang(spec.do)
|
||||||
|
endif
|
||||||
elseif type == s:TYPE.funcref
|
elseif type == s:TYPE.funcref
|
||||||
try
|
try
|
||||||
let status = installed ? 'installed' : (updated ? 'updated' : 'unchanged')
|
let status = installed ? 'installed' : (updated ? 'updated' : 'unchanged')
|
||||||
|
@ -933,11 +933,24 @@ Execute (Should not run when failed to update):
|
|||||||
Assert filereadable(g:plugs['vim-pseudocl'].dir.'/not-failed'),
|
Assert filereadable(g:plugs['vim-pseudocl'].dir.'/not-failed'),
|
||||||
\ 'vim-pseudocl/not-failed should exist'
|
\ 'vim-pseudocl/not-failed should exist'
|
||||||
|
|
||||||
|
Execute (Vim command with : prefix):
|
||||||
|
call plug#begin()
|
||||||
|
Plug 'junegunn/vim-pseudocl', { 'do': ':call setline(2, 12345)' }
|
||||||
|
call plug#end()
|
||||||
|
|
||||||
|
PlugInstall!
|
||||||
|
Log getline(1, '$')
|
||||||
|
AssertEqual '12345', getline(2)
|
||||||
|
q
|
||||||
|
|
||||||
**********************************************************************
|
**********************************************************************
|
||||||
~ Overriding `dir`
|
~ Overriding `dir`
|
||||||
**********************************************************************
|
**********************************************************************
|
||||||
|
|
||||||
Execute (Using custom dir):
|
Execute (Using custom dir):
|
||||||
|
call plug#begin()
|
||||||
|
Plug 'junegunn/vim-easy-align'
|
||||||
|
call plug#end()
|
||||||
Assert isdirectory(g:plugs['vim-easy-align'].dir)
|
Assert isdirectory(g:plugs['vim-easy-align'].dir)
|
||||||
|
|
||||||
call RmRf('/tmp/vim-plug-test/easy-align')
|
call RmRf('/tmp/vim-plug-test/easy-align')
|
||||||
|
Loading…
Reference in New Issue
Block a user