Explorar o código

Use runtime only when the file is not found in the plugin directory (#434)

There can be multiple files that matches the pattern (e.g.
syntax/foo.vim) in &runtimepath.
Junegunn Choi %!s(int64=10) %!d(string=hai) anos
pai
achega
16902f9003
Modificáronse 1 ficheiros con 6 adicións e 1 borrados
  1. 6 1
      plug.vim

+ 6 - 1
plug.vim

@@ -150,11 +150,14 @@ function! s:to_s(v)
 endfunction
 
 function! s:source(from, ...)
+  let found = 0
   for pattern in a:000
     for vim in s:lines(globpath(a:from, pattern))
       execute 'source' s:esc(vim)
+      let found = 1
     endfor
   endfor
+  return found
 endfunction
 
 function! s:assoc(dict, key, val)
@@ -426,7 +429,9 @@ function! s:lod(names, types, ...)
       call s:source(rtp, dir.'/**/*.vim')
     endfor
     for pat in a:000
-      execute 'runtime' pat
+      if !s:source(rtp, pat)
+        execute 'runtime' pat
+      endif
     endfor
     if exists('#User#'.name)
       execute 'doautocmd User' name