From a02369403b8331b295f66a494d5d2ecf0e656b2f Mon Sep 17 00:00:00 2001 From: Andy Stewart Date: Sat, 29 Jan 2022 15:08:40 +0000 Subject: [PATCH] Fix autocmd to use for effective buffer See #814, #607. --- plugin/gitgutter.vim | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/plugin/gitgutter.vim b/plugin/gitgutter.vim index 152e8d8..eb16e66 100644 --- a/plugin/gitgutter.vim +++ b/plugin/gitgutter.vim @@ -248,6 +248,10 @@ function! GitGutterCursorHold(timer) execute 'doautocmd' s:nomodeline 'gitgutter CursorHold' endfunction +function! s:next_tick(cmd) + call timer_start(1, {-> execute(a:cmd)}) +endfunction + " Autocommands {{{ augroup gitgutter @@ -264,9 +268,9 @@ augroup gitgutter autocmd CursorHold,CursorHoldI * call gitgutter#process_buffer(bufnr(''), 0) if exists('*timer_start') && has('lambda') - autocmd FileChangedShellPost * call timer_start(1, {-> gitgutter#process_buffer(bufnr(''), 1)}) + autocmd FileChangedShellPost * call s:next_tick("call gitgutter#process_buffer(+".expand('').", 1)") else - autocmd FileChangedShellPost * call gitgutter#process_buffer(bufnr(''), 1) + autocmd FileChangedShellPost * call gitgutter#process_buffer(+expand(''), 1) endif " Ensure that all buffers are processed when opening vim with multiple files, e.g.: