aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--vis.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/vis.c b/vis.c
index 6ef4964..f495f6d 100644
--- a/vis.c
+++ b/vis.c
@@ -1658,6 +1658,16 @@ static Filepos parse_pos(char **cmd) {
}
text_regex_free(regex);
break;
+ case '+':
+ case '-':
+ {
+ CursorPos curspos = window_cursor_getpos(win);
+ long long line = curspos.line + strtoll(*cmd, cmd, 10);
+ if (line < 0)
+ line = 0;
+ pos = text_pos_by_lineno(txt, line);
+ break;
+ }
default:
if ('0' <= **cmd && **cmd <= '9')
pos = text_pos_by_lineno(txt, strtoul(*cmd, cmd, 10));