xref: /MusicPlayer2/scintilla/lexlib/LexerSimple.h (revision 8af74909132ed5e696cb05b6689ae4baf14c1c96)
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