diff --git a/autoload/vundle.vim b/autoload/vundle.vim index 16eebca..8df0d18 100644 --- a/autoload/vundle.vim +++ b/autoload/vundle.vim @@ -56,7 +56,6 @@ sign define Vu_deleted text=- texthl=Comment sign define Vu_helptags text=* texthl=Comment endif - func! vundle#rc(...) abort let g:bundle_dir = len(a:000) > 0 ? expand(a:1, 1) : expand('$HOME/.vim/bundle', 1) let g:updated_bundles = [] diff --git a/autoload/vundle/config.vim b/autoload/vundle/config.vim index 7bcf647..3150d6a 100644 --- a/autoload/vundle/config.vim +++ b/autoload/vundle/config.vim @@ -3,6 +3,7 @@ func! vundle#config#bundle(arg, ...) call s:rtp_rm_a() call add(g:bundles, bundle) call s:rtp_add_a() + call s:rtp_add_defaults() return bundle endf @@ -21,6 +22,7 @@ func! vundle#config#require(bundles) abort exec 'runtime! '.b.name.'/after/*.vim' call s:rtp_rm(g:bundle_dir) endfor + call s:rtp_add_defaults() endf func! vundle#config#init_bundle(name, opts) @@ -67,6 +69,21 @@ func! s:parse_name(arg) return {'name': name, 'uri': uri, 'name_spec': arg } endf +func! s:rtp_add_defaults() + let current = &rtp + set rtp&vim + let default = &rtp + let &rtp = current + for item in reverse(split(default, ',')) + exec 'set rtp-=' . item + if fnamemodify(item, ":t") == 'after' + exec 'set rtp+=' . item + else + exec 'set rtp^=' . item + endif + endfor +endf + func! s:rtp_rm_a() let paths = map(copy(g:bundles), 'v:val.rtpath') let prepends = join(paths, ',')