From ca50d217dc37d4f408c9d2f4696572e1c698a831 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Andr=C3=A9=20Tanner?= Date: Fri, 11 Mar 2016 10:05:29 +0100 Subject: vis: respect count for and --- main.c | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/main.c b/main.c index 11d55e4..87ae64f 100644 --- a/main.c +++ b/main.c @@ -1320,19 +1320,22 @@ static const char *cursors_navigate(Vis *vis, const char *keys, const Arg *arg) if (!view_cursors_multiple(view)) return wscroll(vis, keys, arg); Cursor *c = view_cursors_primary_get(view); - if (arg->i < 0) { - c = view_cursors_next(c); - if (!c) - c = view_cursors(view); - } else { - c = view_cursors_prev(c); - if (!c) { - c = view_cursors(view); - for (Cursor *n = c; n; n = view_cursors_next(n)) - c = n; + for (int count = vis_count_get_default(vis, 1); count > 0; count--) { + if (arg->i < 0) { + c = view_cursors_next(c); + if (!c) + c = view_cursors(view); + } else { + c = view_cursors_prev(c); + if (!c) { + c = view_cursors(view); + for (Cursor *n = c; n; n = view_cursors_next(n)) + c = n; + } } } view_cursors_primary_set(c); + vis_count_set(vis, VIS_COUNT_UNKNOWN); return keys; } -- cgit v1.2.3