aboutsummaryrefslogtreecommitdiffhomepage
path: root/lexers/LexJSON.cxx
diff options
context:
space:
mode:
authormitchell <unknown>2020-01-04 13:50:52 -0500
committermitchell <unknown>2020-01-04 13:50:52 -0500
commit215e051e588219ec41341a27bb87793732cccd88 (patch)
treebfcd76bec4252a214985c66da3d3d88c8123154a /lexers/LexJSON.cxx
parenta64428dc77747caba268e25e4ec9d7d1db10eefa (diff)
downloadscintilla-mirror-215e051e588219ec41341a27bb87793732cccd88.tar.gz
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.
Diffstat (limited to 'lexers/LexJSON.cxx')
-rw-r--r--lexers/LexJSON.cxx6
1 files changed, 5 insertions, 1 deletions
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) {