From 3a993f0a5e97435874e06d5496085c4cb7a0d4cb Mon Sep 17 00:00:00 2001 From: Neil Date: Thu, 22 Jun 2017 17:43:56 +1000 Subject: Backport: Add style metadata methods with null implementations. Backport based on changesets 6345:faecbd0078e5 and 6346:72bd27f81477. --- src/ScintillaBase.cxx | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) (limited to 'src') diff --git a/src/ScintillaBase.cxx b/src/ScintillaBase.cxx index 0c7df04cb..23dce2fbf 100644 --- a/src/ScintillaBase.cxx +++ b/src/ScintillaBase.cxx @@ -582,6 +582,10 @@ public: void SetIdentifiers(int style, const char *identifiers); int DistanceToSecondaryStyles(); const char *GetSubStyleBases(); + int NamedStyles(); + const char *NameOfStyle(int style); + const char *TagsOfStyle(int style); + const char *DescriptionOfStyle(int style); }; #ifdef SCI_NAMESPACE @@ -790,6 +794,38 @@ const char *LexState::GetSubStyleBases() { return ""; } +int LexState::NamedStyles() { + if (instance && (interfaceVersion >= lvMetaData)) { + return static_cast(instance)->NamedStyles(); + } else { + return -1; + } +} + +const char *LexState::NameOfStyle(int style) { + if (instance && (interfaceVersion >= lvMetaData)) { + return static_cast(instance)->NameOfStyle(style); + } else { + return 0; + } +} + +const char *LexState::TagsOfStyle(int style) { + if (instance && (interfaceVersion >= lvMetaData)) { + return static_cast(instance)->TagsOfStyle(style); + } else { + return 0; + } +} + +const char *LexState::DescriptionOfStyle(int style) { + if (instance && (interfaceVersion >= lvMetaData)) { + return static_cast(instance)->DescriptionOfStyle(style); + } else { + return 0; + } +} + #endif void ScintillaBase::NotifyStyleToNeeded(Sci::Position endStyleNeeded) { @@ -1101,6 +1137,19 @@ sptr_t ScintillaBase::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lPara case SCI_GETSUBSTYLEBASES: return StringResult(lParam, DocumentLexState()->GetSubStyleBases()); + + case SCI_GETNAMEDSTYLES: + return DocumentLexState()->NamedStyles(); + + case SCI_NAMEOFSTYLE: + return StringResult(lParam, DocumentLexState()->NameOfStyle(wParam)); + + case SCI_TAGSOFSTYLE: + return StringResult(lParam, DocumentLexState()->TagsOfStyle(wParam)); + + case SCI_DESCRIPTIONOFSTYLE: + return StringResult(lParam, DocumentLexState()->DescriptionOfStyle(wParam)); + #endif default: -- cgit v1.2.3