diff options
author | mitchell <70453897+orbitalquark@users.noreply.github.com> | 2021-06-10 16:37:12 -0400 |
---|---|---|
committer | mitchell <70453897+orbitalquark@users.noreply.github.com> | 2021-06-10 16:37:12 -0400 |
commit | 48134170e780091b753d11dd945547a719719dd3 (patch) | |
tree | 82e1962a5f73c0f7fc6803c4278d8b02bae39f76 /src | |
parent | fe7135350f64ba10a63626c6f363cc48a0679438 (diff) |
`textadept.editing.filter_through` respects multiple and rectangular selection now.
The required Scintilla patch has been upstreamed and will be in the next release.
Diffstat (limited to 'src')
-rw-r--r-- | src/scintilla.patch | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/src/scintilla.patch b/src/scintilla.patch index 74fba967..b247e321 100644 --- a/src/scintilla.patch +++ b/src/scintilla.patch @@ -3,6 +3,7 @@ Scintilla changes: * Add Message::ChangeInsertion for programmatically setting input method. This is helpful on newer versions of macOS, where changing the input method is flaky. * Handle leading whitespace in XPM images in order to prevent crashes. +* Add Message::ReplaceRectangular from upstream, which will be in the next release. diff -r 52d56f79dc0f gtk/ScintillaGTK.cxx --- a/gtk/ScintillaGTK.cxx Fri Apr 09 15:11:26 2021 +1000 @@ -32,3 +33,57 @@ diff -r 22b6bbb36280 src/XPM.cxx if ((0 == memcmp(textForm, "/* X", 4)) && (0 == memcmp(textForm, "/* XPM */", 9))) { // Build the lines form out of the text form std::vector<const char *> linesForm = LinesFormFromTextForm(textForm); +diff -r df18eadcec4b include/Scintilla.h +--- a/include/Scintilla.h Mon May 31 11:18:20 2021 +1000 ++++ b/include/Scintilla.h Thu Jun 10 15:51:56 2021 -0400 +@@ -885,6 +885,7 @@ + #define SCI_TOGGLECARETSTICKY 2459 + #define SCI_SETPASTECONVERTENDINGS 2467 + #define SCI_GETPASTECONVERTENDINGS 2468 ++#define SCI_REPLACERECTANGULAR 2771 + #define SCI_SELECTIONDUPLICATE 2469 + #define SCI_SETCARETLINEBACKALPHA 2470 + #define SCI_GETCARETLINEBACKALPHA 2471 +diff -r df18eadcec4b include/Scintilla.iface +--- a/include/Scintilla.iface Mon May 31 11:18:20 2021 +1000 ++++ b/include/Scintilla.iface Thu Jun 10 15:51:56 2021 -0400 +@@ -2439,6 +2439,9 @@ + # Get convert-on-paste setting + get bool GetPasteConvertEndings=2468(,) + ++# Replace the selection with text like a rectangular paste. ++fun void ReplaceRectangular=2771(position length, string text) ++ + # Duplicate the selection. If selection empty duplicate the line containing the caret. + fun void SelectionDuplicate=2469(,) + +diff -r df18eadcec4b include/ScintillaMessages.h +--- a/include/ScintillaMessages.h Mon May 31 11:18:20 2021 +1000 ++++ b/include/ScintillaMessages.h Thu Jun 10 15:51:56 2021 -0400 +@@ -581,6 +581,7 @@ + ToggleCaretSticky = 2459, + SetPasteConvertEndings = 2467, + GetPasteConvertEndings = 2468, ++ ReplaceRectangular = 2771, + SelectionDuplicate = 2469, + SetCaretLineBackAlpha = 2470, + GetCaretLineBackAlpha = 2471, +diff -r df18eadcec4b src/Editor.cxx +--- a/src/Editor.cxx Mon May 31 11:18:20 2021 +1000 ++++ b/src/Editor.cxx Thu Jun 10 15:51:56 2021 -0400 +@@ -5940,6 +5940,15 @@ + EnsureCaretVisible(); + break; + ++ case Message::ReplaceRectangular: { ++ UndoGroup ug(pdoc); ++ if (!sel.Empty()) { ++ ClearSelection(); // want to replace rectangular selection contents ++ } ++ InsertPasteShape(CharPtrFromSPtr(lParam), static_cast<Sci::Position>(wParam), PasteShape::rectangular); ++ break; ++ } ++ + case Message::Clear: + Clear(); + SetLastXChosen(); |