diff --git a/unbundle.vim b/unbundle.vim index 09b47bd..b0dac6f 100644 --- a/unbundle.vim +++ b/unbundle.vim @@ -31,11 +31,27 @@ function! Unftbundle(type) execute 'source' fnameescape(l:plugin) endfor + " reload autocmd FileType when filetype already loaded + if s:filetype_loaded == 1 + let &l:filetype = &l:filetype + endif + " apply newly loaded ftbundles to currently open buffers doautoall BufRead endif endfunction +" If `filetype plugin indent on` already set before unbundle.vim load +" unbundle.vim need to reload filetype +redir => filetype_out + silent! filetype +redir END + +let s:filetype_loaded = 0 +if filetype_out =~# 'plugin:ON\|plugin:(on)' + let s:filetype_loaded = 1 +endif + " commands for manual invocation command! Unbundle call Unbundle('bundle/*') command! -nargs=1 -complete=filetype Unftbundle call Unftbundle()