diff options
| author | Marc André Tanner <mat@brain-dump.org> | 2014-09-09 21:50:38 +0200 |
|---|---|---|
| committer | Marc André Tanner <mat@brain-dump.org> | 2014-09-09 21:50:38 +0200 |
| commit | deca6f4d03d36e4980715ae6709f244f381b1175 (patch) | |
| tree | e8e8b61824fb4341976c4e010edb89b65d17a770 /syntax.h | |
| parent | 6d2e43b8142e17f4dd0a578a961b1d8cc98894bb (diff) | |
| download | vis-deca6f4d03d36e4980715ae6709f244f381b1175.tar.gz vis-deca6f4d03d36e4980715ae6709f244f381b1175.tar.xz | |
Cleanup header files
Diffstat (limited to 'syntax.h')
| -rw-r--r-- | syntax.h | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/syntax.h b/syntax.h new file mode 100644 index 0000000..a945389 --- /dev/null +++ b/syntax.h @@ -0,0 +1,28 @@ +#ifndef SYNTAX_H +#define SYNTAX_H + +#include <regex.h> + +#define SYNTAX_REGEX_RULES 10 + +typedef struct { + short fg, bg; /* fore and background color */ + int attr; /* curses attributes */ +} Color; + +typedef struct { + char *rule; /* regex to search for */ + int cflags; /* compilation flags (REG_*) used when compiling */ + Color color; /* settings to apply in case of a match */ + regex_t regex; /* compiled form of the above rule */ +} SyntaxRule; + +typedef struct Syntax Syntax; +struct Syntax { /* a syntax definition */ + char *name; /* syntax name */ + char *file; /* apply to files matching this regex */ + regex_t file_regex; /* compiled file name regex */ + SyntaxRule rules[SYNTAX_REGEX_RULES]; /* all rules for this file type */ +}; + +#endif |
