aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authornyamatongwe <unknown>2001-04-13 05:19:52 +0000
committernyamatongwe <unknown>2001-04-13 05:19:52 +0000
commitc1bbb58a0b1f5bb352acf67afbae8d40e99e22eb (patch)
tree9a63f807ffa9cfce0689ed979832c666f24c0b30
parent3e36fa6f3ea27bb64ce42bdd1a5b50b52dc6bb04 (diff)
downloadscintilla-mirror-c1bbb58a0b1f5bb352acf67afbae8d40e99e22eb.tar.gz
Added a string name to each lexer.
Made it possible for LexerModule to be subclassed so that its Lex and Fold methods can be specialised to work across DLL boundaries.
-rw-r--r--include/KeyWords.h5
-rw-r--r--src/LexAVE.cxx2
-rw-r--r--src/LexAda.cxx2
-rw-r--r--src/LexConf.cxx2
-rw-r--r--src/LexHTML.cxx4
-rw-r--r--src/LexLua.cxx2
-rw-r--r--src/LexOthers.cxx12
-rw-r--r--src/LexPascal.cxx2
-rw-r--r--src/LexPerl.cxx2
-rw-r--r--src/LexPython.cxx2
-rw-r--r--src/LexSQL.cxx2
-rw-r--r--src/LexVB.cxx2
12 files changed, 20 insertions, 19 deletions
diff --git a/include/KeyWords.h b/include/KeyWords.h
index 43de26fe6..869b59d26 100644
--- a/include/KeyWords.h
+++ b/include/KeyWords.h
@@ -14,6 +14,7 @@ typedef void (*LexerFunction)(unsigned int startPos, int lengthDoc, int initStyl
* module appropriate to a particular language.
*/
class LexerModule {
+protected:
LexerModule *next;
int language;
const char *languageName;
@@ -27,9 +28,9 @@ public:
LexerModule(int language_, LexerFunction fnLexer_,
const char *languageName_=0, LexerFunction fnFolder_=0);
int GetLanguage() { return language; }
- void Lex(unsigned int startPos, int lengthDoc, int initStyle,
+ virtual void Lex(unsigned int startPos, int lengthDoc, int initStyle,
WordList *keywordlists[], Accessor &styler);
- void Fold(unsigned int startPos, int lengthDoc, int initStyle,
+ virtual void Fold(unsigned int startPos, int lengthDoc, int initStyle,
WordList *keywordlists[], Accessor &styler);
static LexerModule *Find(int language);
static LexerModule *Find(const char *languageName);
diff --git a/src/LexAVE.cxx b/src/LexAVE.cxx
index 280ca6470..a7422743f 100644
--- a/src/LexAVE.cxx
+++ b/src/LexAVE.cxx
@@ -185,4 +185,4 @@ static void ColouriseAveDoc(unsigned int startPos, int length, int initStyle, Wo
}
}
-LexerModule lmAVE(SCLEX_AVE, ColouriseAveDoc);
+LexerModule lmAVE(SCLEX_AVE, ColouriseAveDoc, "ave");
diff --git a/src/LexAda.cxx b/src/LexAda.cxx
index 2cf59f0bf..5810f0a01 100644
--- a/src/LexAda.cxx
+++ b/src/LexAda.cxx
@@ -196,4 +196,4 @@ static void ColouriseAdaDoc(unsigned int startPos, int length, int initStyle,
// }
}
-LexerModule lmAda(SCLEX_ADA, ColouriseAdaDoc);
+LexerModule lmAda(SCLEX_ADA, ColouriseAdaDoc, "ada");
diff --git a/src/LexConf.cxx b/src/LexConf.cxx
index 6ffcd1d71..2dbb65c37 100644
--- a/src/LexConf.cxx
+++ b/src/LexConf.cxx
@@ -174,4 +174,4 @@ static void ColouriseConfDoc(unsigned int startPos, int length, int, WordList *k
}
}
-LexerModule lmConf(SCLEX_CONF, ColouriseConfDoc);
+LexerModule lmConf(SCLEX_CONF, ColouriseConfDoc, "conf");
diff --git a/src/LexHTML.cxx b/src/LexHTML.cxx
index 2f0c72851..41c30d735 100644
--- a/src/LexHTML.cxx
+++ b/src/LexHTML.cxx
@@ -1314,6 +1314,6 @@ static void ColouriseHyperTextDoc(unsigned int startPos, int length, int initSty
}
}
-LexerModule lmHTML(SCLEX_HTML, ColouriseHyperTextDoc);
-LexerModule lmXML(SCLEX_XML, ColouriseHyperTextDoc);
+LexerModule lmHTML(SCLEX_HTML, ColouriseHyperTextDoc, "hypertext");
+LexerModule lmXML(SCLEX_XML, ColouriseHyperTextDoc, "xml");
diff --git a/src/LexLua.cxx b/src/LexLua.cxx
index 86c690dcb..ad85a728e 100644
--- a/src/LexLua.cxx
+++ b/src/LexLua.cxx
@@ -301,4 +301,4 @@ static void ColouriseLuaDoc(unsigned int startPos,
styler.ColourTo(lengthDoc - 1, state);
}
-LexerModule lmLua(SCLEX_LUA, ColouriseLuaDoc);
+LexerModule lmLua(SCLEX_LUA, ColouriseLuaDoc, "lua");
diff --git a/src/LexOthers.cxx b/src/LexOthers.cxx
index da0f70040..7ca6f5dfb 100644
--- a/src/LexOthers.cxx
+++ b/src/LexOthers.cxx
@@ -500,9 +500,9 @@ static void ColouriseLatexDoc(unsigned int startPos, int length, int initStyle,
styler.ColourTo(lengthDoc, state);
}
-LexerModule lmBatch(SCLEX_BATCH, ColouriseBatchDoc);
-LexerModule lmDiff(SCLEX_DIFF, ColouriseDiffDoc);
-LexerModule lmProps(SCLEX_PROPERTIES, ColourisePropsDoc);
-LexerModule lmMake(SCLEX_MAKEFILE, ColouriseMakeDoc);
-LexerModule lmErrorList(SCLEX_ERRORLIST, ColouriseErrorListDoc);
-LexerModule lmLatex(SCLEX_LATEX, ColouriseLatexDoc);
+LexerModule lmBatch(SCLEX_BATCH, ColouriseBatchDoc, "batch");
+LexerModule lmDiff(SCLEX_DIFF, ColouriseDiffDoc, "diff");
+LexerModule lmProps(SCLEX_PROPERTIES, ColourisePropsDoc, "props");
+LexerModule lmMake(SCLEX_MAKEFILE, ColouriseMakeDoc, "makefile");
+LexerModule lmErrorList(SCLEX_ERRORLIST, ColouriseErrorListDoc, "errorlist");
+LexerModule lmLatex(SCLEX_LATEX, ColouriseLatexDoc, "latex");
diff --git a/src/LexPascal.cxx b/src/LexPascal.cxx
index b8c814116..bc1d71c4e 100644
--- a/src/LexPascal.cxx
+++ b/src/LexPascal.cxx
@@ -221,4 +221,4 @@ static void ColourisePascalDoc(unsigned int startPos, int length, int initStyle,
}
}
-LexerModule lmPascal(SCLEX_PASCAL, ColourisePascalDoc);
+LexerModule lmPascal(SCLEX_PASCAL, ColourisePascalDoc, "pascal");
diff --git a/src/LexPerl.cxx b/src/LexPerl.cxx
index 08c8d4e86..590d05d2a 100644
--- a/src/LexPerl.cxx
+++ b/src/LexPerl.cxx
@@ -659,4 +659,4 @@ static void ColourisePerlDoc(unsigned int startPos, int length, int initStyle,
styler.ColourTo(lengthDoc, state);
}
-LexerModule lmPerl(SCLEX_PERL, ColourisePerlDoc);
+LexerModule lmPerl(SCLEX_PERL, ColourisePerlDoc, "perl");
diff --git a/src/LexPython.cxx b/src/LexPython.cxx
index e10991b41..8b3cf8909 100644
--- a/src/LexPython.cxx
+++ b/src/LexPython.cxx
@@ -346,4 +346,4 @@ static void ColourisePyDoc(unsigned int startPos, int length, int initStyle,
}
}
-LexerModule lmPython(SCLEX_PYTHON, ColourisePyDoc);
+LexerModule lmPython(SCLEX_PYTHON, ColourisePyDoc, "python");
diff --git a/src/LexSQL.cxx b/src/LexSQL.cxx
index 9db8b9ddd..84d7d1c52 100644
--- a/src/LexSQL.cxx
+++ b/src/LexSQL.cxx
@@ -155,4 +155,4 @@ static void ColouriseSQLDoc(unsigned int startPos, int length,
styler.ColourTo(lengthDoc - 1, state);
}
-LexerModule lmSQL(SCLEX_SQL, ColouriseSQLDoc);
+LexerModule lmSQL(SCLEX_SQL, ColouriseSQLDoc, "sql");
diff --git a/src/LexVB.cxx b/src/LexVB.cxx
index 8032a75ec..45a2fa7b9 100644
--- a/src/LexVB.cxx
+++ b/src/LexVB.cxx
@@ -138,4 +138,4 @@ static void ColouriseVBDoc(unsigned int startPos, int length, int initStyle,
styler.ColourTo(lengthDoc, state);
}
-LexerModule lmVB(SCLEX_VB, ColouriseVBDoc);
+LexerModule lmVB(SCLEX_VB, ColouriseVBDoc, "vb");