diff --git a/plug.vim b/plug.vim index f049a73..3b49660 100644 --- a/plug.vim +++ b/plug.vim @@ -193,9 +193,12 @@ function! s:ask_no_interrupt(...) endtry endfunction -function! s:has_for(plug) - return has_key(a:plug, 'for') && - \ (empty(s:to_a(a:plug.for)) || !isdirectory(a:plug.dir) || len(s:glob(s:rtp(a:plug), 'plugin'))) +function! s:lazy(plug, opt) + return has_key(a:plug, a:opt) && + \ (empty(s:to_a(a:plug[a:opt])) || + \ !isdirectory(a:plug.dir) || + \ len(s:glob(s:rtp(a:plug), 'plugin')) || + \ len(s:glob(s:rtp(a:plug), 'after/plugin'))) endfunction function! plug#end() @@ -219,7 +222,7 @@ function! plug#end() continue endif let plug = g:plugs[name] - if get(s:loaded, name, 0) || !has_key(plug, 'on') && !s:has_for(plug) + if get(s:loaded, name, 0) || !s:lazy(plug, 'on') && !s:lazy(plug, 'for') let s:loaded[name] = 1 continue endif