aboutsummaryrefslogtreecommitdiffhomepage
path: root/lexlib/LexerBase.cxx
diff options
context:
space:
mode:
authorNeil <nyamatongwe@gmail.com>2017-06-22 18:04:29 +1000
committerNeil <nyamatongwe@gmail.com>2017-06-22 18:04:29 +1000
commitfd8ab2d18eb5ce51f3ebfdfd97b9d1f7a0c5d873 (patch)
treef323f9d912411c44a4b3bc513a49b69e49c7438a /lexlib/LexerBase.cxx
parent3a993f0a5e97435874e06d5496085c4cb7a0d4cb (diff)
downloadscintilla-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.cxx17
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 : "";
}