37 extern "C" { |
37 extern "C" { |
38 #endif |
38 #endif |
39 |
39 |
40 #define WORDBUF_SIZE 64 |
40 #define WORDBUF_SIZE 64 |
41 |
41 |
42 #define iswordcharacter(c) (isalnum(c) || c=='_' || c=='#' || c=='@') |
42 typedef struct { |
43 |
|
44 typedef struct _highlighter_t highlighter_t; |
|
45 typedef void(*parser_fnc)(char*,UcxBuffer*,highlighter_t*); |
|
46 |
|
47 struct _highlighter_t { |
|
48 const char** keywords; |
|
49 int(*istype)(char*,size_t); |
|
50 int(*isdirective)(char*); |
|
51 parser_fnc parser; |
|
52 int iscommentml; |
43 int iscommentml; |
53 char word[WORDBUF_SIZE]; |
44 char word[WORDBUF_SIZE]; |
54 char includefile[FILENAME_MAX]; |
45 char includefile[FILENAME_MAX]; |
55 }; |
46 } HighlighterData; |
56 |
47 |
|
48 typedef void(*highlighter_func)(char*,UcxBuffer*,HighlighterData*); |
|
49 |
|
50 #define iswordcharacter(c) (isalnum(c) || c=='_' || c=='#' || c=='@') |
57 size_t writeescapedchar(char *dest, size_t dp, char c); |
51 size_t writeescapedchar(char *dest, size_t dp, char c); |
58 int check_keyword(char *word, const char** keywords); |
52 int check_keyword(char *word, const char** keywords); |
59 int check_capsonly(char *word, size_t wp); |
53 int check_capsonly(char *word, size_t wp); |
60 |
54 |
61 |
55 |