Browse Source

Bundle is a simple data object now

pull/10/head
gmarik 15 years ago
parent
commit
338bbf0daf
1 changed files with 26 additions and 23 deletions
  1. +26
    -23
      autoload/vundle.vim

+ 26
- 23
autoload/vundle.vim View File

@ -25,11 +25,11 @@ endf
func! vundle#install_bundles()
silent source ~/.vimrc
exec '!mkdir -p '.g:bundle_dir
for bundle in g:bundles | call bundle.install() | endfor
for bundle in g:bundles | call s:install(bundle) | endfor
endf
func! vundle#helptags()
for bundle in g:bundles | call bundle.helptags() | endfor
for bundle in g:bundles | call s:helptags(bundle) | endfor
endf
func! s:rtp_add(dir)
@ -62,35 +62,38 @@ func! s:parse_name(arg)
return {'name': name, 'uri': uri }
endf
let s:bundle = {}
func! s:bundle.path()
return expand(g:bundle_dir.''.self.name)
endf
func! s:bundle.rtpath()
return has_key(self, 'rtp') ? join([self.path(), self.rtp], '/') : self.path()
endf
func! s:bundle.helptags()
let dir = self.rtpath()
func! s:helptags(bundle)
let dir = a:bundle.rtpath()
if isdirectory(dir.'/doc') && (!filereadable(dir.'/doc/tags') || filewritable(dir.'/doc/tags'))
helptags `=dir.'/doc'`
endif
endf
func! s:bundle.sync()
let git_dir = self.path().'/.git'
echo self.name
func! s:require(bundle)
exec 'runtime '.bundle.rtpath().'/plugin/*.vim'
endf
func! s:sync(bundle)
let git_dir = a:bundle.path().'/.git'
echo a:bundle.name
if isdirectory(git_dir)
silent exec '!cd '.self.path().'; git pull'
silent exec '!cd '.a:bundle.path().'; git pull'
else
silent exec '!git clone '.self.uri.' '.self.path()
silent exec '!git clone '.a:bundle.uri.' '.a:bundle.path()
endif
endf
func! s:bundle.install()
call self.sync()
call self.helptags()
func! s:install(bundle)
call s:sync(a:bundle)
call s:helptags(a:bundle)
endf
let s:bundle = {}
func! s:bundle.path()
return expand(g:bundle_dir.''.self.name)
endf
func! s:bundle.rtpath()
return has_key(self, 'rtp') ? join([self.path(), self.rtp], '/') : self.path()
endf

Loading…
Cancel
Save