]> git.saurik.com Git - wxWidgets.git/blobdiff - src/stc/scintilla/include/KeyWords.h
More small fixes
[wxWidgets.git] / src / stc / scintilla / include / KeyWords.h
index 2cc03b788f5606ab81a98cc3c2722211993d06a0..3159dcc1b43762085db9af17de6086d3c35d4be7 100644 (file)
@@ -3,6 +3,39 @@
 // Copyright 1998-2000 by Neil Hodgson <neilh@scintilla.org>
 // The License.txt file describes the conditions under which this software may be distributed.
 
 // Copyright 1998-2000 by Neil Hodgson <neilh@scintilla.org>
 // The License.txt file describes the conditions under which this software may be distributed.
 
-void ColouriseDoc(int codePage, int startPos, int lengthDoc, int initStyle, 
-       int language, WordList *keywordlists[], StylingContext &styler);
+typedef void (*LexerFunction)(unsigned int startPos, int lengthDoc, int initStyle,
+                  WordList *keywordlists[], Accessor &styler);
+                  
+class LexerModule {
+       static LexerModule *base;
+       LexerModule *next;
+       int language;
+       LexerFunction fn;
+public:
+       LexerModule(int language_, LexerFunction fn_);
+       static void Colourise(unsigned int startPos, int lengthDoc, int initStyle,
+                  int language, WordList *keywordlists[], Accessor &styler);
+};
+
+inline bool iswordchar(char ch) {
+       return isalnum(ch) || ch == '.' || ch == '_';
+}
+
+inline bool iswordstart(char ch) {
+       return isalnum(ch) || ch == '_';
+}
+
+inline bool isoperator(char ch) {
+       if (isalnum(ch))
+               return false;
+       // '.' left out as it is used to make up numbers
+       if (ch == '%' || ch == '^' || ch == '&' || ch == '*' ||
+               ch == '(' || ch == ')' || ch == '-' || ch == '+' ||
+               ch == '=' || ch == '|' || ch == '{' || ch == '}' ||
+               ch == '[' || ch == ']' || ch == ':' || ch == ';' ||
+               ch == '<' || ch == '>' || ch == ',' || ch == '/' ||
+               ch == '?' || ch == '!' || ch == '.' || ch == '~')
+               return true;
+       return false;
+}