From 9e391f5e3b2baaee0bf73e5273daf84be8a76ce2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Andr=C3=A9=20Tanner?= Date: Fri, 9 Oct 2015 10:31:25 +0200 Subject: ui: refactor syntax style definitions Styles can now be specified as strings which will make them easier to specify from outside the editor. The following style attributes can be given in a comma separated list: bold italics underlined fore:color back:color where color is either a hex value of the form #aabbcc or one of the predefined colors: black red green yellow blue magenta cyan white --- syntax.h | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) (limited to 'syntax.h') diff --git a/syntax.h b/syntax.h index c28a7ea..8ce623e 100644 --- a/syntax.h +++ b/syntax.h @@ -3,21 +3,16 @@ #include -typedef struct { - short fg, bg; /* fore and background color */ - int attr; /* curses attributes */ -} Color; - typedef struct { char *rule; /* regex to search for */ - Color *color; /* settings to apply in case of a match */ + int style; /* settings to apply in case of a match */ bool multiline; /* whether . should match new lines */ regex_t regex; /* compiled form of the above rule */ } SyntaxRule; typedef struct { char *symbol; - Color *color; + int style; } SyntaxSymbol; enum { @@ -35,6 +30,7 @@ struct Syntax { /* a syntax definition */ char *file; /* apply to files matching this regex */ regex_t file_regex; /* compiled file name regex */ const char **settings;/* settings associated with this file type */ + const char **styles; /* settings associated with this file type */ SyntaxSymbol symbols[SYNTAX_SYMBOL_LAST]; /* symbols for white space handling */ SyntaxRule rules[24]; /* all rules for this file type */ }; -- cgit v1.2.3