Prechádzať zdrojové kódy

Don't set omnifunc when not allowed

Boris Staletic 8 rokov pred
rodič
commit
30def5d246
1 zmenil súbory, kde vykonal 9 pridanie a 3 odobranie
  1. 9 3
      autoload/youcompleteme.vim

+ 9 - 3
autoload/youcompleteme.vim

@@ -108,9 +108,7 @@ function! youcompleteme#Enable()
   if s:defer_omnifunc
   if s:defer_omnifunc
     augroup ycm_defer_omnifunc
     augroup ycm_defer_omnifunc
       autocmd!
       autocmd!
-      autocmd InsertEnter * call s:SetOmnicompleteFunc()
-                        \ | let s:defer_omnifunc = 0
-                        \ | autocmd! ycm_defer_omnifunc
+      autocmd InsertEnter * call s:DeferredUntilInsertEnter()
     augroup END
     augroup END
   endif
   endif
 
 
@@ -121,6 +119,14 @@ function! youcompleteme#Enable()
   call s:OnBufferRead()
   call s:OnBufferRead()
 endfunction
 endfunction
 
 
+function s:DeferredUntilInsertEnter()
+  let s:defer_omnifunc = 0
+  autocmd! ycm_defer_omnifunc
+
+  if s:AllowedToCompleteInCurrentFile()
+    call s:SetOmnicompleteFunc()
+  endif
+endfunction
 
 
 function! youcompleteme#EnableCursorMovedAutocommands()
 function! youcompleteme#EnableCursorMovedAutocommands()
   augroup ycmcompletemecursormove
   augroup ycmcompletemecursormove