scintilla: Update scintilla with changeset 3662:1d1c06df8a2f using gtk+3
[anjuta-extras.git] / plugins / scintilla / scintilla / LexerBase.h
blob2998d2449f9b059b5dfccea68e343a7894cde6ef
1 // Scintilla source code edit control
2 /** @file LexerBase.h
3 ** A simple lexer with no state.
4 **/
5 // Copyright 1998-2010 by Neil Hodgson <neilh@scintilla.org>
6 // The License.txt file describes the conditions under which this software may be distributed.
8 #ifndef LEXERBASE_H
9 #define LEXERBASE_H
11 #ifdef SCI_NAMESPACE
12 namespace Scintilla {
13 #endif
15 // A simple lexer with no state
16 class LexerBase : public ILexer {
17 protected:
18 PropSetSimple props;
19 enum {numWordLists=KEYWORDSET_MAX+1};
20 WordList *keyWordLists[numWordLists+1];
21 public:
22 LexerBase();
23 virtual ~LexerBase();
24 void SCI_METHOD Release();
25 int SCI_METHOD Version() const;
26 const char * SCI_METHOD PropertyNames();
27 int SCI_METHOD PropertyType(const char *name);
28 const char * SCI_METHOD DescribeProperty(const char *name);
29 int SCI_METHOD PropertySet(const char *key, const char *val);
30 const char * SCI_METHOD DescribeWordListSets();
31 int SCI_METHOD WordListSet(int n, const char *wl);
32 void SCI_METHOD Lex(unsigned int startPos, int lengthDoc, int initStyle, IDocument *pAccess) = 0;
33 void SCI_METHOD Fold(unsigned int startPos, int lengthDoc, int initStyle, IDocument *pAccess) = 0;
34 void * SCI_METHOD PrivateCall(int operation, void *pointer);
37 #ifdef SCI_NAMESPACE
39 #endif
41 #endif