windows support
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
func! vundle#installer#install(bang, ...)
|
||||
func! vundle#installer#install(bang, ...) abort
|
||||
if !isdirectory(g:bundle_dir) | call mkdir(g:bundle_dir, 'p') | endif
|
||||
let bundles = (a:1 == '') ?
|
||||
\ s:reload_bundles() :
|
||||
@@ -11,19 +11,19 @@ func! vundle#installer#install(bang, ...)
|
||||
call s:log("Installed bundles:\n".join((empty(installed) ? ['no new bundless installed'] : map(installed, 'v:val.name')),"\n"))
|
||||
|
||||
let help_dirs = vundle#installer#helptags(bundles)
|
||||
if !empty(help_dirs)
|
||||
call s:log('Helptags: done. '.len(help_dirs).' bundles processed')
|
||||
endif
|
||||
endf
|
||||
|
||||
func! vundle#installer#helptags(bundles)
|
||||
func! vundle#installer#helptags(bundles) abort
|
||||
let bundle_dirs = map(copy(a:bundles),'v:val.rtpath()')
|
||||
let help_dirs = filter(bundle_dirs, 's:has_doc(v:val)')
|
||||
call map(copy(help_dirs), 's:helptags(v:val)')
|
||||
if !empty(help_dirs)
|
||||
call s:log('Helptags: done. '.len(help_dirs).' bundles processed')
|
||||
endif
|
||||
return help_dirs
|
||||
endf
|
||||
|
||||
func! vundle#installer#clean(bang)
|
||||
func! vundle#installer#clean(bang) abort
|
||||
let bundle_dirs = map(copy(g:bundles), 'v:val.path()')
|
||||
let all_dirs = split(globpath(g:bundle_dir, '*'), "\n")
|
||||
let x_dirs = filter(all_dirs, '0 > index(bundle_dirs, v:val)')
|
||||
@@ -46,29 +46,29 @@ func! s:reload_bundles()
|
||||
return g:bundles
|
||||
endf
|
||||
|
||||
func! s:has_doc(rtp)
|
||||
func! s:has_doc(rtp) abort
|
||||
return isdirectory(a:rtp.'/doc')
|
||||
\ && (!filereadable(a:rtp.'/doc/tags') || filewritable(a:rtp.'/doc/tags'))
|
||||
\ && !(empty(glob(a:rtp.'/doc/*.txt')) && empty(glob(a:rtp.'/doc/*.??x')))
|
||||
endf
|
||||
|
||||
func! s:helptags(rtp)
|
||||
func! s:helptags(rtp) abort
|
||||
helptags `=a:rtp.'/doc'`
|
||||
endf
|
||||
|
||||
func! s:sync(bang, bundle) abort
|
||||
let git_dir = a:bundle.path().'/.git'
|
||||
let git_dir = shellescape(expand(a:bundle.path().'/.git'))
|
||||
if isdirectory(git_dir)
|
||||
if !(a:bang) | return 0 | endif
|
||||
let cmd = 'cd '.a:bundle.path().' && git pull'
|
||||
let cmd = 'cd '.shellescape(a:bundle.path()).' && git pull'
|
||||
else
|
||||
let cmd = 'git clone '.a:bundle.uri.' '.a:bundle.path()
|
||||
let cmd = 'git clone '.a:bundle.uri.' '.shellescape(a:bundle.path())
|
||||
endif
|
||||
silent exec '!'.cmd
|
||||
return 1
|
||||
endf
|
||||
|
||||
func! s:install(bang, bundles)
|
||||
func! s:install(bang, bundles) abort
|
||||
return filter(copy(a:bundles), 's:sync(a:bang, v:val)')
|
||||
endf
|
||||
|
||||
|
||||
Reference in New Issue
Block a user