1#ifndef DEFINE_FUNC_ATTRIBUTES
2# define DEFINE_FUNC_ATTRIBUTES
3#endif
4#include "nvim/func_attr.h"
5#undef DEFINE_FUNC_ATTRIBUTES
6static void terminal_check_cursor(void);
7static int terminal_check(VimState *state);
8static int terminal_execute(VimState *state, int key);
9static int get_rgb(VTermState *state, VTermColor color);
10static int term_damage(VTermRect rect, void *data);
11static int term_moverect(VTermRect dest, VTermRect src, void *data);
12static int term_movecursor(VTermPos new, VTermPos old, int visible, void *data);
13static void buf_set_term_title(buf_T *buf, char *title) FUNC_ATTR_NONNULL_ALL;
14static int term_settermprop(VTermProp prop, VTermValue *val, void *data);
15static int term_bell(void *data);
16static int term_sb_push(int cols, const VTermScreenCell *cells, void *data);
17static int term_sb_pop(int cols, VTermScreenCell *cells, void *data);
18static void convert_modifiers(int key, VTermModifier *statep);
19static VTermKey convert_key(int key, VTermModifier *statep);
20static void mouse_action(Terminal *term, int button, int row, int col, _Bool drag, VTermModifier mod);
21static _Bool send_mouse_event(Terminal *term, int c);
22static void fetch_row(Terminal *term, int row, int end_col);
23static _Bool fetch_cell(Terminal *term, int row, int col, VTermScreenCell *cell);
24static void invalidate_terminal(Terminal *term, int start_row, int end_row);
25static void refresh_terminal(Terminal *term);
26static void refresh_timer_cb(TimeWatcher *watcher, void *data);
27static void refresh_size(Terminal *term, buf_T *buf);
28static void on_scrollback_option_changed(Terminal *term, buf_T *buf);
29static void refresh_scrollback(Terminal *term, buf_T *buf);
30static void refresh_screen(Terminal *term, buf_T *buf);
31static void adjust_topline(Terminal *term, buf_T *buf, long added);
32static int row_to_linenr(Terminal *term, int row);
33static int linenr_to_row(Terminal *term, int linenr);
34static _Bool is_focused(Terminal *term);
35static char *get_config_string(char *key);
36#include "nvim/func_attr.h"
37