diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/ScintillaBase.cxx | 11 | 
1 files changed, 11 insertions, 0 deletions
| diff --git a/src/ScintillaBase.cxx b/src/ScintillaBase.cxx index e65b3ecf7..75f0d5a16 100644 --- a/src/ScintillaBase.cxx +++ b/src/ScintillaBase.cxx @@ -504,6 +504,7 @@ public:  	int SubStylesStart(int styleBase);  	int SubStylesLength(int styleBase);  	int StyleFromSubStyle(int subStyle); +	int PrimaryStyleFromStyle(int style);  	void FreeSubStyles();  	void SetIdentifiers(int style, const char *identifiers);  	int DistanceToSecondaryStyles(); @@ -686,6 +687,13 @@ int LexState::StyleFromSubStyle(int subStyle) {  	return 0;  } +int LexState::PrimaryStyleFromStyle(int style) { +	if (instance && (interfaceVersion >= lvSubStyles)) { +		return static_cast<ILexerWithSubStyles *>(instance)->PrimaryStyleFromStyle(style); +	} +	return 0; +} +  void LexState::FreeSubStyles() {  	if (instance && (interfaceVersion >= lvSubStyles)) {  		static_cast<ILexerWithSubStyles *>(instance)->FreeSubStyles(); @@ -994,6 +1002,9 @@ sptr_t ScintillaBase::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lPara  	case SCI_GETSTYLEFROMSUBSTYLE:  		return DocumentLexState()->StyleFromSubStyle(wParam); +	case SCI_GETPRIMARYSTYLEFROMSTYLE: +		return DocumentLexState()->PrimaryStyleFromStyle(wParam); +  	case SCI_FREESUBSTYLES:  		DocumentLexState()->FreeSubStyles();  		break; | 
