diff options
Diffstat (limited to 'lexers')
-rw-r--r-- | lexers/LexAsm.cxx | 15 | ||||
-rw-r--r-- | lexers/LexBaan.cxx | 10 | ||||
-rw-r--r-- | lexers/LexBash.cxx | 9 | ||||
-rw-r--r-- | lexers/LexBasic.cxx | 21 | ||||
-rw-r--r-- | lexers/LexCIL.cxx | 10 | ||||
-rw-r--r-- | lexers/LexCPP.cxx | 21 | ||||
-rw-r--r-- | lexers/LexD.cxx | 10 | ||||
-rw-r--r-- | lexers/LexDMIS.cxx | 10 | ||||
-rw-r--r-- | lexers/LexEDIFACT.cxx | 25 | ||||
-rw-r--r-- | lexers/LexHTML.cxx | 14 | ||||
-rw-r--r-- | lexers/LexHaskell.cxx | 13 | ||||
-rw-r--r-- | lexers/LexHollywood.cxx | 30 | ||||
-rw-r--r-- | lexers/LexJSON.cxx | 8 | ||||
-rw-r--r-- | lexers/LexLaTeX.cxx | 10 | ||||
-rw-r--r-- | lexers/LexNim.cxx | 10 | ||||
-rw-r--r-- | lexers/LexPerl.cxx | 8 | ||||
-rw-r--r-- | lexers/LexProgress.cxx | 8 | ||||
-rw-r--r-- | lexers/LexPython.cxx | 9 | ||||
-rw-r--r-- | lexers/LexRegistry.cxx | 10 | ||||
-rw-r--r-- | lexers/LexRust.cxx | 9 | ||||
-rw-r--r-- | lexers/LexSQL.cxx | 10 | ||||
-rw-r--r-- | lexers/LexVerilog.cxx | 8 | ||||
-rw-r--r-- | lexers/LexVisualProlog.cxx | 9 | ||||
-rw-r--r-- | lexers/LexX12.cxx | 9 |
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; |