Kaynağa Gözat

Update to Scintilla 3.4.4. Major hurdle jumped *and* a great enhancement added at same time \o/

Martijn Laan 1 yıl önce
ebeveyn
işleme
245965c9dc

+ 1 - 1
Components/ScintEdit.pas

@@ -1715,7 +1715,7 @@ begin
   Line := StartLine;
   while Line <= EndLine do begin
     var StartStylingPos := GetPositionFromLine(Line);
-    Call(SCI_STARTSTYLING, StartStylingPos, $FF);
+    Call(SCI_STARTSTYLING, StartStylingPos, 0);
     if Assigned(FStyler) then
       Line := StyleLine(Line, StartStylingPos)
     else

+ 9 - 2
Components/ScintInt.pas

@@ -1,7 +1,7 @@
 unit ScintInt;
 
 {
-  Delphi translation of Scintilla.h from Scintilla 3.2.2
+  Delphi translation of Scintilla.h from Scintilla 3.4.4
   created by Jordan Russell and updated by Martijn Laan
 }
 
@@ -18,6 +18,7 @@ const
   SCI_ADDTEXT = 2001;
   SCI_ADDSTYLEDTEXT = 2002;
   SCI_INSERTTEXT = 2003;
+  SCI_CHANGEINSERTION = 2672;
   SCI_CLEARALL = 2004;
   SCI_DELETERANGE = 2645;
   SCI_CLEARDOCUMENTSTYLE = 2005;
@@ -430,6 +431,7 @@ const
   SC_FOLDFLAG_LINEAFTER_EXPANDED = $0008;
   SC_FOLDFLAG_LINEAFTER_CONTRACTED = $0010;
   SC_FOLDFLAG_LEVELNUMBERS = $0040;
+  SC_FOLDFLAG_LINESTATE = $0080;
   SCI_SETFOLDFLAGS = 2233;
   SCI_ENSUREVISIBLEENFORCEPOLICY = 2234;
   SCI_SETTABINDENTS = 2260;
@@ -684,6 +686,10 @@ const
   SC_CASEINSENSITIVEBEHAVIOUR_IGNORECASE = 1;
   SCI_AUTOCSETCASEINSENSITIVEBEHAVIOUR = 2634;
   SCI_AUTOCGETCASEINSENSITIVEBEHAVIOUR = 2635;
+  SC_MULTIAUTOC_ONCE = 0;
+  SC_MULTIAUTOC_EACH = 1;
+  SCI_AUTOCSETMULTI = 2636;
+  SCI_AUTOCGETMULTI = 2637;
   SC_ORDER_PRESORTED = 0;
   SC_ORDER_PERFORMSORT = 1;
   SC_ORDER_CUSTOM = 2;
@@ -914,7 +920,8 @@ const
   SC_MOD_CHANGEANNOTATION = $20000;
   SC_MOD_CONTAINER = $40000;
   SC_MOD_LEXERSTATE = $80000;
-  SC_MODEVENTMASKALL = $FFFFF;
+  SC_MOD_INSERTCHECK = $100000;
+  SC_MODEVENTMASKALL = $1FFFFF;
   SC_UPDATE_CONTENT = $1;
   SC_UPDATE_SELECTION = $2;
   SC_UPDATE_V_SCROLL = $4;

BIN
Files/isscint.dll


+ 1 - 4
Projects/Src/CompScintEdit.pas

@@ -152,10 +152,6 @@ begin
      "The INDICATOR_* values used for dividing up indicators were previously
       INDIC_CONTAINER, INDIC_IME, INDIC_IME_MAX, and INDIC_MAX"
      Once it does replace our use of these INDIC_* with INDICATOR_*.
-    -3.4.2: Removes support for style byte indicators but ScintStylerInnoSetup uses those.
-            Already updated code for this except the $FF param in one of the SCI_STARTSTYLING
-            calls. Change it to 0 on >= 3.4.2 because the param is then unused.
-    -3.4.4: Add: Call(SCI_AUTOSGETMULTI, SC_MULTIAUTOC_EACH, 0)
     -3.5.7: Use SCI_MULTIPLESELECTADDEACH to implement Ctrl+Shift+L (Select All
             Occurrences) and SCI_MULTIPLESELECTADDNEXT to implement Ctrl+D (Select
             Next Occurrence). If the selection is empty Scintilla will use word
@@ -173,6 +169,7 @@ begin
   Call(SCI_AUTOCSETDROPRESTOFWORD, 1, 0);
   Call(SCI_AUTOCSETIGNORECASE, 1, 0);
   Call(SCI_AUTOCSETMAXHEIGHT, 12, 0);
+  Call(SCI_AUTOCSETMULTI, SC_MULTIAUTOC_EACH, 0);
 
   Call(SCI_SETMULTIPLESELECTION, 1, 0);
   Call(SCI_SETADDITIONALSELECTIONTYPING, 1, 0);

+ 1 - 0
whatsnew.htm

@@ -36,6 +36,7 @@ For conditions of distribution and use, see <a href="files/is/license.txt">LICEN
 <ul>
   <li>Added shortcuts to move selected lines up or down (Alt+Up and Alt+Down).</li>
   <li>Added shortcuts to add a word or line as an additional selection (Ctrl+Double Click and Ctrl+Triple Click).</li>
+  <li>When autocompleting with multiple selections present, the autocompleted text now goes into each selection.</li>.
   <li>The icons used by the editor's gutter are now supported even at very high DPI.</li>
 </ul>