Update Scintilla to 4.0.4
[TortoiseGit.git] / ext / scintilla / lexlib / LexerNoExceptions.h
blob3f0563c5b2c90bc86e2d4be7503dc4c1d3a11db3
1 // Scintilla source code edit control
2 /** @file LexerNoExceptions.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 LEXERNOEXCEPTIONS_H
9 #define LEXERNOEXCEPTIONS_H
11 namespace Scintilla {
13 // A simple lexer with no state
14 class LexerNoExceptions : public LexerBase {
15 public:
16 // TODO Also need to prevent exceptions in constructor and destructor
17 Sci_Position SCI_METHOD PropertySet(const char *key, const char *val);
18 Sci_Position SCI_METHOD WordListSet(int n, const char *wl);
19 void SCI_METHOD Lex(Sci_PositionU startPos, Sci_Position lengthDoc, int initStyle, IDocument *pAccess);
20 void SCI_METHOD Fold(Sci_PositionU startPos, Sci_Position lengthDoc, int initStyle, IDocument *);
22 virtual void Lexer(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess, Accessor &styler) = 0;
23 virtual void Folder(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess, Accessor &styler) = 0;
28 #endif