screen.h
Go to the documentation of this file.
1 #ifndef NVIM_SCREEN_H
2 #define NVIM_SCREEN_H
3 
4 #include <stdbool.h>
5 
6 #include "nvim/types.h"
7 #include "nvim/buffer_defs.h"
8 #include "nvim/grid_defs.h"
9 #include "nvim/pos.h"
10 
11 /*
12  * flags for update_screen()
13  * The higher the value, the higher the priority
14  */
15 #define VALID 10 /* buffer not changed, or changes marked
16  with b_mod_* */
17 #define INVERTED 20 /* redisplay inverted part that changed */
18 #define INVERTED_ALL 25 /* redisplay whole inverted part */
19 #define REDRAW_TOP 30 /* display first w_upd_rows screen lines */
20 #define SOME_VALID 35 /* like NOT_VALID but may scroll */
21 #define NOT_VALID 40 /* buffer needs complete redraw */
22 #define CLEAR 50 /* screen messed up, clear it */
23 
31 EXTERN ScreenGrid default_grid INIT(= SCREEN_GRID_INIT);
32 
33 #define DEFAULT_GRID_HANDLE 1 // handle for the default_grid
34 
35 // Maximum columns for terminal highlight attributes
36 #define TERM_ATTRS_MAX 1024
37 
39 typedef struct {
40  enum {
41  kStlClickDisabled = 0,
45  } type;
46  int tabnr;
47  char *func;
49 
51 typedef struct {
53  const char *start;
55 
58 
60 extern long tab_page_click_defs_size;
61 
62 #define W_ENDCOL(wp) (wp->w_wincol + wp->w_width)
63 #define W_ENDROW(wp) (wp->w_winrow + wp->w_height)
64 
65 #ifdef INCLUDE_GENERATED_DECLARATIONS
66 # include "screen.h.generated.h"
67 #endif
68 #endif // NVIM_SCREEN_H
char * func
Function to run.
Definition: screen.h:47
Switch to the given tab.
Definition: screen.h:42
Run user function.
Definition: screen.h:44
Status line click definition.
Definition: screen.h:39
#define SCREEN_GRID_INIT
Definition: grid_defs.h:88
int tabnr
Tab page number.
Definition: screen.h:46
#define EXTERN
Definition: macros.h:7
EXTERN ScreenGrid default_grid INIT(=SCREEN_GRID_INIT)
StlClickDefinition * tab_page_click_defs
Array defining what should be done when tabline is clicked.
Definition: screen.c:138
Close given tab.
Definition: screen.h:43
const char * start
Location where region starts.
Definition: screen.h:53
long tab_page_click_defs_size
Size of the tab_page_click_defs array.
Definition: screen.c:140
Used for tabline clicks.
Definition: screen.h:51
Definition: grid_defs.h:38
err type
Definition: helpers.c:1473
StlClickDefinition def
Click definition.
Definition: screen.h:52