From 35eed469ff0228dcfd205939d2b98b52da36a5b5 Mon Sep 17 00:00:00 2001 From: Neil Date: Thu, 22 Jun 2017 18:04:29 +1000 Subject: Basic implementation helpers for style metadata. --- lexlib/LexerBase.cxx | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) (limited to 'lexlib/LexerBase.cxx') diff --git a/lexlib/LexerBase.cxx b/lexlib/LexerBase.cxx index fdf8878a2..4e1c03991 100644 --- a/lexlib/LexerBase.cxx +++ b/lexlib/LexerBase.cxx @@ -26,7 +26,8 @@ using namespace Scintilla; static const char styleSubable[] = { 0 }; -LexerBase::LexerBase() { +LexerBase::LexerBase(const LexicalClass *lexClasses_, size_t nClasses_) : + lexClasses(lexClasses_), nClasses(nClasses_) { for (int wl = 0; wl < numWordLists; wl++) keyWordLists[wl] = new WordList; keyWordLists[numWordLists] = 0; @@ -129,17 +130,17 @@ const char * SCI_METHOD LexerBase::GetSubStyleBases() { } int SCI_METHOD LexerBase::NamedStyles() { - return 0; + return static_cast(nClasses); } -const char * SCI_METHOD LexerBase::NameOfStyle(int) { - return ""; +const char * SCI_METHOD LexerBase::NameOfStyle(int style) { + return (style < NamedStyles()) ? lexClasses[style].name : ""; } -const char * SCI_METHOD LexerBase::TagsOfStyle(int) { - return ""; +const char * SCI_METHOD LexerBase::TagsOfStyle(int style) { + return (style < NamedStyles()) ? lexClasses[style].tags : ""; } -const char * SCI_METHOD LexerBase::DescriptionOfStyle(int) { - return ""; +const char * SCI_METHOD LexerBase::DescriptionOfStyle(int style) { + return (style < NamedStyles()) ? lexClasses[style].description : ""; } -- cgit v1.2.3