blob: 0cb673e1a31d25e5f9f8ad0d52b53b1b1daa94b8 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
#pragma once
#include <stdlib.h>
#include "editor.h"
#include "row.h"
#define HIGHLIGHT_FLAG_NUMBERS (1 << 0)
#define HIGHLIGHT_FLAG_STRINGS (1 << 1)
struct editor_syntax {
char* filetype;
char** filetype_match;
char** keywords;
char* single_line_comment_start;
char* multi_line_comment_start;
char* multi_line_comment_end;
int flags;
};
enum editor_highlight {
HIGHLIGHT_NORMAL = 0,
HIGHLIGHT_COMMENT,
HIGHLIGHT_MULTILINE_COMMENT,
HIGHLIGHT_KEYWORD1,
HIGHLIGHT_KEYWORD2,
HIGHLIGHT_STRING,
HIGHLIGHT_NUMBER,
HIGHLIGHT_MATCH
};
#define HIGHLIGHT_DATABASE_ENTRY_COUNT (sizeof(highlight_database) / sizeof(highlight_database[0]))
void editor_update_syntax(struct editor_state* editor, struct editor_row* row);
int editor_syntax_to_colour(int highlight);
void editor_select_syntax_highlight(struct editor_state* editor);
|