From c79314c9bd8efc6e521664bf4de182370c436c09 Mon Sep 17 00:00:00 2001 From: mitchell <70453897+667e-11@users.noreply.github.com> Date: Sat, 17 Jun 2017 18:09:23 -0400 Subject: Effectively updated to Scintilla 3.7.5 with select backports to 3.7.3. --- src/scintilla_backports/6160_a1a9cde51997.patch | 142 ++++++++++++++++++++++++ 1 file changed, 142 insertions(+) create mode 100644 src/scintilla_backports/6160_a1a9cde51997.patch (limited to 'src/scintilla_backports/6160_a1a9cde51997.patch') diff --git a/src/scintilla_backports/6160_a1a9cde51997.patch b/src/scintilla_backports/6160_a1a9cde51997.patch new file mode 100644 index 00000000..093ba79a --- /dev/null +++ b/src/scintilla_backports/6160_a1a9cde51997.patch @@ -0,0 +1,142 @@ +# HG changeset patch +# User Vicente +# Date 1491085058 -36000 +# Node ID a1a9cde519976fa12e46224d6cd57483bc4633ae +# Parent 67865d8e5a374e2cf9468e9b2638901342b1dca0 +Added "Reverse Selected Lines" as SCI_LINEREVERSE. + +diff -r 67865d8e5a37 -r a1a9cde51997 doc/ScintillaDoc.html +--- a/doc/ScintillaDoc.html Sat Apr 01 13:30:58 2017 +1100 ++++ b/doc/ScintillaDoc.html Sun Apr 02 08:17:38 2017 +1000 +@@ -5199,15 +5199,18 @@ + SCI_DELLINERIGHT + + SCI_LINEDELETE +- +- +- ++ + SCI_LINECUT ++ ++ ++ + + SCI_LINECOPY + + SCI_LINETRANSPOSE + ++ SCI_LINEREVERSE ++ + SCI_LINEDUPLICATE + + +diff -r 67865d8e5a37 -r a1a9cde51997 doc/ScintillaHistory.html +--- a/doc/ScintillaHistory.html Sat Apr 01 13:30:58 2017 +1100 ++++ b/doc/ScintillaHistory.html Sun Apr 02 08:17:38 2017 +1000 +@@ -527,6 +527,9 @@ + Released 21 March 2017. + +
  • ++ Added "Reverse Selected Lines" feature. ++
  • ++
  • + Updated case conversion and character categories to Unicode 9. +
  • +
  • +diff -r 67865d8e5a37 -r a1a9cde51997 include/Scintilla.h +--- a/include/Scintilla.h Sat Apr 01 13:30:58 2017 +1100 ++++ b/include/Scintilla.h Sun Apr 02 08:17:38 2017 +1000 +@@ -638,6 +638,7 @@ + #define SCI_LINECUT 2337 + #define SCI_LINEDELETE 2338 + #define SCI_LINETRANSPOSE 2339 ++#define SCI_LINEREVERSE 2354 + #define SCI_LINEDUPLICATE 2404 + #define SCI_LOWERCASE 2340 + #define SCI_UPPERCASE 2341 +diff -r 67865d8e5a37 -r a1a9cde51997 include/Scintilla.iface +--- a/include/Scintilla.iface Sat Apr 01 13:30:58 2017 +1100 ++++ b/include/Scintilla.iface Sun Apr 02 08:17:38 2017 +1000 +@@ -1614,6 +1614,9 @@ + # Switch the current line with the previous. + fun void LineTranspose=2339(,) + ++# Reverse order of selected lines. ++fun void LineReverse=2354(,) ++ + # Duplicate the current line. + fun void LineDuplicate=2404(,) + +diff -r 67865d8e5a37 -r a1a9cde51997 src/Editor.cxx +--- a/src/Editor.cxx Sat Apr 01 13:30:58 2017 +1100 ++++ b/src/Editor.cxx Sun Apr 02 08:17:38 2017 +1000 +@@ -2800,6 +2800,7 @@ + case SCI_LINECUT: + case SCI_LINEDELETE: + case SCI_LINETRANSPOSE: ++ case SCI_LINEREVERSE: + case SCI_LINEDUPLICATE: + case SCI_LOWERCASE: + case SCI_UPPERCASE: +@@ -2967,6 +2968,32 @@ + } + } + ++void Editor::LineReverse() { ++ const Sci::Line lineStart = pdoc->LineFromPosition(sel.RangeMain().Start().Position()); ++ const Sci::Line lineEnd = pdoc->LineFromPosition(sel.RangeMain().End().Position()-1); ++ const Sci::Line lineDiff = lineEnd - lineStart; ++ if (lineDiff <= 0) ++ return; ++ UndoGroup ug(pdoc); ++ for (Sci::Line i=(lineDiff+1)/2-1; i>=0; --i) { ++ const Sci::Line lineNum2 = lineEnd - i; ++ const Sci::Line lineNum1 = lineStart + i; ++ Sci::Position lineStart2 = pdoc->LineStart(lineNum2); ++ const Sci::Position lineStart1 = pdoc->LineStart(lineNum1); ++ const std::string line2 = RangeText(lineStart2, pdoc->LineEnd(lineNum2)); ++ const std::string line1 = RangeText(lineStart1, pdoc->LineEnd(lineNum1)); ++ const Sci::Position lineLen2 = static_cast(line2.length()); ++ const Sci::Position lineLen1 = static_cast(line1.length()); ++ pdoc->DeleteChars(lineStart2, lineLen2); ++ pdoc->DeleteChars(lineStart1, lineLen1); ++ lineStart2 -= lineLen1; ++ pdoc->InsertString(lineStart2, line1.c_str(), lineLen1); ++ pdoc->InsertString(lineStart1, line2.c_str(), lineLen2); ++ } ++ // Wholly select all affected lines ++ sel.RangeMain() = SelectionRange(pdoc->LineStart(lineStart), pdoc->LineStart(lineEnd+1)); ++} ++ + void Editor::Duplicate(bool forLine) { + if (sel.Empty()) { + forLine = true; +@@ -3809,6 +3836,9 @@ + case SCI_LINETRANSPOSE: + LineTranspose(); + break; ++ case SCI_LINEREVERSE: ++ LineReverse(); ++ break; + case SCI_LINEDUPLICATE: + Duplicate(true); + break; +@@ -7453,6 +7483,7 @@ + case SCI_LINECUT: + case SCI_LINEDELETE: + case SCI_LINETRANSPOSE: ++ case SCI_LINEREVERSE: + case SCI_LINEDUPLICATE: + case SCI_LOWERCASE: + case SCI_UPPERCASE: +diff -r 67865d8e5a37 -r a1a9cde51997 src/Editor.h +--- a/src/Editor.h Sat Apr 01 13:30:58 2017 +1100 ++++ b/src/Editor.h Sun Apr 02 08:17:38 2017 +1000 +@@ -460,6 +460,7 @@ + virtual std::string CaseMapString(const std::string &s, int caseMapping); + void ChangeCaseOfSelection(int caseMapping); + void LineTranspose(); ++ void LineReverse(); + void Duplicate(bool forLine); + virtual void CancelModes(); + void NewLine(); -- cgit v1.2.3