diff options
author | nyamatongwe <devnull@localhost> | 2010-07-13 21:24:26 +1000 |
---|---|---|
committer | nyamatongwe <devnull@localhost> | 2010-07-13 21:24:26 +1000 |
commit | 2d5fa03e8da053da45a2c35d31f00aabb44fa55e (patch) | |
tree | 4b4aa4d7744fead423bc193188e27f7557455251 /lexlib/LexerBase.h | |
parent | 6cf0abd5bbf6c54149546d5d19bf67a2a0f93490 (diff) | |
download | scintilla-mirror-2d5fa03e8da053da45a2c35d31f00aabb44fa55e.tar.gz |
New files for new lexer implementation.
Diffstat (limited to 'lexlib/LexerBase.h')
-rw-r--r-- | lexlib/LexerBase.h | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/lexlib/LexerBase.h b/lexlib/LexerBase.h new file mode 100644 index 000000000..02fc34dc3 --- /dev/null +++ b/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 <neilh@scintilla.org> +// 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(); + ~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 |