瀏覽代碼

Check if autocmd defined before doautocmd

This removes `No matching autocommands` message
Junegunn Choi 10 年之前
父節點
當前提交
179fa7bb82
共有 1 個文件被更改,包括 9 次插入3 次删除
  1. 9 3
      plug.vim

+ 9 - 3
plug.vim

@@ -356,7 +356,9 @@ function! plug#load(...)
   for name in a:000
     call s:lod([name], ['ftdetect', 'after/ftdetect', 'plugin', 'after/plugin'])
   endfor
-  doautocmd BufRead
+  if exists('#BufRead')
+    doautocmd BufRead
+  endif
   return 1
 endfunction
 
@@ -392,8 +394,12 @@ endfunction
 function! s:lod_ft(pat, names)
   call s:lod(a:names, ['plugin', 'after/plugin'])
   execute 'autocmd! PlugLOD FileType' a:pat
-  doautocmd filetypeplugin FileType
-  doautocmd filetypeindent FileType
+  if exists('#filetypeplugin#FileType')
+    doautocmd filetypeplugin FileType
+  endif
+  if exists('#filetypeindent#FileType')
+    doautocmd filetypeindent FileType
+  endif
 endfunction
 
 function! s:lod_cmd(cmd, bang, l1, l2, args, names)