X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/0c3140ca4494195cfe3fee8a21dd0834437993a6..1dcf666dc7872fca0366db62c4740d96beb7b074:/src/stc/scintilla/lexlib/LexerBase.h diff --git a/src/stc/scintilla/lexlib/LexerBase.h b/src/stc/scintilla/lexlib/LexerBase.h new file mode 100644 index 0000000000..2998d2449f --- /dev/null +++ b/src/stc/scintilla/lexlib/LexerBase.h @@ -0,0 +1,41 @@ +// Scintilla source code edit control +/** @file LexerBase.h + ** A simple lexer with no state. + **/ +// Copyright 1998-2010 by Neil Hodgson +// The License.txt file describes the conditions under which this software may be distributed. + +#ifndef LEXERBASE_H +#define LEXERBASE_H + +#ifdef SCI_NAMESPACE +namespace Scintilla { +#endif + +// A simple lexer with no state +class LexerBase : public ILexer { +protected: + PropSetSimple props; + enum {numWordLists=KEYWORDSET_MAX+1}; + WordList *keyWordLists[numWordLists+1]; +public: + LexerBase(); + virtual ~LexerBase(); + void SCI_METHOD Release(); + int SCI_METHOD Version() const; + const char * SCI_METHOD PropertyNames(); + int SCI_METHOD PropertyType(const char *name); + const char * SCI_METHOD DescribeProperty(const char *name); + int SCI_METHOD PropertySet(const char *key, const char *val); + const char * SCI_METHOD DescribeWordListSets(); + int SCI_METHOD WordListSet(int n, const char *wl); + void SCI_METHOD Lex(unsigned int startPos, int lengthDoc, int initStyle, IDocument *pAccess) = 0; + void SCI_METHOD Fold(unsigned int startPos, int lengthDoc, int initStyle, IDocument *pAccess) = 0; + void * SCI_METHOD PrivateCall(int operation, void *pointer); +}; + +#ifdef SCI_NAMESPACE +} +#endif + +#endif