1 | // Scintilla source code edit control |
2 | /** @file Accessor.h |
3 | ** Interfaces between Scintilla and lexers. |
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. |
7 | |
8 | #ifndef ACCESSOR_H |
9 | #define ACCESSOR_H |
10 | |
11 | namespace Lexilla { |
12 | |
13 | enum { wsSpace=1, wsTab=2, wsSpaceTab=4, wsInconsistent=8 }; |
14 | |
15 | class Accessor; |
16 | class WordList; |
17 | class PropSetSimple; |
18 | |
19 | typedef bool (*)(Accessor &styler, Sci_Position pos, Sci_Position len); |
20 | |
21 | class Accessor : public LexAccessor { |
22 | public: |
23 | PropSetSimple *pprops; |
24 | Accessor(Scintilla::IDocument *pAccess_, PropSetSimple *pprops_); |
25 | int GetPropertyInt(std::string_view key, int defaultValue=0) const; |
26 | int IndentAmount(Sci_Position line, int *flags, PFNIsCommentLeader = nullptr); |
27 | }; |
28 | |
29 | } |
30 | |
31 | #endif |
32 | |