diff options
Diffstat (limited to 'src/nvim/terminal.c')
-rw-r--r-- | src/nvim/terminal.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/nvim/terminal.c b/src/nvim/terminal.c index 913ef3baed..c07a956dde 100644 --- a/src/nvim/terminal.c +++ b/src/nvim/terminal.c @@ -450,6 +450,7 @@ static int terminal_execute(VimState *state, int key) case K_LEFTMOUSE: case K_LEFTDRAG: case K_LEFTRELEASE: + case K_MOUSEMOVE: case K_MIDDLEMOUSE: case K_MIDDLEDRAG: case K_MIDDLERELEASE: @@ -580,6 +581,9 @@ static bool is_filter_char(int c) void terminal_paste(long count, char_u **y_array, size_t y_size) { + if (y_size == 0) { + return; + } vterm_keyboard_start_paste(curbuf->terminal->vt); terminal_flush_output(curbuf->terminal); size_t buff_len = STRLEN(y_array[0]); @@ -1095,6 +1099,7 @@ static bool send_mouse_event(Terminal *term, int c) switch (c) { case K_LEFTDRAG: drag = true; FALLTHROUGH; case K_LEFTMOUSE: button = 1; break; + case K_MOUSEMOVE: drag = true; button = 0; break; case K_MIDDLEDRAG: drag = true; FALLTHROUGH; case K_MIDDLEMOUSE: button = 2; break; case K_RIGHTDRAG: drag = true; FALLTHROUGH; |