From 215e051e588219ec41341a27bb87793732cccd88 Mon Sep 17 00:00:00 2001 From: mitchell Date: Sat, 4 Jan 2020 13:50:52 -0500 Subject: Backport: Define ILexerWithIdentity with methods for retrieving name, ID, and property values. Implement ILexerWithIdentity on object lexers. Implement ILexerWithIdentity on LexerSimple wrapper for function lexers. Backport of changeset 7870:6ffcbd42288c, but with a new interface compatible with ILexer, not ILexer5. --- lexers/LexJSON.cxx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'lexers/LexJSON.cxx') diff --git a/lexers/LexJSON.cxx b/lexers/LexJSON.cxx index 3c754f888..2f76a103b 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 lvOriginal; + return lvIdentity; } 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) { -- cgit v1.2.3