aboutsummaryrefslogtreecommitdiffhomepage
path: root/call/ScintillaCall.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'call/ScintillaCall.cxx')
-rw-r--r--call/ScintillaCall.cxx24
1 files changed, 24 insertions, 0 deletions
diff --git a/call/ScintillaCall.cxx b/call/ScintillaCall.cxx
index cb0d09365..20fb452da 100644
--- a/call/ScintillaCall.cxx
+++ b/call/ScintillaCall.cxx
@@ -16,6 +16,7 @@
#include "ScintillaTypes.h"
#include "ScintillaMessages.h"
#include "ScintillaCall.h"
+#include "ScintillaStructures.h"
namespace Scintilla {
@@ -110,6 +111,17 @@ std::string ScintillaCall::StringOfSpan(Span span) {
}
}
+std::string ScintillaCall::StringOfRange(Span span) {
+ if (span.Length() == 0) {
+ return std::string();
+ } else {
+ std::string text(span.Length(), '\0');
+ TextRangeFull tr{ {span.start, span.end}, text.data() };
+ GetTextRangeFull(&tr);
+ return text;
+ }
+}
+
Position ScintillaCall::ReplaceTarget(std::string_view text) {
return ScintillaCall::CallString(Message::ReplaceTarget, text.length(), text.data());
}
@@ -1127,10 +1139,18 @@ Position ScintillaCall::FindText(Scintilla::FindOption searchFlags, void *ft) {
return CallPointer(Message::FindText, static_cast<uintptr_t>(searchFlags), ft);
}
+Position ScintillaCall::FindTextFull(Scintilla::FindOption searchFlags, void *ft) {
+ return CallPointer(Message::FindTextFull, static_cast<uintptr_t>(searchFlags), ft);
+}
+
Position ScintillaCall::FormatRange(bool draw, void *fr) {
return CallPointer(Message::FormatRange, draw, fr);
}
+Position ScintillaCall::FormatRangeFull(bool draw, void *fr) {
+ return CallPointer(Message::FormatRangeFull, draw, fr);
+}
+
Line ScintillaCall::FirstVisibleLine() {
return Call(Message::GetFirstVisibleLine);
}
@@ -1187,6 +1207,10 @@ Position ScintillaCall::GetTextRange(void *tr) {
return CallPointer(Message::GetTextRange, 0, tr);
}
+Position ScintillaCall::GetTextRangeFull(void *tr) {
+ return CallPointer(Message::GetTextRangeFull, 0, tr);
+}
+
void ScintillaCall::HideSelection(bool hide) {
Call(Message::HideSelection, hide);
}