diff options
Diffstat (limited to 'src/nvim/terminal.c')
-rw-r--r-- | src/nvim/terminal.c | 62 |
1 files changed, 32 insertions, 30 deletions
diff --git a/src/nvim/terminal.c b/src/nvim/terminal.c index 6907529726..d831979022 100644 --- a/src/nvim/terminal.c +++ b/src/nvim/terminal.c @@ -49,6 +49,7 @@ #include "nvim/message.h" #include "nvim/memory.h" #include "nvim/option.h" +#include "nvim/highlight.h" #include "nvim/macros.h" #include "nvim/mbyte.h" #include "nvim/buffer.h" @@ -476,7 +477,7 @@ static int terminal_execute(VimState *state, int key) if (s->got_bsl) { return 0; } - // FALLTHROUGH + FALLTHROUGH; default: if (key == Ctrl_BSL && !s->got_bsl) { @@ -602,7 +603,7 @@ void terminal_get_line_attributes(Terminal *term, win_T *wp, int linenr, int attr_id = 0; if (hl_attrs || vt_fg != -1 || vt_bg != -1) { - attr_id = get_attr_entry(&(HlAttrs) { + attr_id = get_term_attr_entry(&(HlAttrs) { .cterm_ae_attr = (int16_t)hl_attrs, .cterm_fg_color = vt_fg_idx, .cterm_bg_color = vt_bg_idx, @@ -667,6 +668,7 @@ static void buf_set_term_title(buf_T *buf, char *title) false, &err); api_clear_error(&err); + status_redraw_buf(buf); } static int term_settermprop(VTermProp prop, VTermValue *val, void *data) @@ -840,20 +842,20 @@ static VTermKey convert_key(int key, VTermModifier *statep) switch (key) { case K_BS: return VTERM_KEY_BACKSPACE; - case K_S_TAB: // FALLTHROUGH + case K_S_TAB: FALLTHROUGH; case TAB: return VTERM_KEY_TAB; case Ctrl_M: return VTERM_KEY_ENTER; case ESC: return VTERM_KEY_ESCAPE; - case K_S_UP: // FALLTHROUGH + case K_S_UP: FALLTHROUGH; case K_UP: return VTERM_KEY_UP; - case K_S_DOWN: // FALLTHROUGH + case K_S_DOWN: FALLTHROUGH; case K_DOWN: return VTERM_KEY_DOWN; - case K_S_LEFT: // FALLTHROUGH - case K_C_LEFT: // FALLTHROUGH + case K_S_LEFT: FALLTHROUGH; + case K_C_LEFT: FALLTHROUGH; case K_LEFT: return VTERM_KEY_LEFT; - case K_S_RIGHT: // FALLTHROUGH - case K_C_RIGHT: // FALLTHROUGH + case K_S_RIGHT: FALLTHROUGH; + case K_C_RIGHT: FALLTHROUGH; case K_RIGHT: return VTERM_KEY_RIGHT; case K_INS: return VTERM_KEY_INS; @@ -863,22 +865,22 @@ static VTermKey convert_key(int key, VTermModifier *statep) case K_PAGEUP: return VTERM_KEY_PAGEUP; case K_PAGEDOWN: return VTERM_KEY_PAGEDOWN; - case K_K0: // FALLTHROUGH + case K_K0: FALLTHROUGH; case K_KINS: return VTERM_KEY_KP_0; - case K_K1: // FALLTHROUGH + case K_K1: FALLTHROUGH; case K_KEND: return VTERM_KEY_KP_1; case K_K2: return VTERM_KEY_KP_2; - case K_K3: // FALLTHROUGH + case K_K3: FALLTHROUGH; case K_KPAGEDOWN: return VTERM_KEY_KP_3; case K_K4: return VTERM_KEY_KP_4; case K_K5: return VTERM_KEY_KP_5; case K_K6: return VTERM_KEY_KP_6; - case K_K7: // FALLTHROUGH + case K_K7: FALLTHROUGH; case K_KHOME: return VTERM_KEY_KP_7; case K_K8: return VTERM_KEY_KP_8; - case K_K9: // FALLTHROUGH + case K_K9: FALLTHROUGH; case K_KPAGEUP: return VTERM_KEY_KP_9; - case K_KDEL: // FALLTHROUGH + case K_KDEL: FALLTHROUGH; case K_KPOINT: return VTERM_KEY_KP_PERIOD; case K_KENTER: return VTERM_KEY_KP_ENTER; case K_KPLUS: return VTERM_KEY_KP_PLUS; @@ -886,29 +888,29 @@ static VTermKey convert_key(int key, VTermModifier *statep) case K_KMULTIPLY: return VTERM_KEY_KP_MULT; case K_KDIVIDE: return VTERM_KEY_KP_DIVIDE; - case K_S_F1: // FALLTHROUGH + case K_S_F1: FALLTHROUGH; case K_F1: return VTERM_KEY_FUNCTION(1); - case K_S_F2: // FALLTHROUGH + case K_S_F2: FALLTHROUGH; case K_F2: return VTERM_KEY_FUNCTION(2); - case K_S_F3: // FALLTHROUGH + case K_S_F3: FALLTHROUGH; case K_F3: return VTERM_KEY_FUNCTION(3); - case K_S_F4: // FALLTHROUGH + case K_S_F4: FALLTHROUGH; case K_F4: return VTERM_KEY_FUNCTION(4); - case K_S_F5: // FALLTHROUGH + case K_S_F5: FALLTHROUGH; case K_F5: return VTERM_KEY_FUNCTION(5); - case K_S_F6: // FALLTHROUGH + case K_S_F6: FALLTHROUGH; case K_F6: return VTERM_KEY_FUNCTION(6); - case K_S_F7: // FALLTHROUGH + case K_S_F7: FALLTHROUGH; case K_F7: return VTERM_KEY_FUNCTION(7); - case K_S_F8: // FALLTHROUGH + case K_S_F8: FALLTHROUGH; case K_F8: return VTERM_KEY_FUNCTION(8); - case K_S_F9: // FALLTHROUGH + case K_S_F9: FALLTHROUGH; case K_F9: return VTERM_KEY_FUNCTION(9); - case K_S_F10: // FALLTHROUGH + case K_S_F10: FALLTHROUGH; case K_F10: return VTERM_KEY_FUNCTION(10); - case K_S_F11: // FALLTHROUGH + case K_S_F11: FALLTHROUGH; case K_F11: return VTERM_KEY_FUNCTION(11); - case K_S_F12: // FALLTHROUGH + case K_S_F12: FALLTHROUGH; case K_F12: return VTERM_KEY_FUNCTION(12); case K_F13: return VTERM_KEY_FUNCTION(13); @@ -974,11 +976,11 @@ static bool send_mouse_event(Terminal *term, int c) bool drag = false; switch (c) { - case K_LEFTDRAG: drag = true; // FALLTHROUGH + case K_LEFTDRAG: drag = true; FALLTHROUGH; case K_LEFTMOUSE: button = 1; break; - case K_MIDDLEDRAG: drag = true; // FALLTHROUGH + case K_MIDDLEDRAG: drag = true; FALLTHROUGH; case K_MIDDLEMOUSE: button = 2; break; - case K_RIGHTDRAG: drag = true; // FALLTHROUGH + case K_RIGHTDRAG: drag = true; FALLTHROUGH; case K_RIGHTMOUSE: button = 3; break; case K_MOUSEDOWN: button = 4; break; case K_MOUSEUP: button = 5; break; |