diff options
author | Neil <nyamatongwe@gmail.com> | 2017-06-22 18:04:29 +1000 |
---|---|---|
committer | Neil <nyamatongwe@gmail.com> | 2017-06-22 18:04:29 +1000 |
commit | fd8ab2d18eb5ce51f3ebfdfd97b9d1f7a0c5d873 (patch) | |
tree | f323f9d912411c44a4b3bc513a49b69e49c7438a /lexlib/LexerBase.cxx | |
parent | 3a993f0a5e97435874e06d5496085c4cb7a0d4cb (diff) | |
download | scintilla-mirror-fd8ab2d18eb5ce51f3ebfdfd97b9d1f7a0c5d873.tar.gz |
Backport: Basic implementation helpers for style metadata.
Backport of changeset 6347:69b7471ad62f.
Diffstat (limited to 'lexlib/LexerBase.cxx')
-rw-r--r-- | lexlib/LexerBase.cxx | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/lexlib/LexerBase.cxx b/lexlib/LexerBase.cxx index 5ebbe0958..13d3fa4e0 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<int>(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 : ""; } |