diff options
author | Neil <nyamatongwe@gmail.com> | 2021-08-22 22:14:19 +1000 |
---|---|---|
committer | Neil <nyamatongwe@gmail.com> | 2021-08-22 22:14:19 +1000 |
commit | 6f709917a1134aaf55fc83d8a9f18a30b50efd89 (patch) | |
tree | 303457f17677c8c92d484b4485e1ec4cfc2499c8 /src/Document.cxx | |
parent | 557bea24106e3868d2b5c5c4b066575c5236538a (diff) | |
download | scintilla-mirror-6f709917a1134aaf55fc83d8a9f18a30b50efd89.tar.gz |
Encapsulate an ILexer5* in LexerInstance class to simplify client code.
Diffstat (limited to 'src/Document.cxx')
-rw-r--r-- | src/Document.cxx | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/Document.cxx b/src/Document.cxx index b5ec9a275..24ddd04ce 100644 --- a/src/Document.cxx +++ b/src/Document.cxx @@ -51,6 +51,16 @@ using namespace Scintilla; using namespace Scintilla::Internal; +LexInterface::LexInterface(Document *pdoc_) noexcept : pdoc(pdoc_), performingStyle(false) { +} + +LexInterface::~LexInterface() noexcept = default; + +void LexInterface::SetInstance(ILexer5 *instance_) { + instance.reset(instance_); + pdoc->LexerChanged(); +} + void LexInterface::Colourise(Sci::Position start, Sci::Position end) { if (pdoc && instance && !performingStyle) { // Protect against reentrance, which may occur, for example, when @@ -86,6 +96,10 @@ LineEndType LexInterface::LineEndTypesSupported() { return LineEndType::Default; } +bool LexInterface::UseContainerLexing() const noexcept { + return !instance; +} + ActionDuration::ActionDuration(double duration_, double minDuration_, double maxDuration_) noexcept : duration(duration_), minDuration(minDuration_), maxDuration(maxDuration_) { } |