diff options
author | Björn Linse <bjorn.linse@gmail.com> | 2014-07-14 13:54:15 +0200 |
---|---|---|
committer | Björn Linse <bjorn.linse@gmail.com> | 2014-11-01 12:04:47 +0100 |
commit | b34705bf5fd807203b9cb07d91755bd09d808d18 (patch) | |
tree | 661c492d0db4a4ab7ad0722bcc3f8f29d94e3968 /src/nvim/move.c | |
parent | 591391b9bc9a28fc1052d6fb22e297bca32555f7 (diff) | |
download | rneovim-b34705bf5fd807203b9cb07d91755bd09d808d18.tar.gz rneovim-b34705bf5fd807203b9cb07d91755bd09d808d18.tar.bz2 rneovim-b34705bf5fd807203b9cb07d91755bd09d808d18.zip |
api/window_set_cursor: make sure cursor line is visible.
Previously, the cursor could be left outside the visible range if window
is not the current window
Diffstat (limited to 'src/nvim/move.c')
-rw-r--r-- | src/nvim/move.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/nvim/move.c b/src/nvim/move.c index 2118f58f7e..c43fa1d09d 100644 --- a/src/nvim/move.c +++ b/src/nvim/move.c @@ -34,6 +34,7 @@ #include "nvim/popupmnu.h" #include "nvim/screen.h" #include "nvim/strings.h" +#include "nvim/window.h" typedef struct { linenr_T lnum; /* line number */ @@ -315,6 +316,17 @@ void update_topline(void) } /* + * Update win->w_topline to move the cursor onto the screen. + */ +void update_topline_win(win_T* win) +{ + win_T *save_curwin; + switch_win(&save_curwin, NULL, win, NULL, true); + update_topline(); + restore_win(save_curwin, NULL, true); +} + +/* * Return the scrolljump value to use for the current window. * When 'scrolljump' is positive use it as-is. * When 'scrolljump' is negative use it as a percentage of the window height. |