mirror of
https://github.com/neovim/neovim.git
synced 2025-09-17 00:38:17 +00:00
vim-patch:8.1.0397: no event triggered after updating diffs
Problem: No event triggered after updating diffs.
Solution: Add the DiffUpdated event.
e8fa05b5bc
This commit is contained in:
@@ -628,6 +628,11 @@ CursorMoved After the cursor was moved in Normal or Visual
|
|||||||
CursorMovedI After the cursor was moved in Insert mode.
|
CursorMovedI After the cursor was moved in Insert mode.
|
||||||
Not triggered when the popup menu is visible.
|
Not triggered when the popup menu is visible.
|
||||||
Otherwise the same as CursorMoved.
|
Otherwise the same as CursorMoved.
|
||||||
|
*DiffUpdated*
|
||||||
|
DiffUpdated After diffs have been updated. Depending on
|
||||||
|
what kind of diff is being used (internal or
|
||||||
|
external) this can be triggered on every
|
||||||
|
change or when doing |:diffupdate|.
|
||||||
*DirChanged*
|
*DirChanged*
|
||||||
DirChanged After the |current-directory| was changed.
|
DirChanged After the |current-directory| was changed.
|
||||||
Sets these |v:event| keys:
|
Sets these |v:event| keys:
|
||||||
|
@@ -33,6 +33,7 @@ return {
|
|||||||
'CursorHoldI', -- idem, in Insert mode
|
'CursorHoldI', -- idem, in Insert mode
|
||||||
'CursorMoved', -- cursor was moved
|
'CursorMoved', -- cursor was moved
|
||||||
'CursorMovedI', -- cursor was moved in Insert mode
|
'CursorMovedI', -- cursor was moved in Insert mode
|
||||||
|
'DiffUpdated', -- diffs have been updated
|
||||||
'DirChanged', -- directory changed
|
'DirChanged', -- directory changed
|
||||||
'EncodingChanged', -- after changing the 'encoding' option
|
'EncodingChanged', -- after changing the 'encoding' option
|
||||||
'ExitPre', -- before exiting
|
'ExitPre', -- before exiting
|
||||||
|
@@ -924,6 +924,8 @@ void ex_diffupdate(exarg_T *eap)
|
|||||||
curwin->w_valid_cursor.lnum = 0;
|
curwin->w_valid_cursor.lnum = 0;
|
||||||
|
|
||||||
diff_redraw(true);
|
diff_redraw(true);
|
||||||
|
|
||||||
|
apply_autocmds(EVENT_DIFFUPDATED, NULL, NULL, false, curbuf);
|
||||||
}
|
}
|
||||||
|
|
||||||
///
|
///
|
||||||
|
@@ -2,6 +2,9 @@
|
|||||||
|
|
||||||
func Test_diff_fold_sync()
|
func Test_diff_fold_sync()
|
||||||
enew!
|
enew!
|
||||||
|
let g:update_count = 0
|
||||||
|
au DiffUpdated * let g:update_count += 1
|
||||||
|
|
||||||
let l = range(50)
|
let l = range(50)
|
||||||
call setline(1, l)
|
call setline(1, l)
|
||||||
diffthis
|
diffthis
|
||||||
@@ -27,6 +30,9 @@ func Test_diff_fold_sync()
|
|||||||
call win_gotoid(winone)
|
call win_gotoid(winone)
|
||||||
call assert_equal(23, getcurpos()[1])
|
call assert_equal(23, getcurpos()[1])
|
||||||
|
|
||||||
|
call assert_equal(1, g:update_count)
|
||||||
|
au! DiffUpdated
|
||||||
|
|
||||||
windo diffoff
|
windo diffoff
|
||||||
close!
|
close!
|
||||||
set nomodified
|
set nomodified
|
||||||
|
Reference in New Issue
Block a user