| 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 | |