]> git.saurik.com Git - wxWidgets.git/blobdiff - src/stc/scintilla/include/KeyWords.h
wxRichTextCtrl native caret now flashes, for wxMac/Core Graphics mode
[wxWidgets.git] / src / stc / scintilla / include / KeyWords.h
index df4e870c580f507203f57f61f2cc58a7af04a2fe..6abae594538d22399d268f55044a9fcfea48fd93 100644 (file)
@@ -5,6 +5,10 @@
 // Copyright 1998-2001 by Neil Hodgson <neilh@scintilla.org>
 // 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);
                   
@@ -20,21 +24,29 @@ protected:
        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,
-               const char * const wordListDescriptions_[] = NULL);
+       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,
@@ -43,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.