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. --- lexlib/DefaultLexer.h | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'lexlib/DefaultLexer.h') diff --git a/lexlib/DefaultLexer.h b/lexlib/DefaultLexer.h index 636bd0690..7856a1dd1 100644 --- a/lexlib/DefaultLexer.h +++ b/lexlib/DefaultLexer.h @@ -13,11 +13,14 @@ namespace Scintilla { // A simple lexer with no state -class DefaultLexer : public ILexerWithMetaData { +class DefaultLexer : public ILexerWithIdentity { + const char *languageName; + int language; const LexicalClass *lexClasses; size_t nClasses; public: - DefaultLexer(const LexicalClass *lexClasses_ = nullptr, size_t nClasses_ = 0); + DefaultLexer(const char *languageName_, int language_, + const LexicalClass *lexClasses_ = nullptr, size_t nClasses_ = 0); virtual ~DefaultLexer(); void SCI_METHOD Release() override; int SCI_METHOD Version() const override; @@ -44,6 +47,9 @@ public: const char * SCI_METHOD NameOfStyle(int style) override; const char * SCI_METHOD TagsOfStyle(int style) override; const char * SCI_METHOD DescriptionOfStyle(int style) override; + // ILexerWithIdentity methods + const char * SCI_METHOD GetName() override; + int SCI_METHOD GetIdentifier() override; }; } -- cgit v1.2.3