refactor: format with uncrustify #15842

* refactor: format with uncrustify
* refactor: convert function comments to doxygen
This commit is contained in:
dundargoc
2021-10-02 16:59:41 +02:00
committed by GitHub
parent 898f91f0f3
commit 9c268263b1
8 changed files with 1163 additions and 982 deletions

View File

@@ -421,11 +421,11 @@ int decor_virtual_lines(win_T *wp, linenr_T lnum)
return 0; return 0;
} }
if (buf->b_virt_line_pos < 0) { if (buf->b_virt_line_pos < 0) {
mtpos_t pos = marktree_lookup(buf->b_marktree, buf->b_virt_line_mark, NULL); mtpos_t pos = marktree_lookup(buf->b_marktree, buf->b_virt_line_mark, NULL);
if (pos.row < 0) { if (pos.row < 0) {
buf->b_virt_line_mark = 0; buf->b_virt_line_mark = 0;
} }
buf->b_virt_line_pos = pos.row + (buf->b_virt_line_above ? 0 : 1); buf->b_virt_line_pos = pos.row + (buf->b_virt_line_above ? 0 : 1);
} }
return (lnum-1 == buf->b_virt_line_pos) ? (int)kv_size(buf->b_virt_lines) : 0; return (lnum-1 == buf->b_virt_line_pos) ? (int)kv_size(buf->b_virt_lines) : 0;

File diff suppressed because it is too large Load Diff

View File

@@ -5,6 +5,7 @@
#include <lua.h> #include <lua.h>
#include <lualib.h> #include <lualib.h>
#include "cjson/lua_cjson.h"
#include "luv/luv.h" #include "luv/luv.h"
#include "mpack/lmpack.h" #include "mpack/lmpack.h"
#include "nvim/api/private/defs.h" #include "nvim/api/private/defs.h"
@@ -40,7 +41,6 @@
#include "nvim/undo.h" #include "nvim/undo.h"
#include "nvim/version.h" #include "nvim/version.h"
#include "nvim/vim.h" #include "nvim/vim.h"
#include "cjson/lua_cjson.h"
static int in_fast_callback = 0; static int in_fast_callback = 0;

View File

@@ -5,8 +5,8 @@
/// ///
/// Management of runtime files (including packages) /// Management of runtime files (including packages)
#include "nvim/ascii.h"
#include "nvim/api/private/helpers.h" #include "nvim/api/private/helpers.h"
#include "nvim/ascii.h"
#include "nvim/charset.h" #include "nvim/charset.h"
#include "nvim/eval.h" #include "nvim/eval.h"
#include "nvim/ex_cmds.h" #include "nvim/ex_cmds.h"
@@ -169,9 +169,9 @@ int do_in_path(char_u *path, char_u *name, int flags, DoInRuntimepathCB callback
int do_in_cached_path(char_u *name, int flags, DoInRuntimepathCB callback, void *cookie) int do_in_cached_path(char_u *name, int flags, DoInRuntimepathCB callback, void *cookie)
{ {
runtime_search_path_validate(); runtime_search_path_validate();
char_u *tail; char_u *tail;
int num_files; int num_files;
char_u **files; char_u **files;
int i; int i;
bool did_one = false; bool did_one = false;
@@ -452,11 +452,11 @@ void runtime_search_path_invalidate(void)
void runtime_search_path_free(RuntimeSearchPath path) void runtime_search_path_free(RuntimeSearchPath path)
{ {
for (size_t j = 0; j < kv_size(path); j++) { for (size_t j = 0; j < kv_size(path); j++) {
SearchPathItem item = kv_A(path, j); SearchPathItem item = kv_A(path, j);
xfree(item.path); xfree(item.path);
} }
kv_destroy(path); kv_destroy(path);
} }
void runtime_search_path_validate(void) void runtime_search_path_validate(void)

View File

@@ -4545,8 +4545,8 @@ void draw_virt_text(buf_T *buf, int col_off, int *end_col, int max_col)
} }
} }
static int draw_virt_text_item(buf_T *buf, int col, VirtText vt, HlMode hl_mode, static int draw_virt_text_item(buf_T *buf, int col, VirtText vt, HlMode hl_mode, int max_col,
int max_col, int vcol) int vcol)
{ {
LineState s = LINE_STATE(""); LineState s = LINE_STATE("");
int virt_attr = 0; int virt_attr = 0;

File diff suppressed because it is too large Load Diff

View File

@@ -37,45 +37,44 @@
// Some code from pangoterm http://www.leonerd.org.uk/code/pangoterm // Some code from pangoterm http://www.leonerd.org.uk/code/pangoterm
#include <assert.h> #include <assert.h>
#include <stdio.h>
#include <stdint.h>
#include <stdbool.h> #include <stdbool.h>
#include <stdint.h>
#include <stdio.h>
#include <vterm.h> #include <vterm.h>
#include "nvim/log.h" #include "nvim/api/private/helpers.h"
#include "nvim/vim.h" #include "nvim/ascii.h"
#include "nvim/terminal.h"
#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" #include "nvim/buffer.h"
#include "nvim/change.h" #include "nvim/change.h"
#include "nvim/ascii.h"
#include "nvim/getchar.h"
#include "nvim/ui.h"
#include "nvim/syntax.h"
#include "nvim/screen.h"
#include "nvim/keymap.h"
#include "nvim/edit.h" #include "nvim/edit.h"
#include "nvim/mouse.h"
#include "nvim/memline.h"
#include "nvim/map.h"
#include "nvim/misc1.h"
#include "nvim/move.h"
#include "nvim/main.h"
#include "nvim/state.h"
#include "nvim/ex_docmd.h"
#include "nvim/ex_cmds.h"
#include "nvim/window.h"
#include "nvim/fileio.h"
#include "nvim/event/loop.h" #include "nvim/event/loop.h"
#include "nvim/event/time.h" #include "nvim/event/time.h"
#include "nvim/ex_cmds.h"
#include "nvim/ex_docmd.h"
#include "nvim/fileio.h"
#include "nvim/getchar.h"
#include "nvim/highlight.h"
#include "nvim/keymap.h"
#include "nvim/log.h"
#include "nvim/macros.h"
#include "nvim/main.h"
#include "nvim/map.h"
#include "nvim/mbyte.h"
#include "nvim/memline.h"
#include "nvim/memory.h"
#include "nvim/message.h"
#include "nvim/misc1.h"
#include "nvim/mouse.h"
#include "nvim/move.h"
#include "nvim/option.h"
#include "nvim/os/input.h" #include "nvim/os/input.h"
#include "nvim/api/private/helpers.h" #include "nvim/screen.h"
#include "nvim/state.h"
#include "nvim/syntax.h"
#include "nvim/terminal.h"
#include "nvim/ui.h"
#include "nvim/vim.h"
#include "nvim/window.h"
typedef struct terminal_state { typedef struct terminal_state {
VimState state; VimState state;
@@ -210,7 +209,7 @@ Terminal *terminal_open(buf_T *buf, TerminalOptions opts)
buf->b_p_ma = false; // 'nomodifiable' buf->b_p_ma = false; // 'nomodifiable'
buf->b_p_ul = -1; // 'undolevels' buf->b_p_ul = -1; // 'undolevels'
buf->b_p_scbk = // 'scrollback' (initialize local from global) buf->b_p_scbk = // 'scrollback' (initialize local from global)
(p_scbk < 0) ? 10000 : MAX(1, p_scbk); (p_scbk < 0) ? 10000 : MAX(1, p_scbk);
buf->b_p_tw = 0; // 'textwidth' buf->b_p_tw = 0; // 'textwidth'
set_option_value("wrap", false, NULL, OPT_LOCAL); set_option_value("wrap", false, NULL, OPT_LOCAL);
set_option_value("list", false, NULL, OPT_LOCAL); set_option_value("list", false, NULL, OPT_LOCAL);
@@ -452,56 +451,56 @@ static int terminal_execute(VimState *state, int key)
TerminalState *s = (TerminalState *)state; TerminalState *s = (TerminalState *)state;
switch (key) { switch (key) {
case K_LEFTMOUSE: case K_LEFTMOUSE:
case K_LEFTDRAG: case K_LEFTDRAG:
case K_LEFTRELEASE: case K_LEFTRELEASE:
case K_MOUSEMOVE: case K_MOUSEMOVE:
case K_MIDDLEMOUSE: case K_MIDDLEMOUSE:
case K_MIDDLEDRAG: case K_MIDDLEDRAG:
case K_MIDDLERELEASE: case K_MIDDLERELEASE:
case K_RIGHTMOUSE: case K_RIGHTMOUSE:
case K_RIGHTDRAG: case K_RIGHTDRAG:
case K_RIGHTRELEASE: case K_RIGHTRELEASE:
case K_MOUSEDOWN: case K_MOUSEDOWN:
case K_MOUSEUP: case K_MOUSEUP:
if (send_mouse_event(s->term, key)) { if (send_mouse_event(s->term, key)) {
return 0; return 0;
} }
break;
case K_EVENT:
// We cannot let an event free the terminal yet. It is still needed.
s->term->refcount++;
state_handle_k_event();
s->term->refcount--;
if (s->term->buf_handle == 0) {
s->close = true;
return 0;
}
break;
case K_COMMAND:
do_cmdline(NULL, getcmdkeycmd, NULL, 0);
break;
case Ctrl_N:
if (s->got_bsl) {
return 0;
}
FALLTHROUGH;
default:
if (key == Ctrl_BSL && !s->got_bsl) {
s->got_bsl = true;
break; break;
}
if (s->term->closed) {
s->close = true;
return 0;
}
case K_EVENT: s->got_bsl = false;
// We cannot let an event free the terminal yet. It is still needed. terminal_send_key(s->term, key);
s->term->refcount++;
state_handle_k_event();
s->term->refcount--;
if (s->term->buf_handle == 0) {
s->close = true;
return 0;
}
break;
case K_COMMAND:
do_cmdline(NULL, getcmdkeycmd, NULL, 0);
break;
case Ctrl_N:
if (s->got_bsl) {
return 0;
}
FALLTHROUGH;
default:
if (key == Ctrl_BSL && !s->got_bsl) {
s->got_bsl = true;
break;
}
if (s->term->closed) {
s->close = true;
return 0;
}
s->got_bsl = false;
terminal_send_key(s->term, key);
} }
if (curbuf->terminal == NULL) { if (curbuf->terminal == NULL) {
@@ -554,30 +553,30 @@ static bool is_filter_char(int c)
{ {
unsigned int flag = 0; unsigned int flag = 0;
switch (c) { switch (c) {
case 0x08: case 0x08:
flag = TPF_BS; flag = TPF_BS;
break; break;
case 0x09: case 0x09:
flag = TPF_HT; flag = TPF_HT;
break; break;
case 0x0A: case 0x0A:
case 0x0D: case 0x0D:
break; break;
case 0x0C: case 0x0C:
flag = TPF_FF; flag = TPF_FF;
break; break;
case 0x1b: case 0x1b:
flag = TPF_ESC; flag = TPF_ESC;
break; break;
case 0x7F: case 0x7F:
flag = TPF_DEL; flag = TPF_DEL;
break; break;
default: default:
if (c < ' ') { if (c < ' ') {
flag = TPF_C0; flag = TPF_C0;
} else if (c >= 0x80 && c <= 0x9F) { } else if (c >= 0x80 && c <= 0x9F) {
flag = TPF_C1; flag = TPF_C1;
} }
} }
return !!(tpf_flags & flag); return !!(tpf_flags & flag);
} }
@@ -666,8 +665,7 @@ static int get_rgb(VTermState *state, VTermColor color)
} }
void terminal_get_line_attributes(Terminal *term, win_T *wp, int linenr, void terminal_get_line_attributes(Terminal *term, win_T *wp, int linenr, int *term_attrs)
int *term_attrs)
{ {
int height, width; int height, width;
vterm_get_size(term->vt, &height, &width); vterm_get_size(term->vt, &height, &width);
@@ -701,12 +699,12 @@ void terminal_get_line_attributes(Terminal *term, win_T *wp, int linenr,
bool bg_set = vt_bg_idx && vt_bg_idx <= 16 && term->color_set[vt_bg_idx-1]; bool bg_set = vt_bg_idx && vt_bg_idx <= 16 && term->color_set[vt_bg_idx-1];
int hl_attrs = (cell.attrs.bold ? HL_BOLD : 0) int hl_attrs = (cell.attrs.bold ? HL_BOLD : 0)
| (cell.attrs.italic ? HL_ITALIC : 0) | (cell.attrs.italic ? HL_ITALIC : 0)
| (cell.attrs.reverse ? HL_INVERSE : 0) | (cell.attrs.reverse ? HL_INVERSE : 0)
| (cell.attrs.underline ? HL_UNDERLINE : 0) | (cell.attrs.underline ? HL_UNDERLINE : 0)
| (cell.attrs.strike ? HL_STRIKETHROUGH: 0) | (cell.attrs.strike ? HL_STRIKETHROUGH: 0)
| ((fg_indexed && !fg_set) ? HL_FG_INDEXED : 0) | ((fg_indexed && !fg_set) ? HL_FG_INDEXED : 0)
| ((bg_indexed && !bg_set) ? HL_BG_INDEXED : 0); | ((bg_indexed && !bg_set) ? HL_BG_INDEXED : 0);
int attr_id = 0; int attr_id = 0;
@@ -757,12 +755,11 @@ static int term_damage(VTermRect rect, void *data)
static int term_moverect(VTermRect dest, VTermRect src, void *data) static int term_moverect(VTermRect dest, VTermRect src, void *data)
{ {
invalidate_terminal(data, MIN(dest.start_row, src.start_row), invalidate_terminal(data, MIN(dest.start_row, src.start_row),
MAX(dest.end_row, src.end_row)); MAX(dest.end_row, src.end_row));
return 1; return 1;
} }
static int term_movecursor(VTermPos new, VTermPos old, int visible, static int term_movecursor(VTermPos new, VTermPos old, int visible, void *data)
void *data)
{ {
Terminal *term = data; Terminal *term = data;
term->cursor.row = new.row; term->cursor.row = new.row;
@@ -791,26 +788,26 @@ static int term_settermprop(VTermProp prop, VTermValue *val, void *data)
Terminal *term = data; Terminal *term = data;
switch (prop) { switch (prop) {
case VTERM_PROP_ALTSCREEN: case VTERM_PROP_ALTSCREEN:
break; break;
case VTERM_PROP_CURSORVISIBLE: case VTERM_PROP_CURSORVISIBLE:
term->cursor.visible = val->boolean; term->cursor.visible = val->boolean;
invalidate_terminal(term, term->cursor.row, term->cursor.row + 1); invalidate_terminal(term, term->cursor.row, term->cursor.row + 1);
break; break;
case VTERM_PROP_TITLE: { case VTERM_PROP_TITLE: {
buf_T *buf = handle_get_buffer(term->buf_handle); buf_T *buf = handle_get_buffer(term->buf_handle);
buf_set_term_title(buf, val->string); buf_set_term_title(buf, val->string);
break; break;
} }
case VTERM_PROP_MOUSE: case VTERM_PROP_MOUSE:
term->forward_mouse = (bool)val->number; term->forward_mouse = (bool)val->number;
break; break;
default: default:
return 0; return 0;
} }
return 1; return 1;
@@ -844,12 +841,11 @@ static int term_sb_push(int cols, const VTermScreenCell *cells, void *data)
// Make room at the start by shifting to the right. // Make room at the start by shifting to the right.
memmove(term->sb_buffer + 1, term->sb_buffer, memmove(term->sb_buffer + 1, term->sb_buffer,
sizeof(term->sb_buffer[0]) * (term->sb_current - 1)); sizeof(term->sb_buffer[0]) * (term->sb_current - 1));
} else if (term->sb_current > 0) { } else if (term->sb_current > 0) {
// Make room at the start by shifting to the right. // Make room at the start by shifting to the right.
memmove(term->sb_buffer + 1, term->sb_buffer, memmove(term->sb_buffer + 1, term->sb_buffer,
sizeof(term->sb_buffer[0]) * term->sb_current); sizeof(term->sb_buffer[0]) * term->sb_current);
} }
if (!sbrow) { if (!sbrow) {
@@ -894,7 +890,7 @@ static int term_sb_pop(int cols, VTermScreenCell *cells, void *data)
term->sb_current--; term->sb_current--;
// Forget the "popped" row by shifting the rest onto it. // Forget the "popped" row by shifting the rest onto it.
memmove(term->sb_buffer, term->sb_buffer + 1, memmove(term->sb_buffer, term->sb_buffer + 1,
sizeof(term->sb_buffer[0]) * (term->sb_current)); sizeof(term->sb_buffer[0]) * (term->sb_current));
size_t cols_to_copy = (size_t)cols; size_t cols_to_copy = (size_t)cols;
if (cols_to_copy > sbrow->cols) { if (cols_to_copy > sbrow->cols) {
@@ -919,35 +915,41 @@ static int term_sb_pop(int cols, VTermScreenCell *cells, void *data)
static void convert_modifiers(int key, VTermModifier *statep) static void convert_modifiers(int key, VTermModifier *statep)
{ {
if (mod_mask & MOD_MASK_SHIFT) { *statep |= VTERM_MOD_SHIFT; } if (mod_mask & MOD_MASK_SHIFT) {
if (mod_mask & MOD_MASK_CTRL) { *statep |= VTERM_MOD_CTRL; } *statep |= VTERM_MOD_SHIFT;
if (mod_mask & MOD_MASK_ALT) { *statep |= VTERM_MOD_ALT; } }
if (mod_mask & MOD_MASK_CTRL) {
*statep |= VTERM_MOD_CTRL;
}
if (mod_mask & MOD_MASK_ALT) {
*statep |= VTERM_MOD_ALT;
}
switch (key) { switch (key) {
case K_S_TAB: case K_S_TAB:
case K_S_UP: case K_S_UP:
case K_S_DOWN: case K_S_DOWN:
case K_S_LEFT: case K_S_LEFT:
case K_S_RIGHT: case K_S_RIGHT:
case K_S_F1: case K_S_F1:
case K_S_F2: case K_S_F2:
case K_S_F3: case K_S_F3:
case K_S_F4: case K_S_F4:
case K_S_F5: case K_S_F5:
case K_S_F6: case K_S_F6:
case K_S_F7: case K_S_F7:
case K_S_F8: case K_S_F8:
case K_S_F9: case K_S_F9:
case K_S_F10: case K_S_F10:
case K_S_F11: case K_S_F11:
case K_S_F12: case K_S_F12:
*statep |= VTERM_MOD_SHIFT; *statep |= VTERM_MOD_SHIFT;
break; break;
case K_C_LEFT: case K_C_LEFT:
case K_C_RIGHT: case K_C_RIGHT:
*statep |= VTERM_MOD_CTRL; *statep |= VTERM_MOD_CTRL;
break; break;
} }
} }
@@ -956,115 +958,212 @@ static VTermKey convert_key(int key, VTermModifier *statep)
convert_modifiers(key, statep); convert_modifiers(key, statep);
switch (key) { switch (key) {
case K_BS: return VTERM_KEY_BACKSPACE; case K_BS:
case K_S_TAB: FALLTHROUGH; return VTERM_KEY_BACKSPACE;
case TAB: return VTERM_KEY_TAB; case K_S_TAB:
case Ctrl_M: return VTERM_KEY_ENTER; FALLTHROUGH;
case ESC: return VTERM_KEY_ESCAPE; 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:
case K_UP: return VTERM_KEY_UP; FALLTHROUGH;
case K_S_DOWN: FALLTHROUGH; case K_UP:
case K_DOWN: return VTERM_KEY_DOWN; return VTERM_KEY_UP;
case K_S_LEFT: FALLTHROUGH; case K_S_DOWN:
case K_C_LEFT: FALLTHROUGH; FALLTHROUGH;
case K_LEFT: return VTERM_KEY_LEFT; case K_DOWN:
case K_S_RIGHT: FALLTHROUGH; return VTERM_KEY_DOWN;
case K_C_RIGHT: FALLTHROUGH; case K_S_LEFT:
case K_RIGHT: return VTERM_KEY_RIGHT; 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_RIGHT:
return VTERM_KEY_RIGHT;
case K_INS: return VTERM_KEY_INS; case K_INS:
case K_DEL: return VTERM_KEY_DEL; return VTERM_KEY_INS;
case K_HOME: return VTERM_KEY_HOME; case K_DEL:
case K_END: return VTERM_KEY_END; return VTERM_KEY_DEL;
case K_PAGEUP: return VTERM_KEY_PAGEUP; case K_HOME:
case K_PAGEDOWN: return VTERM_KEY_PAGEDOWN; return VTERM_KEY_HOME;
case K_END:
return VTERM_KEY_END;
case K_PAGEUP:
return VTERM_KEY_PAGEUP;
case K_PAGEDOWN:
return VTERM_KEY_PAGEDOWN;
case K_K0: FALLTHROUGH; case K_K0:
case K_KINS: return VTERM_KEY_KP_0; FALLTHROUGH;
case K_K1: FALLTHROUGH; case K_KINS:
case K_KEND: return VTERM_KEY_KP_1; return VTERM_KEY_KP_0;
case K_K2: FALLTHROUGH; case K_K1:
case K_KDOWN: return VTERM_KEY_KP_2; FALLTHROUGH;
case K_K3: FALLTHROUGH; case K_KEND:
case K_KPAGEDOWN: return VTERM_KEY_KP_3; return VTERM_KEY_KP_1;
case K_K4: FALLTHROUGH; case K_K2:
case K_KLEFT: return VTERM_KEY_KP_4; FALLTHROUGH;
case K_K5: FALLTHROUGH; case K_KDOWN:
case K_KORIGIN: return VTERM_KEY_KP_5; return VTERM_KEY_KP_2;
case K_K6: FALLTHROUGH; case K_K3:
case K_KRIGHT: return VTERM_KEY_KP_6; FALLTHROUGH;
case K_K7: FALLTHROUGH; case K_KPAGEDOWN:
case K_KHOME: return VTERM_KEY_KP_7; return VTERM_KEY_KP_3;
case K_K8: FALLTHROUGH; case K_K4:
case K_KUP: return VTERM_KEY_KP_8; FALLTHROUGH;
case K_K9: FALLTHROUGH; case K_KLEFT:
case K_KPAGEUP: return VTERM_KEY_KP_9; return VTERM_KEY_KP_4;
case K_KDEL: FALLTHROUGH; case K_K5:
case K_KPOINT: return VTERM_KEY_KP_PERIOD; FALLTHROUGH;
case K_KENTER: return VTERM_KEY_KP_ENTER; case K_KORIGIN:
case K_KPLUS: return VTERM_KEY_KP_PLUS; return VTERM_KEY_KP_5;
case K_KMINUS: return VTERM_KEY_KP_MINUS; case K_K6:
case K_KMULTIPLY: return VTERM_KEY_KP_MULT; FALLTHROUGH;
case K_KDIVIDE: return VTERM_KEY_KP_DIVIDE; case K_KRIGHT:
return VTERM_KEY_KP_6;
case K_K7:
FALLTHROUGH;
case K_KHOME:
return VTERM_KEY_KP_7;
case K_K8:
FALLTHROUGH;
case K_KUP:
return VTERM_KEY_KP_8;
case K_K9:
FALLTHROUGH;
case K_KPAGEUP:
return VTERM_KEY_KP_9;
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;
case K_KMINUS:
return VTERM_KEY_KP_MINUS;
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:
case K_F1: return VTERM_KEY_FUNCTION(1); FALLTHROUGH;
case K_S_F2: FALLTHROUGH; case K_F1:
case K_F2: return VTERM_KEY_FUNCTION(2); return VTERM_KEY_FUNCTION(1);
case K_S_F3: FALLTHROUGH; case K_S_F2:
case K_F3: return VTERM_KEY_FUNCTION(3); FALLTHROUGH;
case K_S_F4: FALLTHROUGH; case K_F2:
case K_F4: return VTERM_KEY_FUNCTION(4); return VTERM_KEY_FUNCTION(2);
case K_S_F5: FALLTHROUGH; case K_S_F3:
case K_F5: return VTERM_KEY_FUNCTION(5); FALLTHROUGH;
case K_S_F6: FALLTHROUGH; case K_F3:
case K_F6: return VTERM_KEY_FUNCTION(6); return VTERM_KEY_FUNCTION(3);
case K_S_F7: FALLTHROUGH; case K_S_F4:
case K_F7: return VTERM_KEY_FUNCTION(7); FALLTHROUGH;
case K_S_F8: FALLTHROUGH; case K_F4:
case K_F8: return VTERM_KEY_FUNCTION(8); return VTERM_KEY_FUNCTION(4);
case K_S_F9: FALLTHROUGH; case K_S_F5:
case K_F9: return VTERM_KEY_FUNCTION(9); FALLTHROUGH;
case K_S_F10: FALLTHROUGH; case K_F5:
case K_F10: return VTERM_KEY_FUNCTION(10); return VTERM_KEY_FUNCTION(5);
case K_S_F11: FALLTHROUGH; case K_S_F6:
case K_F11: return VTERM_KEY_FUNCTION(11); FALLTHROUGH;
case K_S_F12: FALLTHROUGH; case K_F6:
case K_F12: return VTERM_KEY_FUNCTION(12); return VTERM_KEY_FUNCTION(6);
case K_S_F7:
FALLTHROUGH;
case K_F7:
return VTERM_KEY_FUNCTION(7);
case K_S_F8:
FALLTHROUGH;
case K_F8:
return VTERM_KEY_FUNCTION(8);
case K_S_F9:
FALLTHROUGH;
case K_F9:
return VTERM_KEY_FUNCTION(9);
case K_S_F10:
FALLTHROUGH;
case K_F10:
return VTERM_KEY_FUNCTION(10);
case K_S_F11:
FALLTHROUGH;
case K_F11:
return VTERM_KEY_FUNCTION(11);
case K_S_F12:
FALLTHROUGH;
case K_F12:
return VTERM_KEY_FUNCTION(12);
case K_F13: return VTERM_KEY_FUNCTION(13); case K_F13:
case K_F14: return VTERM_KEY_FUNCTION(14); return VTERM_KEY_FUNCTION(13);
case K_F15: return VTERM_KEY_FUNCTION(15); case K_F14:
case K_F16: return VTERM_KEY_FUNCTION(16); return VTERM_KEY_FUNCTION(14);
case K_F17: return VTERM_KEY_FUNCTION(17); case K_F15:
case K_F18: return VTERM_KEY_FUNCTION(18); return VTERM_KEY_FUNCTION(15);
case K_F19: return VTERM_KEY_FUNCTION(19); case K_F16:
case K_F20: return VTERM_KEY_FUNCTION(20); return VTERM_KEY_FUNCTION(16);
case K_F21: return VTERM_KEY_FUNCTION(21); case K_F17:
case K_F22: return VTERM_KEY_FUNCTION(22); return VTERM_KEY_FUNCTION(17);
case K_F23: return VTERM_KEY_FUNCTION(23); case K_F18:
case K_F24: return VTERM_KEY_FUNCTION(24); return VTERM_KEY_FUNCTION(18);
case K_F25: return VTERM_KEY_FUNCTION(25); case K_F19:
case K_F26: return VTERM_KEY_FUNCTION(26); return VTERM_KEY_FUNCTION(19);
case K_F27: return VTERM_KEY_FUNCTION(27); case K_F20:
case K_F28: return VTERM_KEY_FUNCTION(28); return VTERM_KEY_FUNCTION(20);
case K_F29: return VTERM_KEY_FUNCTION(29); case K_F21:
case K_F30: return VTERM_KEY_FUNCTION(30); return VTERM_KEY_FUNCTION(21);
case K_F31: return VTERM_KEY_FUNCTION(31); case K_F22:
case K_F32: return VTERM_KEY_FUNCTION(32); return VTERM_KEY_FUNCTION(22);
case K_F33: return VTERM_KEY_FUNCTION(33); case K_F23:
case K_F34: return VTERM_KEY_FUNCTION(34); return VTERM_KEY_FUNCTION(23);
case K_F35: return VTERM_KEY_FUNCTION(35); case K_F24:
case K_F36: return VTERM_KEY_FUNCTION(36); return VTERM_KEY_FUNCTION(24);
case K_F37: return VTERM_KEY_FUNCTION(37); case K_F25:
return VTERM_KEY_FUNCTION(25);
case K_F26:
return VTERM_KEY_FUNCTION(26);
case K_F27:
return VTERM_KEY_FUNCTION(27);
case K_F28:
return VTERM_KEY_FUNCTION(28);
case K_F29:
return VTERM_KEY_FUNCTION(29);
case K_F30:
return VTERM_KEY_FUNCTION(30);
case K_F31:
return VTERM_KEY_FUNCTION(31);
case K_F32:
return VTERM_KEY_FUNCTION(32);
case K_F33:
return VTERM_KEY_FUNCTION(33);
case K_F34:
return VTERM_KEY_FUNCTION(34);
case K_F35:
return VTERM_KEY_FUNCTION(35);
case K_F36:
return VTERM_KEY_FUNCTION(36);
case K_F37:
return VTERM_KEY_FUNCTION(37);
default: return VTERM_KEY_NONE; default:
return VTERM_KEY_NONE;
} }
} }
static void mouse_action(Terminal *term, int button, int row, int col, static void mouse_action(Terminal *term, int button, int row, int col, bool drag, VTermModifier mod)
bool drag, VTermModifier mod)
{ {
if (term->pressed_button && (term->pressed_button != button || !drag)) { if (term->pressed_button && (term->pressed_button != button || !drag)) {
// release the previous button // release the previous button
@@ -1100,16 +1199,26 @@ static bool send_mouse_event(Terminal *term, int c)
bool drag = false; bool drag = false;
switch (c) { switch (c) {
case K_LEFTDRAG: drag = true; FALLTHROUGH; case K_LEFTDRAG:
case K_LEFTMOUSE: button = 1; break; drag = true; FALLTHROUGH;
case K_MOUSEMOVE: drag = true; button = 0; break; case K_LEFTMOUSE:
case K_MIDDLEDRAG: drag = true; FALLTHROUGH; button = 1; break;
case K_MIDDLEMOUSE: button = 2; break; case K_MOUSEMOVE:
case K_RIGHTDRAG: drag = true; FALLTHROUGH; drag = true; button = 0; break;
case K_RIGHTMOUSE: button = 3; break; case K_MIDDLEDRAG:
case K_MOUSEDOWN: button = 4; break; drag = true; FALLTHROUGH;
case K_MOUSEUP: button = 5; break; case K_MIDDLEMOUSE:
default: return false; button = 2; break;
case K_RIGHTDRAG:
drag = true; FALLTHROUGH;
case K_RIGHTMOUSE:
button = 3; break;
case K_MOUSEDOWN:
button = 4; break;
case K_MOUSEUP:
button = 5; break;
default:
return false;
} }
mouse_action(term, button, row, col - offset, drag, 0); mouse_action(term, button, row, col - offset, drag, 0);
@@ -1162,7 +1271,7 @@ static void fetch_row(Terminal *term, int row, int end_col)
if (cell.chars[0]) { if (cell.chars[0]) {
for (int i = 0; cell.chars[i]; i++) { for (int i = 0; cell.chars[i]; i++) {
cell_len += utf_char2bytes((int)cell.chars[i], cell_len += utf_char2bytes((int)cell.chars[i],
(uint8_t *)ptr + cell_len); (uint8_t *)ptr + cell_len);
} }
} else { } else {
*ptr = ' '; *ptr = ' ';
@@ -1181,8 +1290,7 @@ static void fetch_row(Terminal *term, int row, int end_col)
term->textbuf[line_len] = 0; term->textbuf[line_len] = 0;
} }
static bool fetch_cell(Terminal *term, int row, int col, static bool fetch_cell(Terminal *term, int row, int col, VTermScreenCell *cell)
VTermScreenCell *cell)
{ {
if (row < 0) { if (row < 0) {
ScrollbackLine *sbrow = term->sb_buffer[-row - 1]; ScrollbackLine *sbrow = term->sb_buffer[-row - 1];
@@ -1197,8 +1305,8 @@ static bool fetch_cell(Terminal *term, int row, int col,
return false; return false;
} }
} else { } else {
vterm_screen_get_cell(term->vts, (VTermPos){.row = row, .col = col}, vterm_screen_get_cell(term->vts, (VTermPos){ .row = row, .col = col },
cell); cell);
} }
return true; return true;
} }

View File

@@ -1,4 +1,4 @@
# Uncrustify-0.73.0-186-03faf73c # Uncrustify-0.73.0-186-03faf73c5
# #
# General options # General options