aboutsummaryrefslogtreecommitdiffhomepage
path: root/lexers
diff options
context:
space:
mode:
Diffstat (limited to 'lexers')
-rw-r--r--lexers/LexAsm.cxx15
-rw-r--r--lexers/LexBaan.cxx10
-rw-r--r--lexers/LexBash.cxx9
-rw-r--r--lexers/LexBasic.cxx21
-rw-r--r--lexers/LexCIL.cxx10
-rw-r--r--lexers/LexCPP.cxx21
-rw-r--r--lexers/LexD.cxx10
-rw-r--r--lexers/LexDMIS.cxx10
-rw-r--r--lexers/LexEDIFACT.cxx25
-rw-r--r--lexers/LexHTML.cxx14
-rw-r--r--lexers/LexHaskell.cxx13
-rw-r--r--lexers/LexHollywood.cxx30
-rw-r--r--lexers/LexJSON.cxx8
-rw-r--r--lexers/LexLaTeX.cxx10
-rw-r--r--lexers/LexNim.cxx10
-rw-r--r--lexers/LexPerl.cxx8
-rw-r--r--lexers/LexProgress.cxx8
-rw-r--r--lexers/LexPython.cxx9
-rw-r--r--lexers/LexRegistry.cxx10
-rw-r--r--lexers/LexRust.cxx9
-rw-r--r--lexers/LexSQL.cxx10
-rw-r--r--lexers/LexVerilog.cxx8
-rw-r--r--lexers/LexVisualProlog.cxx9
-rw-r--r--lexers/LexX12.cxx9
24 files changed, 210 insertions, 86 deletions
diff --git a/lexers/LexAsm.cxx b/lexers/LexAsm.cxx
index f34c8b50c..8c30087cd 100644
--- a/lexers/LexAsm.cxx
+++ b/lexers/LexAsm.cxx
@@ -151,7 +151,7 @@ class LexerAsm : public DefaultLexer {
OptionSetAsm osAsm;
int commentChar;
public:
- LexerAsm(int commentChar_) {
+ LexerAsm(const char *languageName_, int language_, int commentChar_) : DefaultLexer(languageName_, language_) {
commentChar = commentChar_;
}
virtual ~LexerAsm() {
@@ -160,7 +160,7 @@ public:
delete this;
}
int SCI_METHOD Version() const override {
- return lvRelease4;
+ return lvRelease5;
}
const char * SCI_METHOD PropertyNames() override {
return osAsm.PropertyNames();
@@ -172,6 +172,9 @@ public:
return osAsm.DescribeProperty(name);
}
Sci_Position SCI_METHOD PropertySet(const char *key, const char *val) override;
+ const char * SCI_METHOD PropertyGet(const char *key) override {
+ return osAsm.PropertyGet(key);
+ }
const char * SCI_METHOD DescribeWordListSets() override {
return osAsm.DescribeWordListSets();
}
@@ -183,12 +186,12 @@ public:
return 0;
}
- static ILexer4 *LexerFactoryAsm() {
- return new LexerAsm(';');
+ static ILexer5 *LexerFactoryAsm() {
+ return new LexerAsm("asm", SCLEX_ASM, ';');
}
- static ILexer4 *LexerFactoryAs() {
- return new LexerAsm('#');
+ static ILexer5 *LexerFactoryAs() {
+ return new LexerAsm("as", SCLEX_AS, '#');
}
};
diff --git a/lexers/LexBaan.cxx b/lexers/LexBaan.cxx
index c26b2fda1..80b4f40ab 100644
--- a/lexers/LexBaan.cxx
+++ b/lexers/LexBaan.cxx
@@ -393,14 +393,14 @@ class LexerBaan : public DefaultLexer {
OptionsBaan options;
OptionSetBaan osBaan;
public:
- LexerBaan() {
+ LexerBaan() : DefaultLexer("baan", SCLEX_BAAN) {
}
virtual ~LexerBaan() {
}
int SCI_METHOD Version() const override {
- return lvRelease4;
+ return lvRelease5;
}
void SCI_METHOD Release() override {
@@ -421,6 +421,10 @@ public:
Sci_Position SCI_METHOD PropertySet(const char *key, const char *val) override;
+ const char * SCI_METHOD PropertyGet(const char *key) override {
+ return osBaan.PropertyGet(key);
+ }
+
const char * SCI_METHOD DescribeWordListSets() override {
return osBaan.DescribeWordListSets();
}
@@ -435,7 +439,7 @@ public:
return NULL;
}
- static ILexer4 * LexerFactoryBaan() {
+ static ILexer5 * LexerFactoryBaan() {
return new LexerBaan();
}
};
diff --git a/lexers/LexBash.cxx b/lexers/LexBash.cxx
index 4bcecc761..07dc6c1ce 100644
--- a/lexers/LexBash.cxx
+++ b/lexers/LexBash.cxx
@@ -201,7 +201,7 @@ class LexerBash : public DefaultLexer {
SubStyles subStyles;
public:
LexerBash() :
- DefaultLexer(lexicalClasses, ELEMENTS(lexicalClasses)),
+ DefaultLexer("bash", SCLEX_BASH, lexicalClasses, ELEMENTS(lexicalClasses)),
subStyles(styleSubable, 0x80, 0x40, 0) {
}
virtual ~LexerBash() {
@@ -210,7 +210,7 @@ public:
delete this;
}
int SCI_METHOD Version() const override {
- return lvRelease4;
+ return lvRelease5;
}
const char * SCI_METHOD PropertyNames() override {
return osBash.PropertyNames();
@@ -222,6 +222,9 @@ public:
return osBash.DescribeProperty(name);
}
Sci_Position SCI_METHOD PropertySet(const char *key, const char *val) override;
+ const char * SCI_METHOD PropertyGet(const char* key) override {
+ return osBash.PropertyGet(key);
+ }
const char * SCI_METHOD DescribeWordListSets() override {
return osBash.DescribeWordListSets();
}
@@ -262,7 +265,7 @@ public:
return styleSubable;
}
- static ILexer4 *LexerFactoryBash() {
+ static ILexer5 *LexerFactoryBash() {
return new LexerBash();
}
};
diff --git a/lexers/LexBasic.cxx b/lexers/LexBasic.cxx
index 3998af93b..e9004b1a1 100644
--- a/lexers/LexBasic.cxx
+++ b/lexers/LexBasic.cxx
@@ -232,7 +232,9 @@ class LexerBasic : public DefaultLexer {
OptionsBasic options;
OptionSetBasic osBasic;
public:
- LexerBasic(char comment_char_, int (*CheckFoldPoint_)(char const *, int &), const char * const wordListDescriptions[]) :
+ LexerBasic(const char *languageName_, int language_, char comment_char_,
+ int (*CheckFoldPoint_)(char const *, int &), const char * const wordListDescriptions[]) :
+ DefaultLexer(languageName_, language_),
comment_char(comment_char_),
CheckFoldPoint(CheckFoldPoint_),
osBasic(wordListDescriptions) {
@@ -243,7 +245,7 @@ public:
delete this;
}
int SCI_METHOD Version() const override {
- return lvRelease4;
+ return lvRelease5;
}
const char * SCI_METHOD PropertyNames() override {
return osBasic.PropertyNames();
@@ -255,6 +257,9 @@ public:
return osBasic.DescribeProperty(name);
}
Sci_Position SCI_METHOD PropertySet(const char *key, const char *val) override;
+ const char * SCI_METHOD PropertyGet(const char *key) override {
+ return osBasic.PropertyGet(key);
+ }
const char * SCI_METHOD DescribeWordListSets() override {
return osBasic.DescribeWordListSets();
}
@@ -265,14 +270,14 @@ public:
void * SCI_METHOD PrivateCall(int, void *) override {
return 0;
}
- static ILexer4 *LexerFactoryBlitzBasic() {
- return new LexerBasic(';', CheckBlitzFoldPoint, blitzbasicWordListDesc);
+ static ILexer5 *LexerFactoryBlitzBasic() {
+ return new LexerBasic("blitzbasic", SCLEX_BLITZBASIC, ';', CheckBlitzFoldPoint, blitzbasicWordListDesc);
}
- static ILexer4 *LexerFactoryPureBasic() {
- return new LexerBasic(';', CheckPureFoldPoint, purebasicWordListDesc);
+ static ILexer5 *LexerFactoryPureBasic() {
+ return new LexerBasic("purebasic", SCLEX_PUREBASIC, ';', CheckPureFoldPoint, purebasicWordListDesc);
}
- static ILexer4 *LexerFactoryFreeBasic() {
- return new LexerBasic('\'', CheckFreeFoldPoint, freebasicWordListDesc );
+ static ILexer5 *LexerFactoryFreeBasic() {
+ return new LexerBasic("freebasic", SCLEX_FREEBASIC, '\'', CheckFreeFoldPoint, freebasicWordListDesc );
}
};
diff --git a/lexers/LexCIL.cxx b/lexers/LexCIL.cxx
index 6f498315a..4e0fdb696 100644
--- a/lexers/LexCIL.cxx
+++ b/lexers/LexCIL.cxx
@@ -114,7 +114,7 @@ class LexerCIL : public DefaultLexer {
OptionSetCIL osCIL;
public:
- LexerCIL() : DefaultLexer(lexicalClasses, ELEMENTS(lexicalClasses)) { }
+ LexerCIL() : DefaultLexer("cil", SCLEX_CIL, lexicalClasses, ELEMENTS(lexicalClasses)) { }
virtual ~LexerCIL() { }
@@ -123,7 +123,7 @@ public:
}
int SCI_METHOD Version() const override {
- return lvRelease4;
+ return lvRelease5;
}
const char * SCI_METHOD PropertyNames() override {
@@ -140,6 +140,10 @@ public:
Sci_Position SCI_METHOD PropertySet(const char *key, const char *val) override;
+ const char * SCI_METHOD PropertyGet(const char* key) override {
+ return osCIL.PropertyGet(key);
+ }
+
const char * SCI_METHOD DescribeWordListSets() override {
return osCIL.DescribeWordListSets();
}
@@ -161,7 +165,7 @@ public:
return style;
}
- static ILexer4 *LexerFactoryCIL() {
+ static ILexer5 *LexerFactoryCIL() {
return new LexerCIL();
}
};
diff --git a/lexers/LexCPP.cxx b/lexers/LexCPP.cxx
index 6d3f55684..908949aaf 100644
--- a/lexers/LexCPP.cxx
+++ b/lexers/LexCPP.cxx
@@ -501,7 +501,7 @@ const int sizeLexicalClasses = static_cast<int>(std::size(lexicalClasses));
}
-class LexerCPP : public ILexer4 {
+class LexerCPP : public ILexer5 {
bool caseSensitive;
CharacterSet setWord;
CharacterSet setNegationOp;
@@ -564,7 +564,7 @@ public:
delete this;
}
int SCI_METHOD Version() const noexcept override {
- return lvRelease4;
+ return lvRelease5;
}
const char * SCI_METHOD PropertyNames() override {
return osCPP.PropertyNames();
@@ -674,10 +674,19 @@ public:
return "";
}
- static ILexer4 *LexerFactoryCPP() {
+ // ILexer5 methods
+ const char * SCI_METHOD GetName() override {
+ return caseSensitive ? "cpp" : "cppnocase";
+ }
+ int SCI_METHOD GetIdentifier() override {
+ return caseSensitive ? SCLEX_CPP : SCLEX_CPPNOCASE;
+ }
+ const char * SCI_METHOD PropertyGet(const char *key) override;
+
+ static ILexer5 *LexerFactoryCPP() {
return new LexerCPP(true);
}
- static ILexer4 *LexerFactoryCPPInsensitive() {
+ static ILexer5 *LexerFactoryCPPInsensitive() {
return new LexerCPP(false);
}
constexpr static int MaskActive(int style) noexcept {
@@ -701,6 +710,10 @@ Sci_Position SCI_METHOD LexerCPP::PropertySet(const char *key, const char *val)
return -1;
}
+const char * SCI_METHOD LexerCPP::PropertyGet(const char *key) {
+ return osCPP.PropertyGet(key);
+}
+
Sci_Position SCI_METHOD LexerCPP::WordListSet(int n, const char *wl) {
WordList *wordListN = nullptr;
switch (n) {
diff --git a/lexers/LexD.cxx b/lexers/LexD.cxx
index 9465942f5..9381a0d07 100644
--- a/lexers/LexD.cxx
+++ b/lexers/LexD.cxx
@@ -157,6 +157,7 @@ class LexerD : public DefaultLexer {
OptionSetD osD;
public:
LexerD(bool caseSensitive_) :
+ DefaultLexer("D", SCLEX_D),
caseSensitive(caseSensitive_) {
}
virtual ~LexerD() {
@@ -165,7 +166,7 @@ public:
delete this;
}
int SCI_METHOD Version() const override {
- return lvRelease4;
+ return lvRelease5;
}
const char * SCI_METHOD PropertyNames() override {
return osD.PropertyNames();
@@ -177,6 +178,9 @@ public:
return osD.DescribeProperty(name);
}
Sci_Position SCI_METHOD PropertySet(const char *key, const char *val) override;
+ const char * SCI_METHOD PropertyGet(const char *key) override {
+ return osD.PropertyGet(key);
+ }
const char * SCI_METHOD DescribeWordListSets() override {
return osD.DescribeWordListSets();
}
@@ -188,10 +192,10 @@ public:
return 0;
}
- static ILexer4 *LexerFactoryD() {
+ static ILexer5 *LexerFactoryD() {
return new LexerD(true);
}
- static ILexer4 *LexerFactoryDInsensitive() {
+ static ILexer5 *LexerFactoryDInsensitive() {
return new LexerD(false);
}
};
diff --git a/lexers/LexDMIS.cxx b/lexers/LexDMIS.cxx
index ce36ff056..3c8da6081 100644
--- a/lexers/LexDMIS.cxx
+++ b/lexers/LexDMIS.cxx
@@ -56,7 +56,7 @@ class LexerDMIS : public DefaultLexer
virtual ~LexerDMIS(void);
int SCI_METHOD Version() const override {
- return lvRelease4;
+ return lvRelease5;
}
void SCI_METHOD Release() override {
@@ -79,13 +79,17 @@ class LexerDMIS : public DefaultLexer
return -1;
}
+ const char * SCI_METHOD PropertyGet(const char *) override {
+ return NULL;
+ }
+
Sci_Position SCI_METHOD WordListSet(int n, const char *wl) override;
void * SCI_METHOD PrivateCall(int, void *) override {
return NULL;
}
- static ILexer4 *LexerFactoryDMIS() {
+ static ILexer5 *LexerFactoryDMIS() {
return new LexerDMIS;
}
@@ -129,7 +133,7 @@ void SCI_METHOD LexerDMIS::InitWordListSets(void)
}
-LexerDMIS::LexerDMIS(void) {
+LexerDMIS::LexerDMIS(void) : DefaultLexer("DMIS", SCLEX_DMIS) {
this->InitWordListSets();
this->m_majorWords.Clear();
diff --git a/lexers/LexEDIFACT.cxx b/lexers/LexEDIFACT.cxx
index 45f13bb3f..3623807a4 100644
--- a/lexers/LexEDIFACT.cxx
+++ b/lexers/LexEDIFACT.cxx
@@ -13,6 +13,8 @@
#include <cstring>
#include <cctype>
+#include <string>
+
#include "ILexer.h"
#include "Scintilla.h"
#include "SciLexer.h"
@@ -29,13 +31,13 @@ public:
LexerEDIFACT();
virtual ~LexerEDIFACT() {} // virtual destructor, as we inherit from ILexer
- static ILexer4 *Factory() {
+ static ILexer5 *Factory() {
return new LexerEDIFACT;
}
int SCI_METHOD Version() const override
{
- return lvRelease4;
+ return lvRelease5;
}
void SCI_METHOD Release() override
{
@@ -73,6 +75,21 @@ public:
}
return -1;
}
+
+ const char * SCI_METHOD PropertyGet(const char *key) override
+ {
+ m_lastPropertyValue = "";
+ if (!strcmp(key, "fold"))
+ {
+ m_lastPropertyValue = m_bFold ? "1" : "0";
+ }
+ if (!strcmp(key, "lexer.edifact.highlight.un.all")) // GetProperty
+ {
+ m_lastPropertyValue = m_bHighlightAllUN ? "1" : "0";
+ }
+ return m_lastPropertyValue.c_str();
+ }
+
const char * SCI_METHOD DescribeWordListSets() override
{
return NULL;
@@ -105,6 +122,8 @@ protected:
char m_chDecimal;
char m_chRelease;
char m_chSegment;
+
+ std::string m_lastPropertyValue;
};
LexerModule lmEDIFACT(SCLEX_EDIFACT, LexerEDIFACT::Factory, "edifact");
@@ -115,7 +134,7 @@ LexerModule lmEDIFACT(SCLEX_EDIFACT, LexerEDIFACT::Factory, "edifact");
///////////////////////////////////////////////////////////////////////////////
-LexerEDIFACT::LexerEDIFACT()
+LexerEDIFACT::LexerEDIFACT() : DefaultLexer("edifact", SCLEX_EDIFACT)
{
m_bFold = false;
m_bHighlightAllUN = false;
diff --git a/lexers/LexHTML.cxx b/lexers/LexHTML.cxx
index 7519afeb2..c6042f2b6 100644
--- a/lexers/LexHTML.cxx
+++ b/lexers/LexHTML.cxx
@@ -861,7 +861,10 @@ class LexerHTML : public DefaultLexer {
std::set<std::string> nonFoldingTags;
public:
explicit LexerHTML(bool isXml_, bool isPHPScript_) :
- DefaultLexer(isXml_ ? lexicalClassesHTML : lexicalClassesXML,
+ DefaultLexer(
+ isXml_ ? "xml" : (isPHPScript_ ? "phpscript" : "hypertext"),
+ isXml_ ? SCLEX_XML : (isPHPScript_ ? SCLEX_PHPSCRIPT : SCLEX_HTML),
+ isXml_ ? lexicalClassesHTML : lexicalClassesXML,
isXml_ ? std::size(lexicalClassesHTML) : std::size(lexicalClassesXML)),
isXml(isXml_),
isPHPScript(isPHPScript_),
@@ -883,6 +886,9 @@ public:
return osHTML.DescribeProperty(name);
}
Sci_Position SCI_METHOD PropertySet(const char *key, const char *val) override;
+ const char * SCI_METHOD PropertyGet(const char *key) override {
+ return osHTML.PropertyGet(key);
+ }
const char *SCI_METHOD DescribeWordListSets() override {
return osHTML.DescribeWordListSets();
}
@@ -890,13 +896,13 @@ public:
void SCI_METHOD Lex(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) override;
// No Fold as all folding performs in Lex.
- static ILexer4 *LexerFactoryHTML() {
+ static ILexer5 *LexerFactoryHTML() {
return new LexerHTML(false, false);
}
- static ILexer4 *LexerFactoryXML() {
+ static ILexer5 *LexerFactoryXML() {
return new LexerHTML(true, false);
}
- static ILexer4 *LexerFactoryPHPScript() {
+ static ILexer5 *LexerFactoryPHPScript() {
return new LexerHTML(false, true);
}
};
diff --git a/lexers/LexHaskell.cxx b/lexers/LexHaskell.cxx
index 8ed53d772..4d4fe1dd6 100644
--- a/lexers/LexHaskell.cxx
+++ b/lexers/LexHaskell.cxx
@@ -390,7 +390,8 @@ class LexerHaskell : public DefaultLexer {
public:
LexerHaskell(bool literate_)
- : literate(literate_)
+ : DefaultLexer(literate_ ? "literatehaskell" : "haskell", literate_ ? SCLEX_LITERATEHASKELL : SCLEX_HASKELL)
+ , literate(literate_)
, firstImportLine(-1)
, firstImportIndent(0)
{}
@@ -401,7 +402,7 @@ public:
}
int SCI_METHOD Version() const override {
- return lvRelease4;
+ return lvRelease5;
}
const char * SCI_METHOD PropertyNames() override {
@@ -418,6 +419,10 @@ public:
Sci_Position SCI_METHOD PropertySet(const char *key, const char *val) override;
+ const char * SCI_METHOD PropertyGet(const char *key) override {
+ return osHaskell.PropertyGet(key);
+ }
+
const char * SCI_METHOD DescribeWordListSets() override {
return osHaskell.DescribeWordListSets();
}
@@ -432,11 +437,11 @@ public:
return 0;
}
- static ILexer4 *LexerFactoryHaskell() {
+ static ILexer5 *LexerFactoryHaskell() {
return new LexerHaskell(false);
}
- static ILexer4 *LexerFactoryLiterateHaskell() {
+ static ILexer5 *LexerFactoryLiterateHaskell() {
return new LexerHaskell(true);
}
};
diff --git a/lexers/LexHollywood.cxx b/lexers/LexHollywood.cxx
index 41c295686..673381282 100644
--- a/lexers/LexHollywood.cxx
+++ b/lexers/LexHollywood.cxx
@@ -252,38 +252,42 @@ class LexerHollywood : public DefaultLexer {
OptionSetHollywood osHollywood;
public:
LexerHollywood(int (*CheckFoldPoint_)(char const *), const char * const wordListDescriptions[]) :
+ DefaultLexer("hollywood", SCLEX_HOLLYWOOD),
CheckFoldPoint(CheckFoldPoint_),
osHollywood(wordListDescriptions) {
}
virtual ~LexerHollywood() {
}
- void SCI_METHOD Release() {
+ void SCI_METHOD Release() override {
delete this;
}
- int SCI_METHOD Version() const {
- return lvRelease4;
+ int SCI_METHOD Version() const override {
+ return lvRelease5;
}
- const char * SCI_METHOD PropertyNames() {
+ const char * SCI_METHOD PropertyNames() override {
return osHollywood.PropertyNames();
}
- int SCI_METHOD PropertyType(const char *name) {
+ int SCI_METHOD PropertyType(const char *name) override {
return osHollywood.PropertyType(name);
}
- const char * SCI_METHOD DescribeProperty(const char *name) {
+ const char * SCI_METHOD DescribeProperty(const char *name) override {
return osHollywood.DescribeProperty(name);
}
- Sci_Position SCI_METHOD PropertySet(const char *key, const char *val);
- const char * SCI_METHOD DescribeWordListSets() {
+ Sci_Position SCI_METHOD PropertySet(const char *key, const char *val) override;
+ const char * SCI_METHOD PropertyGet(const char* key) override {
+ return osHollywood.PropertyGet(key);
+ }
+ const char * SCI_METHOD DescribeWordListSets() override {
return osHollywood.DescribeWordListSets();
}
- Sci_Position SCI_METHOD WordListSet(int n, const char *wl);
- void SCI_METHOD Lex(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess);
- void SCI_METHOD Fold(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess);
+ Sci_Position SCI_METHOD WordListSet(int n, const char *wl) override;
+ void SCI_METHOD Lex(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) override;
+ void SCI_METHOD Fold(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) override;
- void * SCI_METHOD PrivateCall(int, void *) {
+ void * SCI_METHOD PrivateCall(int, void *) override {
return 0;
}
- static ILexer4 *LexerFactoryHollywood() {
+ static ILexer5 *LexerFactoryHollywood() {
return new LexerHollywood(CheckHollywoodFoldPoint, hollywoodWordListDesc);
}
};
diff --git a/lexers/LexJSON.cxx b/lexers/LexJSON.cxx
index 8e27bca6d..3712e931f 100644
--- a/lexers/LexJSON.cxx
+++ b/lexers/LexJSON.cxx
@@ -201,6 +201,7 @@ class LexerJSON : public DefaultLexer {
public:
LexerJSON() :
+ DefaultLexer("json", SCLEX_JSON),
setOperators(CharacterSet::setNone, "[{}]:,"),
setURL(CharacterSet::setAlphaNum, "-._~:/?#[]@!$&'()*+,),="),
setKeywordJSONLD(CharacterSet::setAlpha, ":@"),
@@ -208,7 +209,7 @@ class LexerJSON : public DefaultLexer {
}
virtual ~LexerJSON() {}
int SCI_METHOD Version() const override {
- return lvRelease4;
+ return lvRelease5;
}
void SCI_METHOD Release() override {
delete this;
@@ -228,6 +229,9 @@ class LexerJSON : public DefaultLexer {
}
return -1;
}
+ const char * SCI_METHOD PropertyGet(const char *key) override {
+ return optSetJSON.PropertyGet(key);
+ }
Sci_Position SCI_METHOD WordListSet(int n, const char *wl) override {
WordList *wordListN = 0;
switch (n) {
@@ -252,7 +256,7 @@ class LexerJSON : public DefaultLexer {
void *SCI_METHOD PrivateCall(int, void *) override {
return 0;
}
- static ILexer4 *LexerFactoryJSON() {
+ static ILexer5 *LexerFactoryJSON() {
return new LexerJSON;
}
const char *SCI_METHOD DescribeWordListSets() override {
diff --git a/lexers/LexLaTeX.cxx b/lexers/LexLaTeX.cxx
index 930c8173b..52f10aec7 100644
--- a/lexers/LexLaTeX.cxx
+++ b/lexers/LexLaTeX.cxx
@@ -84,11 +84,19 @@ private:
saves.resize(numLines + 128);
}
public:
- static ILexer4 *LexerFactoryLaTeX() {
+ static ILexer5 *LexerFactoryLaTeX() {
return new LexerLaTeX();
}
void SCI_METHOD Lex(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) override;
void SCI_METHOD Fold(Sci_PositionU startPos, Sci_Position length, int initStyle, IDocument *pAccess) override;
+
+ // ILexer5 methods
+ const char * SCI_METHOD GetName() override {
+ return "latex";
+ }
+ int SCI_METHOD GetIdentifier() override {
+ return SCLEX_LATEX;
+ }
};
static bool latexIsSpecial(int ch) {
diff --git a/lexers/LexNim.cxx b/lexers/LexNim.cxx
index da21cdb50..d1b462abe 100644
--- a/lexers/LexNim.cxx
+++ b/lexers/LexNim.cxx
@@ -225,7 +225,7 @@ class LexerNim : public DefaultLexer {
public:
LexerNim() :
- DefaultLexer(lexicalClasses, ELEMENTS(lexicalClasses)),
+ DefaultLexer("nim", SCLEX_NIM, lexicalClasses, ELEMENTS(lexicalClasses)),
setWord(CharacterSet::setAlphaNum, "_", 0x80, true) { }
virtual ~LexerNim() { }
@@ -235,7 +235,7 @@ public:
}
int SCI_METHOD Version() const noexcept override {
- return lvRelease4;
+ return lvRelease5;
}
const char * SCI_METHOD PropertyNames() override {
@@ -252,6 +252,10 @@ public:
Sci_Position SCI_METHOD PropertySet(const char *key, const char *val) override;
+ const char * SCI_METHOD PropertyGet(const char* key) override {
+ return osNim.PropertyGet(key);
+ }
+
const char * SCI_METHOD DescribeWordListSets() override {
return osNim.DescribeWordListSets();
}
@@ -273,7 +277,7 @@ public:
return style;
}
- static ILexer4 *LexerFactoryNim() {
+ static ILexer5 *LexerFactoryNim() {
return new LexerNim();
}
};
diff --git a/lexers/LexPerl.cxx b/lexers/LexPerl.cxx
index 834638f41..f01d26ba4 100644
--- a/lexers/LexPerl.cxx
+++ b/lexers/LexPerl.cxx
@@ -423,6 +423,7 @@ class LexerPerl : public DefaultLexer {
OptionSetPerl osPerl;
public:
LexerPerl() :
+ DefaultLexer("perl", SCLEX_PERL),
setWordStart(CharacterSet::setAlpha, "_", 0x80, true),
setWord(CharacterSet::setAlphaNum, "_", 0x80, true),
setSpecialVar(CharacterSet::setNone, "\"$;<>&`'+,./\\%:=~!?@[]"),
@@ -434,7 +435,7 @@ public:
delete this;
}
int SCI_METHOD Version() const override {
- return lvRelease4;
+ return lvRelease5;
}
const char *SCI_METHOD PropertyNames() override {
return osPerl.PropertyNames();
@@ -446,6 +447,9 @@ public:
return osPerl.DescribeProperty(name);
}
Sci_Position SCI_METHOD PropertySet(const char *key, const char *val) override;
+ const char * SCI_METHOD PropertyGet(const char *key) override {
+ return osPerl.PropertyGet(key);
+ }
const char *SCI_METHOD DescribeWordListSets() override {
return osPerl.DescribeWordListSets();
}
@@ -457,7 +461,7 @@ public:
return 0;
}
- static ILexer4 *LexerFactoryPerl() {
+ static ILexer5 *LexerFactoryPerl() {
return new LexerPerl();
}
int InputSymbolScan(StyleContext &sc);
diff --git a/lexers/LexProgress.cxx b/lexers/LexProgress.cxx
index 2034a7996..2a545b6ec 100644
--- a/lexers/LexProgress.cxx
+++ b/lexers/LexProgress.cxx
@@ -136,6 +136,7 @@ class LexerABL : public DefaultLexer {
OptionSetABL osABL;
public:
LexerABL() :
+ DefaultLexer("abl", SCLEX_PROGRESS),
setWord(CharacterSet::setAlphaNum, "_", 0x80, true),
setNegationOp(CharacterSet::setNone, "!"),
setArithmethicOp(CharacterSet::setNone, "+-/*%"),
@@ -148,7 +149,7 @@ public:
delete this;
}
int SCI_METHOD Version() const override {
- return lvRelease4;
+ return lvRelease5;
}
const char * SCI_METHOD PropertyNames() override {
return osABL.PropertyNames();
@@ -160,6 +161,9 @@ public:
return osABL.DescribeProperty(name);
}
Sci_Position SCI_METHOD PropertySet(const char *key, const char *val) override ;
+ const char * SCI_METHOD PropertyGet(const char *key) override {
+ return osABL.PropertyGet(key);
+ }
const char * SCI_METHOD DescribeWordListSets() override {
return osABL.DescribeWordListSets();
@@ -174,7 +178,7 @@ public:
int SCI_METHOD LineEndTypesSupported() override {
return SC_LINE_END_TYPE_DEFAULT;
}
- static ILexer4 *LexerFactoryABL() {
+ static ILexer5 *LexerFactoryABL() {
return new LexerABL();
}
};
diff --git a/lexers/LexPython.cxx b/lexers/LexPython.cxx
index f325ca360..24a11e3b0 100644
--- a/lexers/LexPython.cxx
+++ b/lexers/LexPython.cxx
@@ -344,7 +344,7 @@ class LexerPython : public DefaultLexer {
std::map<Sci_Position, std::vector<SingleFStringExpState> > ftripleStateAtEol;
public:
explicit LexerPython() :
- DefaultLexer(lexicalClasses, ELEMENTS(lexicalClasses)),
+ DefaultLexer("python", SCLEX_PYTHON, lexicalClasses, ELEMENTS(lexicalClasses)),
subStyles(styleSubable, 0x80, 0x40, 0) {
}
~LexerPython() override {
@@ -353,7 +353,7 @@ public:
delete this;
}
int SCI_METHOD Version() const override {
- return lvRelease4;
+ return lvRelease5;
}
const char *SCI_METHOD PropertyNames() override {
return osPython.PropertyNames();
@@ -365,6 +365,9 @@ public:
return osPython.DescribeProperty(name);
}
Sci_Position SCI_METHOD PropertySet(const char *key, const char *val) override;
+ const char * SCI_METHOD PropertyGet(const char *key) override {
+ return osPython.PropertyGet(key);
+ }
const char *SCI_METHOD DescribeWordListSets() override {
return osPython.DescribeWordListSets();
}
@@ -409,7 +412,7 @@ public:
return styleSubable;
}
- static ILexer4 *LexerFactoryPython() {
+ static ILexer5 *LexerFactoryPython() {
return new LexerPython();
}
diff --git a/lexers/LexRegistry.cxx b/lexers/LexRegistry.cxx
index 779ea2f47..acdaccebe 100644
--- a/lexers/LexRegistry.cxx
+++ b/lexers/LexRegistry.cxx
@@ -161,10 +161,10 @@ class LexerRegistry : public DefaultLexer {
}
public:
- LexerRegistry() {}
+ LexerRegistry() : DefaultLexer("registry", SCLEX_REGISTRY) {}
virtual ~LexerRegistry() {}
int SCI_METHOD Version() const override {
- return lvRelease4;
+ return lvRelease5;
}
void SCI_METHOD Release() override {
delete this;
@@ -184,13 +184,17 @@ public:
}
return -1;
}
+ const char * SCI_METHOD PropertyGet(const char *key) override {
+ return optSetRegistry.PropertyGet(key);
+ }
+
Sci_Position SCI_METHOD WordListSet(int, const char *) override {
return -1;
}
void *SCI_METHOD PrivateCall(int, void *) override {
return 0;
}
- static ILexer4 *LexerFactoryRegistry() {
+ static ILexer5 *LexerFactoryRegistry() {
return new LexerRegistry;
}
const char *SCI_METHOD DescribeWordListSets() override {
diff --git a/lexers/LexRust.cxx b/lexers/LexRust.cxx
index ec930e470..439d2d3b0 100644
--- a/lexers/LexRust.cxx
+++ b/lexers/LexRust.cxx
@@ -120,13 +120,15 @@ class LexerRust : public DefaultLexer {
OptionsRust options;
OptionSetRust osRust;
public:
+ LexerRust() : DefaultLexer("rust", SCLEX_RUST) {
+ }
virtual ~LexerRust() {
}
void SCI_METHOD Release() override {
delete this;
}
int SCI_METHOD Version() const override {
- return lvRelease4;
+ return lvRelease5;
}
const char * SCI_METHOD PropertyNames() override {
return osRust.PropertyNames();
@@ -138,6 +140,9 @@ public:
return osRust.DescribeProperty(name);
}
Sci_Position SCI_METHOD PropertySet(const char *key, const char *val) override;
+ const char * SCI_METHOD PropertyGet(const char *key) override {
+ return osRust.PropertyGet(key);
+ }
const char * SCI_METHOD DescribeWordListSets() override {
return osRust.DescribeWordListSets();
}
@@ -147,7 +152,7 @@ public:
void * SCI_METHOD PrivateCall(int, void *) override {
return 0;
}
- static ILexer4 *LexerFactoryRust() {
+ static ILexer5 *LexerFactoryRust() {
return new LexerRust();
}
};
diff --git a/lexers/LexSQL.cxx b/lexers/LexSQL.cxx
index a8dd3c393..d45dc2098 100644
--- a/lexers/LexSQL.cxx
+++ b/lexers/LexSQL.cxx
@@ -303,12 +303,12 @@ struct OptionSetSQL : public OptionSet<OptionsSQL> {
class LexerSQL : public DefaultLexer {
public :
- LexerSQL() {}
+ LexerSQL() : DefaultLexer("sql", SCLEX_SQL) {}
virtual ~LexerSQL() {}
int SCI_METHOD Version () const override {
- return lvRelease4;
+ return lvRelease5;
}
void SCI_METHOD Release() override {
@@ -334,6 +334,10 @@ public :
return -1;
}
+ const char * SCI_METHOD PropertyGet(const char *key) override {
+ return osSQL.PropertyGet(key);
+ }
+
const char * SCI_METHOD DescribeWordListSets() override {
return osSQL.DescribeWordListSets();
}
@@ -346,7 +350,7 @@ public :
return 0;
}
- static ILexer4 *LexerFactorySQL() {
+ static ILexer5 *LexerFactorySQL() {
return new LexerSQL();
}
private:
diff --git a/lexers/LexVerilog.cxx b/lexers/LexVerilog.cxx
index 640f12fcb..ac5859e93 100644
--- a/lexers/LexVerilog.cxx
+++ b/lexers/LexVerilog.cxx
@@ -216,12 +216,13 @@ class LexerVerilog : public DefaultLexer {
public:
LexerVerilog() :
+ DefaultLexer("verilog", SCLEX_VERILOG),
setWord(CharacterSet::setAlphaNum, "._", 0x80, true),
subStyles(styleSubable, 0x80, 0x40, activeFlag) {
}
virtual ~LexerVerilog() {}
int SCI_METHOD Version() const override {
- return lvRelease4;
+ return lvRelease5;
}
void SCI_METHOD Release() override {
delete this;
@@ -238,6 +239,9 @@ public:
Sci_Position SCI_METHOD PropertySet(const char* key, const char* val) override {
return osVerilog.PropertySet(&options, key, val);
}
+ const char * SCI_METHOD PropertyGet(const char *key) override {
+ return osVerilog.PropertyGet(key);
+ }
const char* SCI_METHOD DescribeWordListSets() override {
return osVerilog.DescribeWordListSets();
}
@@ -279,7 +283,7 @@ public:
const char * SCI_METHOD GetSubStyleBases() override {
return styleSubable;
}
- static ILexer4* LexerFactoryVerilog() {
+ static ILexer5* LexerFactoryVerilog() {
return new LexerVerilog();
}
static int MaskActive(int style) {
diff --git a/lexers/LexVisualProlog.cxx b/lexers/LexVisualProlog.cxx
index 552c0ffc8..ba5b222c1 100644
--- a/lexers/LexVisualProlog.cxx
+++ b/lexers/LexVisualProlog.cxx
@@ -71,7 +71,7 @@ class LexerVisualProlog : public DefaultLexer {
OptionsVisualProlog options;
OptionSetVisualProlog osVisualProlog;
public:
- LexerVisualProlog() {
+ LexerVisualProlog() : DefaultLexer("visualprolog", SCLEX_VISUALPROLOG) {
}
virtual ~LexerVisualProlog() {
}
@@ -79,7 +79,7 @@ public:
delete this;
}
int SCI_METHOD Version() const override {
- return lvRelease4;
+ return lvRelease5;
}
const char * SCI_METHOD PropertyNames() override {
return osVisualProlog.PropertyNames();
@@ -91,6 +91,9 @@ public:
return osVisualProlog.DescribeProperty(name);
}
Sci_Position SCI_METHOD PropertySet(const char *key, const char *val) override;
+ const char * SCI_METHOD PropertyGet(const char *key) override {
+ return osVisualProlog.PropertyGet(key);
+ }
const char * SCI_METHOD DescribeWordListSets() override {
return osVisualProlog.DescribeWordListSets();
}
@@ -102,7 +105,7 @@ public:
return 0;
}
- static ILexer4 *LexerFactoryVisualProlog() {
+ static ILexer5 *LexerFactoryVisualProlog() {
return new LexerVisualProlog();
}
};
diff --git a/lexers/LexX12.cxx b/lexers/LexX12.cxx
index 65ce99b4f..303bcf5d2 100644
--- a/lexers/LexX12.cxx
+++ b/lexers/LexX12.cxx
@@ -30,13 +30,13 @@ public:
LexerX12();
virtual ~LexerX12() {} // virtual destructor, as we inherit from ILexer
- static ILexer4 *Factory() {
+ static ILexer5 *Factory() {
return new LexerX12;
}
int SCI_METHOD Version() const override
{
- return lvRelease4;
+ return lvRelease5;
}
void SCI_METHOD Release() override
{
@@ -67,6 +67,9 @@ public:
}
return -1;
}
+ const char * SCI_METHOD PropertyGet(const char *) override {
+ return "";
+ }
const char * SCI_METHOD DescribeWordListSets() override
{
return NULL;
@@ -109,7 +112,7 @@ LexerModule lmX12(SCLEX_X12, LexerX12::Factory, "x12");
///////////////////////////////////////////////////////////////////////////////
-LexerX12::LexerX12()
+LexerX12::LexerX12() : DefaultLexer("x12", SCLEX_X12)
{
m_bFold = false;
m_chSegment[0] = m_chSegment[1] = m_chSegment[2] = m_chElement = m_chSubElement = 0;