X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1a2fb4cd61069956c046e9721fda447ba1a743d7..5f65ba36570e9cf4296673391472cf11b9f0c673:/src/stc/scintilla/include/KeyWords.h?ds=sidebyside diff --git a/src/stc/scintilla/include/KeyWords.h b/src/stc/scintilla/include/KeyWords.h index fa427ff2eb..6abae59453 100644 --- a/src/stc/scintilla/include/KeyWords.h +++ b/src/stc/scintilla/include/KeyWords.h @@ -5,6 +5,10 @@ // Copyright 1998-2001 by Neil Hodgson // The License.txt file describes the conditions under which this software may be distributed. +#ifdef SCI_NAMESPACE +namespace Scintilla { +#endif + typedef void (*LexerFunction)(unsigned int startPos, int lengthDoc, int initStyle, WordList *keywordlists[], Accessor &styler); @@ -19,15 +23,30 @@ protected: int language; LexerFunction fnLexer; LexerFunction fnFolder; - + const char * const * wordListDescriptions; + int styleBits; + static const LexerModule *base; static int nextLanguage; public: const char *languageName; - LexerModule(int language_, LexerFunction fnLexer_, - const char *languageName_=0, LexerFunction fnFolder_=0); + 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) const; virtual void Fold(unsigned int startPos, int lengthDoc, int initStyle, @@ -36,6 +55,10 @@ public: static const LexerModule *Find(const char *languageName); }; +#ifdef SCI_NAMESPACE +} +#endif + /** * Check if a character is a space. * This is ASCII specific but is safe with chars >= 0x80.