diff options
Diffstat (limited to 'include/KeyWords.h')
-rw-r--r-- | include/KeyWords.h | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/include/KeyWords.h b/include/KeyWords.h index 6abae5945..5593b7d09 100644 --- a/include/KeyWords.h +++ b/include/KeyWords.h @@ -9,6 +9,29 @@ namespace Scintilla { #endif +/** + */ +class WordList { +public: + // Each word contains at least one character - a empty word acts as sentinel at the end. + char **words; + char *list; + int len; + bool onlyLineEnds; ///< Delimited by any white space or only line ends + bool sorted; + int starts[256]; + WordList(bool onlyLineEnds_ = false) : + words(0), list(0), len(0), onlyLineEnds(onlyLineEnds_), + sorted(false) + {} + ~WordList() { Clear(); } + operator bool() { return len ? true : false; } + void Clear(); + void Set(const char *s); + bool InList(const char *s); + bool InListAbbreviated(const char *s, const char marker); +}; + typedef void (*LexerFunction)(unsigned int startPos, int lengthDoc, int initStyle, WordList *keywordlists[], Accessor &styler); |