aboutsummaryrefslogtreecommitdiffhomepage
path: root/include/ILexer.h
diff options
context:
space:
mode:
authornyamatongwe <unknown>2013-01-19 10:43:41 +1100
committernyamatongwe <unknown>2013-01-19 10:43:41 +1100
commit0bb8702e061f17864f74785e330a40b6feef85ba (patch)
treeb4ed3ac774af3b328f48bd22f4e2802309e96dad /include/ILexer.h
parentf138e06ea1039b076cd525585779cf96959fca24 (diff)
downloadscintilla-mirror-0bb8702e061f17864f74785e330a40b6feef85ba.tar.gz
Add methods for Unicode line ends and substyles to IDocument and ILexer
producing IDocumentWithLineEnd and ILexerWithSubStyles.
Diffstat (limited to 'include/ILexer.h')
-rw-r--r--include/ILexer.h21
1 files changed, 19 insertions, 2 deletions
diff --git a/include/ILexer.h b/include/ILexer.h
index e08b8701c..1260c1373 100644
--- a/include/ILexer.h
+++ b/include/ILexer.h
@@ -18,7 +18,7 @@ namespace Scintilla {
#define SCI_METHOD
#endif
-enum { dvOriginal=0 };
+enum { dvOriginal=0, dvLineEnd=1 };
class IDocument {
public:
@@ -45,7 +45,12 @@ public:
virtual int SCI_METHOD GetLineIndentation(int line) = 0;
};
-enum { lvOriginal=0 };
+class IDocumentWithLineEnd : public IDocument {
+public:
+ virtual int SCI_METHOD LineEnd(int line) const = 0;
+};
+
+enum { lvOriginal=0, lvSubStyles=1 };
class ILexer {
public:
@@ -62,6 +67,18 @@ public:
virtual void * SCI_METHOD PrivateCall(int operation, void *pointer) = 0;
};
+class ILexerWithSubStyles : public ILexer {
+public:
+ virtual int SCI_METHOD LineEndTypesSupported() = 0;
+ virtual int SCI_METHOD AllocateSubStyles(int styleBase, int numberStyles) = 0;
+ virtual int SCI_METHOD SubStylesStart(int styleBase) = 0;
+ virtual int SCI_METHOD SubStylesLength(int styleBase) = 0;
+ virtual void SCI_METHOD FreeSubStyles() = 0;
+ virtual void SCI_METHOD SetIdentifiers(int style, const char *identifiers) = 0;
+ virtual int SCI_METHOD DistanceToSecondaryStyles() = 0;
+ virtual const char * SCI_METHOD GetSubStyleBases() = 0;
+};
+
class ILoader {
public:
virtual int SCI_METHOD Release() = 0;