diff options
author | Rom Grk <romgrk.cc@gmail.com> | 2020-10-28 03:59:26 -0400 |
---|---|---|
committer | Rom Grk <romgrk.cc@gmail.com> | 2020-10-28 03:59:26 -0400 |
commit | bc21843228ce255bee8108a78c3c509743c8fe0c (patch) | |
tree | f94bf9a807eddcec037bb78118ee51585204e0b6 /src/nvim/window.c | |
parent | d2a38dab8085ddb973393ca7f077ff65d64f60ef (diff) | |
download | rneovim-bc21843228ce255bee8108a78c3c509743c8fe0c.tar.gz rneovim-bc21843228ce255bee8108a78c3c509743c8fe0c.tar.bz2 rneovim-bc21843228ce255bee8108a78c3c509743c8fe0c.zip |
feat: implement a working WinScrolled autocmd
Diffstat (limited to 'src/nvim/window.c')
-rw-r--r-- | src/nvim/window.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/nvim/window.c b/src/nvim/window.c index 4931221e7a..bbc039d151 100644 --- a/src/nvim/window.c +++ b/src/nvim/window.c @@ -4966,6 +4966,30 @@ void shell_new_columns(void) } /* + * Check if "wp" has scrolled since last time it was checked + */ +bool win_did_scroll(win_T *wp) +{ + return (curwin->w_last_topline != curwin->w_topline || + curwin->w_last_leftcol != curwin->w_leftcol || + curwin->w_last_width != curwin->w_width || + curwin->w_last_height != curwin->w_height); +} + +/* + * Trigger WinScrolled autocmd + */ +void do_autocmd_winscrolled(win_T *wp) +{ + apply_autocmds(EVENT_WINSCROLLED, NULL, NULL, false, curbuf); + + wp->w_last_topline = wp->w_topline; + wp->w_last_leftcol = wp->w_leftcol; + wp->w_last_width = wp->w_width; + wp->w_last_height = wp->w_height; +} + +/* * Save the size of all windows in "gap". */ void win_size_save(garray_T *gap) |