Remove FileType autocmd after loaded

This commit is contained in:
Junegunn Choi 2014-06-22 09:58:14 +09:00
parent 1d477a1a01
commit db3f5ad5c3

View File

@ -58,7 +58,6 @@ set cpo&vim
let s:plug_source = 'https://raw.github.com/junegunn/vim-plug/master/plug.vim'
let s:plug_file = 'Plugfile'
let s:plug_buf = -1
let s:loaded = {}
let s:is_win = has('win32') || has('win64')
let s:me = expand('<sfile>:p')
@ -168,9 +167,10 @@ function! plug#end()
for vim in split(globpath(s:rtp(plug), 'ftdetect/**/*.vim'), '\n')
execute 'source '.vim
endfor
let pat = join(s:to_a(plug.for), ',')
augroup PlugLOD
execute printf('autocmd FileType %s call <SID>lod_ft(%s, %s)',
\ join(s:to_a(plug.for), ','), string(name), string(plug))
execute printf('autocmd FileType %s call <SID>lod_ft(%s, %s, %s)',
\ pat, string(pat), string(name), string(plug))
augroup END
endif
endfor
@ -207,12 +207,9 @@ function! s:lod(plug, types)
endfor
endfunction
function! s:lod_ft(name, plug)
if has_key(s:loaded, a:name)
return
endif
function! s:lod_ft(pat, name, plug)
call s:lod(a:plug, ['plugin', 'after'])
let s:loaded[a:name] = 1
execute 'autocmd! PlugLOD FileType ' . a:pat
endfunction
function! s:lod_cmd(cmd, bang, l1, l2, args, plug)