Skip to content

Commit d20015f

Browse files
committed
Set autocmds according to given bufnr
1 parent f5a6fcb commit d20015f

File tree

3 files changed

+30
-27
lines changed

3 files changed

+30
-27
lines changed

autoload/sy.vim

Lines changed: 18 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ function! sy#start(...) abort
3535
\ 'file': sy#util#escape(fnamemodify(path, ':t'))
3636
\ }}
3737
call setbufvar(bufnr, 'sy', new_sy)
38-
call sy#set_autocmds()
38+
call sy#set_buflocal_autocmds(bufnr)
3939
call sy#repo#detect(bufnr)
4040
elseif has('vim_starting')
4141
call sy#verbose("Don't run Sy more than once during startup.")
@@ -114,35 +114,31 @@ function! sy#verbose(msg, ...) abort
114114
endif
115115
endfunction
116116

117-
" #set_autocmds {{{1
118-
function! sy#set_autocmds() abort
119-
augroup signify
120-
autocmd! * <buffer>
117+
" #set_buflocal_autocmds {{{1
118+
function! sy#set_buflocal_autocmds(bufnr) abort
119+
if get(g:, 'signify_disable_by_default')
120+
return
121+
endif
121122

122-
autocmd BufEnter <buffer> call sy#start()
123-
autocmd WinEnter <buffer> call sy#start()
124-
autocmd BufWritePost <buffer> call sy#start()
123+
augroup signify
124+
execute printf('autocmd! * <buffer=%d>', a:bufnr)
125125

126-
autocmd CursorHold <buffer> call sy#start()
127-
autocmd CursorHoldI <buffer> call sy#start()
126+
execute printf('autocmd BufEnter <buffer=%d> call sy#start()', a:bufnr)
127+
execute printf('autocmd WinEnter <buffer=%d> call sy#start()', a:bufnr)
128+
execute printf('autocmd BufWritePost <buffer=%d> call sy#start()', a:bufnr)
128129

129-
autocmd FocusGained <buffer> SignifyRefresh
130+
execute printf('autocmd CursorHold <buffer=%d> call sy#start()', a:bufnr)
131+
execute printf('autocmd CursorHoldI <buffer=%d> call sy#start()', a:bufnr)
130132

131-
autocmd QuickFixCmdPre *vimgrep* let g:signify_locked = 1
132-
autocmd QuickFixCmdPost *vimgrep* let g:signify_locked = 0
133+
execute printf('autocmd FocusGained <buffer=%d> SignifyRefresh', a:bufnr)
133134

134-
autocmd CmdwinEnter <buffer> let g:signify_cmdwin_active = 1
135-
autocmd CmdwinLeave <buffer> let g:signify_cmdwin_active = 0
135+
execute printf('autocmd CmdwinEnter <buffer=%d> let g:signify_cmdwin_active = 1', a:bufnr)
136+
execute printf('autocmd CmdwinLeave <buffer=%d> let g:signify_cmdwin_active = 0', a:bufnr)
136137

137-
autocmd ShellCmdPost <buffer> call sy#start()
138+
execute printf('autocmd ShellCmdPost <buffer=%d> call sy#start()', a:bufnr)
138139

139140
if exists('##VimResume')
140-
autocmd VimResume <buffer> call sy#start()
141-
endif
142-
143-
if has('gui_running') && has('win32') && argc()
144-
" Fix 'no signs at start' race.
145-
autocmd GUIEnter <buffer> redraw
141+
execute printf('autocmd VimResume <buffer=%d> call sy#start()', a:bufnr)
146142
endif
147143
augroup END
148144

doc/signify.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -442,12 +442,12 @@ See all of them with:
442442
<
443443
You can disable sign updating for certain events:
444444
>
445-
autocmd User SignifyAutocmd autocmd! signify CursorHold,CursorHoldI
445+
autocmd User SignifyAutocmds autocmd! signify CursorHold,CursorHoldI
446446
<
447447
If you don't need immediate feedback or responses from your VCS are slow, then
448448
use this to only update signs when writing the buffer:
449449
>
450-
autocmd User SignifyAutocmd
450+
autocmd User SignifyAutocmds
451451
\ exe 'au! signify' | au signify BufWritePost * call sy#start()
452452
<
453453
==============================================================================

plugin/signify.vim

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,12 +58,19 @@ xnoremap <silent> <plug>(signify-motion-outer-visual) :<c-u>call sy#util#hunk_t
5858
5959
let &cpoptions = s:cpoptions
6060
unlet s:cpoptions
61-
" 1}}}
6261

63-
if !get(g:, 'signify_disable_by_default')
64-
call sy#set_autocmds()
62+
" Autocmds {{{1
63+
if has('gui_running') && has('win32') && argc()
64+
" Fix 'no signs at start' race.
65+
autocmd GUIEnter * redraw
6566
endif
6667

68+
autocmd QuickFixCmdPre *vimgrep* let g:signify_locked = 1
69+
autocmd QuickFixCmdPost *vimgrep* let g:signify_locked = 0
70+
71+
autocmd BufNewFile,BufRead * call sy#set_buflocal_autocmds(expand('<abuf>'))
72+
" 1}}}
73+
6774
if exists('#User#SignifySetup')
6875
doautocmd <nomodeline> User SignifySetup
6976
endif

0 commit comments

Comments
 (0)