Here is the patch containing window_scroll_line_up() and window_scroll_line_down().
Regards, Claudio 2014-09-14 18:31 GMT+02:00 Claudio <smo...@gmail.com>: > Okay, I just noticed that the original behaviour of window_line_*() is > different than the one I thought. It's used by the j and k commands so > I'll need two new ad-hoc routines for ^y and ^e. > > > Regards, > Claudio Alessi > > 2014-09-14 18:25 GMT+02:00 Claudio <smo...@gmail.com>: >> Hi, >> >> thank you for writing vis. I would ask if the attached patch makes >> sense to you. Now window_line_up() and window_line_down() works >> properly and I can add the following key bindings: >> >> { { CONTROL('y') }, cursor, { .m = window_line_up } }, >> { { CONTROL('e') }, cursor, { .m = window_line_down } }, >> >> It works but I'm not sure it's the only (and right) way to do it. >> >> >> Regards, >> Claudio
diff --git a/window.c b/window.c index eb1c8e7..e1bc483 100644 --- a/window.c +++ b/window.c @@ -655,6 +655,18 @@ size_t window_line_down(Win *win) { return window_cursor_update(win); } +size_t window_scroll_line_up(Win *win) { + Cursor *cursor = &win->cursor; + window_scroll_lines_up(win, 1); + return cursor->pos; +} + +size_t window_scroll_line_down(Win *win) { + Cursor *cursor = &win->cursor; + window_scroll_lines_down(win, 1); + return cursor->pos; +} + void window_update(Win *win) { wnoutrefresh(win->win); }