diff options
Diffstat (limited to 'src/ScintillaBase.cxx')
| -rw-r--r-- | src/ScintillaBase.cxx | 41 |
1 files changed, 18 insertions, 23 deletions
diff --git a/src/ScintillaBase.cxx b/src/ScintillaBase.cxx index 92d8577a8..082cb82d5 100644 --- a/src/ScintillaBase.cxx +++ b/src/ScintillaBase.cxx @@ -23,13 +23,17 @@ #include "ILexer.h" #include "Scintilla.h" +#ifdef SCI_LEXER #include "SciLexer.h" +#endif #include "PropSetSimple.h" #include "CharacterCategory.h" +#ifdef SCI_LEXER #include "LexerModule.h" #include "Catalogue.h" +#endif #include "Position.h" #include "UniqueString.h" @@ -57,7 +61,9 @@ #include "AutoComplete.h" #include "ScintillaBase.h" +#ifdef SCI_LEXER #include "ExternalLexer.h" +#endif using namespace Scintilla; @@ -542,6 +548,8 @@ void ScintillaBase::RightButtonDownWithModifiers(Point pt, unsigned int curTime, Editor::RightButtonDownWithModifiers(pt, curTime, modifiers); } +#ifdef SCI_LEXER + namespace Scintilla { class LexState : public LexInterface { @@ -553,7 +561,6 @@ public: int lexLanguage; explicit LexState(Document *pdoc_); - void SetInstance(ILexer *instance_); // Deleted so LexState objects can not be copied. LexState(const LexState &) = delete; LexState(LexState &&) = delete; @@ -562,10 +569,8 @@ public: ~LexState() override; void SetLexer(uptr_t wParam); void SetLexerLanguage(const char *languageName); - const char *DescribeWordListSets(); void SetWordList(int n, const char *wl); - int GetIdentifier() const; const char *GetName() const; void *PrivateCall(int operation, void *pointer); const char *PropertyNames(); @@ -608,15 +613,6 @@ LexState::~LexState() { } } -void LexState::SetInstance(ILexer *instance_) { - if (instance) { - instance->Release(); - instance = nullptr; - } - instance = instance_; - pdoc->LexerChanged(); -} - LexState *ScintillaBase::DocumentLexState() { if (!pdoc->GetLexInterface()) { pdoc->SetLexInterface(Sci::make_unique<LexState>(pdoc)); @@ -845,7 +841,10 @@ const char *LexState::DescriptionOfStyle(int style) { } } +#endif + void ScintillaBase::NotifyStyleToNeeded(Sci::Position endStyleNeeded) { +#ifdef SCI_LEXER if (DocumentLexState()->lexLanguage != SCLEX_CONTAINER) { const Sci::Line lineEndStyled = pdoc->SciLineFromPosition(pdoc->GetEndStyled()); @@ -854,11 +853,14 @@ void ScintillaBase::NotifyStyleToNeeded(Sci::Position endStyleNeeded) { DocumentLexState()->Colourise(endStyled, endStyleNeeded); return; } +#endif Editor::NotifyStyleToNeeded(endStyleNeeded); } void ScintillaBase::NotifyLexerChanged(Document *, void *) { +#ifdef SCI_LEXER vs.EnsureStyle(0xff); +#endif } sptr_t ScintillaBase::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam) { @@ -1056,6 +1058,7 @@ sptr_t ScintillaBase::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lPara displayPopupMenu = static_cast<int>(wParam); break; +#ifdef SCI_LEXER case SCI_SETLEXER: DocumentLexState()->SetLexer(static_cast<int>(wParam)); break; @@ -1063,14 +1066,6 @@ sptr_t ScintillaBase::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lPara case SCI_GETLEXER: return DocumentLexState()->lexLanguage; - case SCI_SETILEXER: - if (wParam == 0) { - DocumentLexState()->SetInstance(reinterpret_cast<ILexer *>(lParam)); - } else { - DocumentLexState()->SetInstance(new LexillaLexer(reinterpret_cast<ILexer5 *>(lParam))); - } - return 0; - case SCI_COLOURISE: if (DocumentLexState()->lexLanguage == SCLEX_CONTAINER) { pdoc->ModifiedAt(static_cast<Sci::Position>(wParam)); @@ -1107,11 +1102,9 @@ sptr_t ScintillaBase::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lPara case SCI_GETLEXERLANGUAGE: return StringResult(lParam, DocumentLexState()->GetName()); -#ifdef SCI_LEXER case SCI_LOADLEXERLIBRARY: - ExternalLexerLoad(ConstCharPtrFromSPtr(lParam), wParam != 0); + ExternalLexerLoad(ConstCharPtrFromSPtr(lParam)); break; -#endif case SCI_PRIVATELEXERCALL: return reinterpret_cast<sptr_t>( @@ -1183,6 +1176,8 @@ sptr_t ScintillaBase::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lPara return StringResult(lParam, DocumentLexState()-> DescriptionOfStyle(static_cast<int>(wParam))); +#endif + default: return Editor::WndProc(iMessage, wParam, lParam); } |
