1 // Scintilla source code edit control 2 /** @file LexerSimple.h 3 ** A simple lexer with no state. 4 **/ 5 // Copyright 1998-2010 by Neil Hodgson <[email protected]> 6 // The License.txt file describes the conditions under which this software may be distributed. 7 8 #ifndef LEXERSIMPLE_H 9 #define LEXERSIMPLE_H 10 11 namespace Scintilla { 12 13 // A simple lexer with no state 14 class LexerSimple : public LexerBase { 15 const LexerModule *module; 16 std::string wordLists; 17 public: 18 explicit LexerSimple(const LexerModule *module_); 19 const char * SCI_METHOD DescribeWordListSets() override; 20 void SCI_METHOD Lex(Sci_PositionU startPos, Sci_Position lengthDoc, int initStyle, IDocument *pAccess) override; 21 void SCI_METHOD Fold(Sci_PositionU startPos, Sci_Position lengthDoc, int initStyle, IDocument *pAccess) override; 22 // ILexer5 methods 23 const char * SCI_METHOD GetName() override; 24 int SCI_METHOD GetIdentifier() override; 25 }; 26 27 } 28 29 #endif 30