Skip to content

Commit

Permalink
Retry au * * autocmd if in cmd line and it throws E1155
Browse files Browse the repository at this point in the history
  • Loading branch information
mckellygit committed Mar 1, 2021
1 parent a568192 commit 5d2ed40
Showing 1 changed file with 16 additions and 5 deletions.
21 changes: 16 additions & 5 deletions autoload/tmux_focus_events.vim
Original file line number Diff line number Diff line change
Expand Up @@ -24,16 +24,27 @@ function! s:delayed_checktime()
endtry
endfunction

function! tmux_focus_events#focus_gained()
if !&autoread
return
endif
if <SID>cursor_in_cmd_line()
function! s:RetryAU(au_timer)
try
augroup focus_gained_checktime
au!
" perform checktime ASAP when outside cmd line
au * * call <SID>delayed_checktime()
augroup END
catch /E1155/
let au_timer = timer_start(50, function('s:RetryAU'))
" help nvim display screen
redraw!
endtry
endfunction

function! tmux_focus_events#focus_gained()
if !&autoread
return
endif
if <SID>cursor_in_cmd_line()
" rarely, au * * could throw E1155, retry until ok
call <SID>RetryAU(0)
else
silent checktime
endif
Expand Down

0 comments on commit 5d2ed40

Please sign in to comment.