Vundle, the plug-in manager for Vim
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

119 lines
2.6 KiB

" vim -gu test/vimrc
set nocompatible
syntax on
silent exec 'e '.expand('<sfile>')
let branch = split(filter(split(system('git branch'),'\n'),'v:val[0]=="*"')[0],'\s\+')[1]
let root = '/tmp/'.branch.'/vundle_bundles'
"let src = 'http://github.com/gmarik/vundle.git'
let src = '~/.vim/bundle/vundle/.git'
if !isdirectory(expand(root).'/vundle')
exec '!git clone '.src.' '.root.'/vundle'
endif
runtime macros/matchit.vim
exec 'set rtp+='.root.'/vundle'
call vundle#rc(root)
" Vundle manages Vunlde
Bundle 'gmarik/vundle'
" vim-scripts name
Bundle 'molokai'
" github username with dashes
Bundle 'vim-scripts/ragtag.vim'
" original repo
Bundle 'altercation/vim-colors-solarized'
" with extension
Bundle 'nelstrom/vim-mac-classic-theme.git'
" full uri
Bundle 'https://github.com/vim-scripts/vim-game-of-life'
" full uri
Bundle 'git@github.com:gmarik/ingretu.git'
" short uri
Bundle 'gh:gmarik/snipmate.vim.git'
Bundle 'github:mattn/gist-vim.git'
" local uri stuff
Bundle '~/Dropbox/.gitrepos/utilz.vim.git'
" Bundle 'file://Dropbox/.gitrepos/utilz.vim.git'
" with options
Bundle 'rstacruz/sparkup.git', {'rtp': 'vim/'}
" Camel case
Bundle 'vim-scripts/RubySinatra'
" PostInstall
Bundle 'wincent/Command-T'
Bundle 'CSS3-Highlights'
augroup user#css3-highlights
au!
au User BundleInstallPre ! [ -d .git ] && git reset --hard
au User BundleInstallPost ! vim **/*.vim +'bufdo set fileformat=unix | wall | qall'
augroup end
" NOSYNC
" existing directory
Bundle! root.'/vundle/test/'
" just create one
Bundle! 'a_plugin'
"
" just create one, and override name
Bundle! 'b_plugin', {'name': 'zzz'}
filetype plugin indent on " Automatically detect file types.
set wildignore+=doc " should not break helptags
set wildignore+=.git " should not break clone
augroup vimrc
au WinEnter * call Test()
augroup END
func! Test() abort
if 'ok' != g:vundle_test_plugin()
throw 'ooops'
endif
call Assert_bundles()
call Assert_a_bundle()
call Assert_b_bundle()
endf
func! Assert(cond, msg)
if !(a:cond)
throw a:msg
endif
endf
func! Assert_bundles() abort
for b in g:vundle#bundles
call Assert(b.nosync() || b.installed(), b.name.' not installed')
endfor
endf
func! Assert_a_bundle() abort
let b = filter(copy(g:vundle#bundles), 'v:val.name == "a_plugin"')[0]
let c = (b.path() == expand(g:vundle#bundle_dir.'/'.'a_plugin'))
call Assert(c, b.name.' isnt instaled')
endf
func! Assert_b_bundle() abort
let b = filter(copy(g:vundle#bundles), 'v:val.name == "zzz"')[0]
let c = (b.path() == expand(g:vundle#bundle_dir.'/'.'zzz'))
call Assert(c, b.name.' isnt instaled')
endf