diff options
author | Jan Edmund Lazo <jan.lazo@mail.utoronto.ca> | 2021-05-06 09:00:24 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-05-06 09:00:24 -0400 |
commit | 71107e12c7b68d8faf1bcc1a5794a55b21e146f3 (patch) | |
tree | 57623fc268dbf5d2a919f04aa3d66c78bff78cb4 /src/nvim/normal.c | |
parent | 8a93d1028f38c77d7ad8b4ad0a93dc11a5cbe85d (diff) | |
parent | 296711cfad7bb8d80f2e2c363b3708764156444f (diff) | |
download | rneovim-71107e12c7b68d8faf1bcc1a5794a55b21e146f3.tar.gz rneovim-71107e12c7b68d8faf1bcc1a5794a55b21e146f3.tar.bz2 rneovim-71107e12c7b68d8faf1bcc1a5794a55b21e146f3.zip |
Merge pull request #14499 from janlazo/vim-8.2.2819
vim-patch:8.0.1309,8.2.{1166,2819,2820,2825,2827,2828,2829,2832,2833}
Diffstat (limited to 'src/nvim/normal.c')
-rw-r--r-- | src/nvim/normal.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/nvim/normal.c b/src/nvim/normal.c index c948881eca..2f4c441beb 100644 --- a/src/nvim/normal.c +++ b/src/nvim/normal.c @@ -294,6 +294,7 @@ static const struct nv_cmd { { K_LEFTDRAG, nv_mouse, 0, 0 }, { K_LEFTRELEASE, nv_mouse, 0, 0 }, { K_LEFTRELEASE_NM, nv_mouse, 0, 0 }, + { K_MOUSEMOVE, nv_mouse, 0, 0 }, { K_MIDDLEMOUSE, nv_mouse, 0, 0 }, { K_MIDDLEDRAG, nv_mouse, 0, 0 }, { K_MIDDLERELEASE, nv_mouse, 0, 0 }, @@ -879,8 +880,9 @@ static void normal_finish_command(NormalState *s) s->old_mapped_len = typebuf_maplen(); } - // If an operation is pending, handle it. But not for K_IGNORE. - if (s->ca.cmdchar != K_IGNORE) { + // If an operation is pending, handle it. But not for K_IGNORE or + // K_MOUSEMOVE. + if (s->ca.cmdchar != K_IGNORE && s->ca.cmdchar != K_MOUSEMOVE) { do_pending_operator(&s->ca, s->old_col, false); } @@ -2263,6 +2265,10 @@ do_mouse ( break; } + if (c == K_MOUSEMOVE) { + // Mouse moved without a button pressed. + return false; + } /* * Ignore drag and release events if we didn't get a click. @@ -3390,7 +3396,7 @@ bool add_to_showcmd(int c) static int ignore[] = { K_IGNORE, - K_LEFTMOUSE, K_LEFTDRAG, K_LEFTRELEASE, + K_LEFTMOUSE, K_LEFTDRAG, K_LEFTRELEASE, K_MOUSEMOVE, K_MIDDLEMOUSE, K_MIDDLEDRAG, K_MIDDLERELEASE, K_RIGHTMOUSE, K_RIGHTDRAG, K_RIGHTRELEASE, K_MOUSEDOWN, K_MOUSEUP, K_MOUSELEFT, K_MOUSERIGHT, @@ -7036,6 +7042,7 @@ static void nv_g_cmd(cmdarg_T *cap) case K_LEFTMOUSE: case K_LEFTDRAG: case K_LEFTRELEASE: + case K_MOUSEMOVE: case K_RIGHTMOUSE: case K_RIGHTDRAG: case K_RIGHTRELEASE: |