Skip to content

Commit

Permalink
Defer setting the omnifunc only the first time
Browse files Browse the repository at this point in the history
Fix #1769
  • Loading branch information
vheon committed Dec 30, 2015
1 parent f4c63d7 commit b4beed4
Showing 1 changed file with 15 additions and 5 deletions.
20 changes: 15 additions & 5 deletions autoload/youcompleteme.vim
Expand Up @@ -22,6 +22,7 @@ set cpo&vim
" This needs to be called outside of a function
let s:script_folder_path = escape( expand( '<sfile>:p:h' ), '\' )
let s:omnifunc_mode = 0
let s:defer_omnifunc = 1

let s:old_cursor_position = []
let s:cursor_moved = 0
Expand Down Expand Up @@ -88,6 +89,15 @@ function! youcompleteme#Enable()
autocmd CompleteDone * call s:OnCompleteDone()
augroup END

if s:defer_omnifunc
augroup ycm_defer_omnifunc
autocmd!
autocmd InsertEnter * call s:SetOmnicompleteFunc()
\ | let s:defer_omnifunc = 0
\ | autocmd! ycm_defer_omnifunc
augroup END
endif

" Calling these once solves the problem of BufReadPre/BufRead/BufEnter not
" triggering for the first loaded file. This should be the last commands
" executed in this function!
Expand Down Expand Up @@ -412,6 +422,11 @@ function! s:OnBufferVisit()

call s:SetUpCompleteopt()
call s:SetCompleteFunc()

if !s:defer_omnifunc
call s:SetOmnicompleteFunc()
endif

py ycm_state.OnBufferVisit()
call s:OnFileReadyToParse()
endfunction
Expand Down Expand Up @@ -544,11 +559,6 @@ function! s:OnInsertEnter()
return
endif

if !get( b:, 'ycm_omnicomplete', 0 )
let b:ycm_omnicomplete = 1
call s:SetOmnicompleteFunc()
endif

let s:old_cursor_position = []
endfunction

Expand Down

0 comments on commit b4beed4

Please sign in to comment.