1 | #ifndef NVIM_SYNTAX_H |
2 | #define NVIM_SYNTAX_H |
3 | |
4 | #include <stdbool.h> |
5 | |
6 | #include "nvim/globals.h" |
7 | #include "nvim/buffer_defs.h" |
8 | #include "nvim/ex_cmds_defs.h" |
9 | |
10 | #define HL_CONTAINED 0x01 /* not used on toplevel */ |
11 | #define HL_TRANSP 0x02 /* has no highlighting */ |
12 | #define HL_ONELINE 0x04 /* match within one line only */ |
13 | #define HL_HAS_EOL 0x08 /* end pattern that matches with $ */ |
14 | #define HL_SYNC_HERE 0x10 /* sync point after this item (syncing only) */ |
15 | #define HL_SYNC_THERE 0x20 /* sync point at current line (syncing only) */ |
16 | #define HL_MATCH 0x40 /* use match ID instead of item ID */ |
17 | #define HL_SKIPNL 0x80 /* nextgroup can skip newlines */ |
18 | #define HL_SKIPWHITE 0x100 /* nextgroup can skip white space */ |
19 | #define HL_SKIPEMPTY 0x200 /* nextgroup can skip empty lines */ |
20 | #define HL_KEEPEND 0x400 /* end match always kept */ |
21 | #define HL_EXCLUDENL 0x800 /* exclude NL from match */ |
22 | #define HL_DISPLAY 0x1000 /* only used for displaying, not syncing */ |
23 | #define HL_FOLD 0x2000 /* define fold */ |
24 | #define HL_EXTEND 0x4000 /* ignore a keepend */ |
25 | #define HL_MATCHCONT 0x8000 /* match continued from previous line */ |
26 | #define HL_TRANS_CONT 0x10000 /* transparent item without contains arg */ |
27 | #define HL_CONCEAL 0x20000 /* can be concealed */ |
28 | #define HL_CONCEALENDS 0x40000 /* can be concealed */ |
29 | |
30 | typedef struct { |
31 | char *name; |
32 | RgbValue color; |
33 | } color_name_table_T; |
34 | extern color_name_table_T color_name_table[]; |
35 | |
36 | /// Array of highlight definitions, used for unit testing |
37 | extern const char *const highlight_init_cmdline[]; |
38 | |
39 | #ifdef INCLUDE_GENERATED_DECLARATIONS |
40 | # include "syntax.h.generated.h" |
41 | #endif |
42 | |
43 | #endif // NVIM_SYNTAX_H |
44 | |