diff -r 1f3835182aeb -r 534a4ef4143d src/codegens.h --- a/src/codegens.h Tue Aug 23 15:28:56 2016 +0200 +++ b/src/codegens.h Tue Aug 23 15:55:02 2016 +0200 @@ -39,21 +39,15 @@ #define WORDBUF_SIZE 64 -#define iswordcharacter(c) (isalnum(c) || c=='_' || c=='#' || c=='@') - -typedef struct _highlighter_t highlighter_t; -typedef void(*parser_fnc)(char*,UcxBuffer*,highlighter_t*); - -struct _highlighter_t { - const char** keywords; - int(*istype)(char*,size_t); - int(*isdirective)(char*); - parser_fnc parser; +typedef struct { int iscommentml; char word[WORDBUF_SIZE]; char includefile[FILENAME_MAX]; -}; +} HighlighterData; +typedef void(*highlighter_func)(char*,UcxBuffer*,HighlighterData*); + +#define iswordcharacter(c) (isalnum(c) || c=='_' || c=='#' || c=='@') size_t writeescapedchar(char *dest, size_t dp, char c); int check_keyword(char *word, const char** keywords); int check_capsonly(char *word, size_t wp);