diff options
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  | 
