Allow updating specific plugins.
This commit is contained in:
committed by
Jacobo de Vera
parent
a864467285
commit
1df432aecf
@@ -8,8 +8,8 @@
|
||||
com! -nargs=+ -bar Plugin
|
||||
\ call vundle#config#bundle(<args>)
|
||||
|
||||
com! -nargs=? -bang -complete=custom,vundle#scripts#complete PluginInstall
|
||||
\ call vundle#installer#new('!' == '<bang>', <q-args>)
|
||||
com! -nargs=* -bang -complete=custom,vundle#scripts#complete PluginInstall
|
||||
\ call vundle#installer#new('!' == '<bang>', <f-args>)
|
||||
|
||||
com! -nargs=? -bang -complete=custom,vundle#scripts#complete PluginSearch
|
||||
\ call vundle#scripts#all('!' == '<bang>', <q-args>)
|
||||
@@ -24,7 +24,7 @@ com! -nargs=0 PluginDocs
|
||||
\ call vundle#installer#helptags(g:bundles)
|
||||
|
||||
" Aliases
|
||||
com! PluginUpdate PluginInstall!
|
||||
com! -nargs=* -complete=custom,vundle#scripts#complete PluginUpdate PluginInstall! <args>
|
||||
|
||||
" Vundle Aliases
|
||||
com! -nargs=? -bang -complete=custom,vundle#scripts#complete VundleInstall PluginInstall<bang> <args>
|
||||
|
||||
@@ -6,9 +6,21 @@
|
||||
" ... -- any number of bundle specifications (separate arguments)
|
||||
" ---------------------------------------------------------------------------
|
||||
func! vundle#installer#new(bang, ...) abort
|
||||
let bundles = (a:1 == '') ?
|
||||
\ g:bundles :
|
||||
\ map(copy(a:000), 'vundle#config#bundle(v:val, {})')
|
||||
" No specific plugins are specified. Operate on all plugins.
|
||||
if a:0 == 0
|
||||
let bundles = g:bundles
|
||||
" Specific plugins are specified for update. Update them.
|
||||
elseif (a:bang)
|
||||
let bundles = filter(copy(g:bundles), 'index(a:000, v:val.name) > -1')
|
||||
" Specific plugins are specified for installation. Install them.
|
||||
else
|
||||
let bundles = map(copy(a:000), 'vundle#config#bundle(v:val, {})')
|
||||
endif
|
||||
|
||||
if empty(bundles)
|
||||
echoerr 'No bundles were selected for operation'
|
||||
return
|
||||
endif
|
||||
|
||||
let names = vundle#scripts#bundle_names(map(copy(bundles), 'v:val.name_spec'))
|
||||
call vundle#scripts#view('Installer',['" Installing plugins to '.expand(g:bundle_dir, 1)], names + ['Helptags'])
|
||||
|
||||
@@ -39,7 +39,12 @@ endf
|
||||
" candidates, see also :h command-completion-custom
|
||||
" ---------------------------------------------------------------------------
|
||||
func! vundle#scripts#complete(a,c,d)
|
||||
return join(s:load_scripts(0),"\n")
|
||||
" Return only installed plugins if updating
|
||||
if match(a:c, '\v^Plugin%(Install!|Update)') == 0
|
||||
return join(map(copy(g:bundles), 'v:val.name'), "\n")
|
||||
else
|
||||
return join(s:load_scripts(0),"\n")
|
||||
endif
|
||||
endf
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user