aboutsummaryrefslogtreecommitdiffhomepage
path: root/lexers/LexBasic.cxx
diff options
context:
space:
mode:
authorNeil <nyamatongwe@gmail.com>2019-12-22 22:36:51 +1100
committerNeil <nyamatongwe@gmail.com>2019-12-22 22:36:51 +1100
commiteed707bb9ad6da944af207a51e4a8d460d6c6846 (patch)
treeb504d202eea59088f3290d8c12d3307b17e88b93 /lexers/LexBasic.cxx
parenta4bd72249722211f08ffa3e65c664a9ccbbc7f84 (diff)
downloadscintilla-mirror-eed707bb9ad6da944af207a51e4a8d460d6c6846.tar.gz
Define ILexer5 with methods for retrieving name, ID, and property values.
Implement ILexer5 on object lexers. Implement ILexer5 on LexerSimple wrapper for function lexers.
Diffstat (limited to 'lexers/LexBasic.cxx')
-rw-r--r--lexers/LexBasic.cxx21
1 files changed, 13 insertions, 8 deletions
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 );
}
};