aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--doc/ScintillaDoc.html5
-rw-r--r--doc/ScintillaHistory.html4
-rw-r--r--include/Scintilla.h1
-rw-r--r--include/Scintilla.iface3
-rw-r--r--src/Editor.cxx2
5 files changed, 15 insertions, 0 deletions
diff --git a/doc/ScintillaDoc.html b/doc/ScintillaDoc.html
index 91eca2c99..90c5745e2 100644
--- a/doc/ScintillaDoc.html
+++ b/doc/ScintillaDoc.html
@@ -1222,6 +1222,7 @@ struct Sci_TextToFind {
<a class="message" href="#SCI_SELECTIONISRECTANGLE">SCI_SELECTIONISRECTANGLE &rarr; bool</a><br />
<a class="message" href="#SCI_SETSELECTIONMODE">SCI_SETSELECTIONMODE(int selectionMode)</a><br />
<a class="message" href="#SCI_GETSELECTIONMODE">SCI_GETSELECTIONMODE &rarr; int</a><br />
+ <a class="message" href="#SCI_GETMOVEEXTENDSSELECTION">SCI_GETMOVEEXTENDSSELECTION &rarr; bool</a><br />
<a class="message" href="#SCI_GETLINESELSTARTPOSITION">SCI_GETLINESELSTARTPOSITION(int line) &rarr; position</a><br />
<a class="message" href="#SCI_GETLINESELENDPOSITION">SCI_GETLINESELENDPOSITION(int line) &rarr; position</a><br />
<a class="message" href="#SCI_MOVECARETINSIDEVIEW">SCI_MOVECARETINSIDEVIEW</a><br />
@@ -1425,6 +1426,10 @@ struct Sci_TextToFind {
<code>SC_SEL_THIN</code> is the mode after a rectangular selection has been typed into and ensures
that no characters are selected.</p>
+ <p><b id="SCI_GETMOVEEXTENDSSELECTION">SCI_GETMOVEEXTENDSSELECTION &rarr; bool</b><br />
+ This returns 1 if regular caret moves will extend or reduce the selection, 0 if not.
+ <code>SCI_SETSELECTIONMODE</code> toggles this setting between on and off.</p>
+
<p><b id="SCI_GETLINESELSTARTPOSITION">SCI_GETLINESELSTARTPOSITION(int line) &rarr; position</b><br />
<b id="SCI_GETLINESELENDPOSITION">SCI_GETLINESELENDPOSITION(int line) &rarr; position</b><br />
Retrieve the position of the start and end of the selection at the given line with
diff --git a/doc/ScintillaHistory.html b/doc/ScintillaHistory.html
index 265a968cf..aa61b69fe 100644
--- a/doc/ScintillaHistory.html
+++ b/doc/ScintillaHistory.html
@@ -534,6 +534,10 @@
Released 26 October 2017.
</li>
<li>
+ Add SCI_GETMOVEEXTENDSSELECTION to allow applications to add more
+ complex selection commands.
+ </li>
+ <li>
Improve VHDL lexer's handling of character literals and escape characters in strings.
</li>
<li>
diff --git a/include/Scintilla.h b/include/Scintilla.h
index 95d8b6957..25649302e 100644
--- a/include/Scintilla.h
+++ b/include/Scintilla.h
@@ -758,6 +758,7 @@ typedef sptr_t (*SciFnDirect)(sptr_t ptr, unsigned int iMessage, uptr_t wParam,
#define SC_SEL_THIN 3
#define SCI_SETSELECTIONMODE 2422
#define SCI_GETSELECTIONMODE 2423
+#define SCI_GETMOVEEXTENDSSELECTION 2706
#define SCI_GETLINESELSTARTPOSITION 2424
#define SCI_GETLINESELENDPOSITION 2425
#define SCI_LINEDOWNRECTEXTEND 2426
diff --git a/include/Scintilla.iface b/include/Scintilla.iface
index 1060b2dd1..04de613a5 100644
--- a/include/Scintilla.iface
+++ b/include/Scintilla.iface
@@ -1964,6 +1964,9 @@ set void SetSelectionMode=2422(int selectionMode,)
# Get the mode of the current selection.
get int GetSelectionMode=2423(,)
+# Get whether or not regular caret moves will extend or reduce the selection.
+get bool GetMoveExtendsSelection=2706(,)
+
# Retrieve the position of the start of the selection at the given line (INVALID_POSITION if no selection on this line).
fun position GetLineSelStartPosition=2424(int line,)
diff --git a/src/Editor.cxx b/src/Editor.cxx
index 163be5c15..d45a8684c 100644
--- a/src/Editor.cxx
+++ b/src/Editor.cxx
@@ -7625,6 +7625,8 @@ sptr_t Editor::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam) {
default: // ?!
return SC_SEL_STREAM;
}
+ case SCI_GETMOVEEXTENDSSELECTION:
+ return sel.MoveExtends();
case SCI_GETLINESELSTARTPOSITION:
case SCI_GETLINESELENDPOSITION: {
SelectionSegment segmentLine(