aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/edit.c
diff options
context:
space:
mode:
authorJay <jaysandhu1993@gmail.com>2022-07-06 12:34:24 +0100
committerGitHub <noreply@github.com>2022-07-06 19:34:24 +0800
commit93c8fe77cbfd3934c7599196e573136f75f6e9af (patch)
treeabbe636e1e8a2bfaf26fa494bf2fc02fe593e688 /src/nvim/edit.c
parent9ced05413474a7c8b8a8b2f36a27db29a37dfaf6 (diff)
downloadrneovim-93c8fe77cbfd3934c7599196e573136f75f6e9af.tar.gz
rneovim-93c8fe77cbfd3934c7599196e573136f75f6e9af.tar.bz2
rneovim-93c8fe77cbfd3934c7599196e573136f75f6e9af.zip
feat: add 'mousescroll' option (#12355)
Add 'mousescroll' option to control how many lines to scroll by when a mouse wheel keycode is received. The mousescroll option controls both horizontal and vertical scrolling. The option is a string in the format: set mousescroll=direction:count,direction:count Where direction is either "ver" or "hor", and count is a non negative integer. If a direction is omitted, a default value is used. The default values remain unchanged, that is 3 for vertical scrolling, and 6 for horizontal scrolling. As such, the mousescroll default is "ver:3,hor:6". Add mousescroll documentation - Add option documentation in options.txt - Add brief summary in quickref.txt Update :help scroll-mouse-wheel - Mention mousescroll option as a means of controlling scrolling. - Remove obsolete suggestion to map scroll wheel keys to <C-U> to scroll by a single line -- users should prefer the mousescroll option. - Add some information about the consequences of remapping scroll wheel keys (they lose their magic ability to affect inactive windows). Update :help vim-differences - Add brief mousescroll summary under Options Add mousescroll tests - Test option validation - Test default mousescroll value and behavior - Test fallback to default values - Test mouse vertical and horizontal scrolling in normal mode - Test mouse vertical and horizontal scrolling in insert mode
Diffstat (limited to 'src/nvim/edit.c')
-rw-r--r--src/nvim/edit.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/src/nvim/edit.c b/src/nvim/edit.c
index 26422f06b1..06f6d7f97b 100644
--- a/src/nvim/edit.c
+++ b/src/nvim/edit.c
@@ -8557,14 +8557,12 @@ static void ins_mousescroll(int dir)
}
// Don't scroll the window in which completion is being done.
- if (!pum_visible()
- || curwin != old_curwin) {
+ if (!pum_visible() || curwin != old_curwin) {
if (dir == MSCR_DOWN || dir == MSCR_UP) {
if (mod_mask & (MOD_MASK_SHIFT | MOD_MASK_CTRL)) {
- scroll_redraw(dir,
- (curwin->w_botline - curwin->w_topline));
+ scroll_redraw(dir, (long)(curwin->w_botline - curwin->w_topline));
} else {
- scroll_redraw(dir, 3L);
+ scroll_redraw(dir, p_mousescroll_vert);
}
} else {
mouse_scroll_horiz(dir);