1*8af74909SZhong Yang // Scintilla source code edit control 2*8af74909SZhong Yang /** @file Accessor.h 3*8af74909SZhong Yang ** Interfaces between Scintilla and lexers. 4*8af74909SZhong Yang **/ 5*8af74909SZhong Yang // Copyright 1998-2010 by Neil Hodgson <[email protected]> 6*8af74909SZhong Yang // The License.txt file describes the conditions under which this software may be distributed. 7*8af74909SZhong Yang 8*8af74909SZhong Yang #ifndef ACCESSOR_H 9*8af74909SZhong Yang #define ACCESSOR_H 10*8af74909SZhong Yang 11*8af74909SZhong Yang namespace Scintilla { 12*8af74909SZhong Yang 13*8af74909SZhong Yang enum { wsSpace=1, wsTab=2, wsSpaceTab=4, wsInconsistent=8 }; 14*8af74909SZhong Yang 15*8af74909SZhong Yang class Accessor; 16*8af74909SZhong Yang class WordList; 17*8af74909SZhong Yang class PropSetSimple; 18*8af74909SZhong Yang 19*8af74909SZhong Yang typedef bool (*PFNIsCommentLeader)(Accessor &styler, Sci_Position pos, Sci_Position len); 20*8af74909SZhong Yang 21*8af74909SZhong Yang class Accessor : public LexAccessor { 22*8af74909SZhong Yang public: 23*8af74909SZhong Yang PropSetSimple *pprops; 24*8af74909SZhong Yang Accessor(IDocument *pAccess_, PropSetSimple *pprops_); 25*8af74909SZhong Yang int GetPropertyInt(const char *, int defaultValue=0) const; 26*8af74909SZhong Yang int IndentAmount(Sci_Position line, int *flags, PFNIsCommentLeader pfnIsCommentLeader = 0); 27*8af74909SZhong Yang }; 28*8af74909SZhong Yang 29*8af74909SZhong Yang } 30*8af74909SZhong Yang 31*8af74909SZhong Yang #endif 32