X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/65ec6247df6af7b6489257b1ac04ca2242dc14ec..abd61ebf9b7b4101f118d53d8ff9942530ef77b9:/contrib/src/stc/scintilla/include/KeyWords.h diff --git a/contrib/src/stc/scintilla/include/KeyWords.h b/contrib/src/stc/scintilla/include/KeyWords.h index 869b59d267..059ac0da0f 100644 --- a/contrib/src/stc/scintilla/include/KeyWords.h +++ b/contrib/src/stc/scintilla/include/KeyWords.h @@ -15,25 +15,40 @@ typedef void (*LexerFunction)(unsigned int startPos, int lengthDoc, int initStyl */ class LexerModule { protected: - LexerModule *next; + const LexerModule *next; int language; - const char *languageName; LexerFunction fnLexer; LexerFunction fnFolder; - - static LexerModule *base; + const char * const * wordListDescriptions; + int styleBits; + + static const LexerModule *base; static int nextLanguage; public: - LexerModule(int language_, LexerFunction fnLexer_, - const char *languageName_=0, LexerFunction fnFolder_=0); - int GetLanguage() { return language; } + const char *languageName; + LexerModule(int language_, + LexerFunction fnLexer_, + const char *languageName_=0, + LexerFunction fnFolder_=0, + const char * const wordListDescriptions_[] = NULL, + int styleBits_=5); + virtual ~LexerModule() { + } + int GetLanguage() const { return language; } + + // -1 is returned if no WordList information is available + int GetNumWordLists() const; + const char *GetWordListDescription(int index) const; + + int GetStyleBitsNeeded() const; + virtual void Lex(unsigned int startPos, int lengthDoc, int initStyle, - WordList *keywordlists[], Accessor &styler); + WordList *keywordlists[], Accessor &styler) const; virtual void Fold(unsigned int startPos, int lengthDoc, int initStyle, - WordList *keywordlists[], Accessor &styler); - static LexerModule *Find(int language); - static LexerModule *Find(const char *languageName); + WordList *keywordlists[], Accessor &styler) const; + static const LexerModule *Find(int language); + static const LexerModule *Find(const char *languageName); }; /**