diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/nvim/auevents.lua | 1 | ||||
-rw-r--r-- | src/nvim/diff.c | 2 | ||||
-rw-r--r-- | src/nvim/testdir/test_diffmode.vim | 6 |
3 files changed, 9 insertions, 0 deletions
diff --git a/src/nvim/auevents.lua b/src/nvim/auevents.lua index a6290aaac1..ab92e84799 100644 --- a/src/nvim/auevents.lua +++ b/src/nvim/auevents.lua @@ -33,6 +33,7 @@ return { 'CursorHoldI', -- idem, in Insert mode 'CursorMoved', -- cursor was moved 'CursorMovedI', -- cursor was moved in Insert mode + 'DiffUpdated', -- diffs have been updated 'DirChanged', -- directory changed 'EncodingChanged', -- after changing the 'encoding' option 'ExitPre', -- before exiting diff --git a/src/nvim/diff.c b/src/nvim/diff.c index bd66b32213..0fb8324546 100644 --- a/src/nvim/diff.c +++ b/src/nvim/diff.c @@ -924,6 +924,8 @@ void ex_diffupdate(exarg_T *eap) curwin->w_valid_cursor.lnum = 0; diff_redraw(true); + + apply_autocmds(EVENT_DIFFUPDATED, NULL, NULL, false, curbuf); } /// diff --git a/src/nvim/testdir/test_diffmode.vim b/src/nvim/testdir/test_diffmode.vim index 645a87848b..6f25179ab1 100644 --- a/src/nvim/testdir/test_diffmode.vim +++ b/src/nvim/testdir/test_diffmode.vim @@ -2,6 +2,9 @@ func Test_diff_fold_sync() enew! + let g:update_count = 0 + au DiffUpdated * let g:update_count += 1 + let l = range(50) call setline(1, l) diffthis @@ -27,6 +30,9 @@ func Test_diff_fold_sync() call win_gotoid(winone) call assert_equal(23, getcurpos()[1]) + call assert_equal(1, g:update_count) + au! DiffUpdated + windo diffoff close! set nomodified |