Recognize .exp (Expect) files as Tcl
[geany-mirror.git] / scintilla / lexlib / LexerBase.h
blobd8849d2f95c5fba42a590f2cafab4531a10db9dd
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 Sci_Position SCI_METHOD PropertySet(const char *key, const char *val);
30 const char * SCI_METHOD DescribeWordListSets();
31 Sci_Position SCI_METHOD WordListSet(int n, const char *wl);
32 void SCI_METHOD Lex(Sci_PositionU startPos, Sci_Position lengthDoc, int initStyle, IDocument *pAccess) = 0;
33 void SCI_METHOD Fold(Sci_PositionU startPos, Sci_Position lengthDoc, int initStyle, IDocument *pAccess) = 0;
34 void * SCI_METHOD PrivateCall(int operation, void *pointer);
37 #ifdef SCI_NAMESPACE
39 #endif
41 #endif