diff options
author | Anatolii Sakhnik <sakhnik@gmail.com> | 2018-12-09 19:26:12 +0200 |
---|---|---|
committer | Anatolii Sakhnik <sakhnik@gmail.com> | 2018-12-09 19:45:56 +0200 |
commit | 2c92a4d0c8a398c8a7dfd1666fdcfd2ab89cc887 (patch) | |
tree | c5f56dcfd5e4a4f7fa383da90b0e3c9e6dac5c64 /src | |
parent | b7f2c7dd1d2a5753962c9276df3db8bc5d358b3e (diff) | |
download | rneovim-2c92a4d0c8a398c8a7dfd1666fdcfd2ab89cc887.tar.gz rneovim-2c92a4d0c8a398c8a7dfd1666fdcfd2ab89cc887.tar.bz2 rneovim-2c92a4d0c8a398c8a7dfd1666fdcfd2ab89cc887.zip |
vim-patch:8.1.0397: no event triggered after updating diffs
Problem: No event triggered after updating diffs.
Solution: Add the DiffUpdated event.
https://github.com/vim/vim/commit/e8fa05b5bc2d6d76bf5af50176a63655d00d1110
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 |