diff options
Diffstat (limited to 'doc/ScintillaDoc.html')
-rw-r--r-- | doc/ScintillaDoc.html | 243 |
1 files changed, 195 insertions, 48 deletions
diff --git a/doc/ScintillaDoc.html b/doc/ScintillaDoc.html index 503984654..3149b06a0 100644 --- a/doc/ScintillaDoc.html +++ b/doc/ScintillaDoc.html @@ -129,7 +129,7 @@ <h1>Scintilla Documentation</h1> - <p>Last edited 18 July 2022 NH</p> + <p>Last edited 31 July 2022 NH</p> <p style="background:#90F0C0">Scintilla 5 has moved the lexers from Scintilla into a new <a href="Lexilla.html">Lexilla</a> project.<br /> @@ -345,149 +345,139 @@ </tr> <tr> + <td>○ <a class="toc" href="#ChangeHistory">Change history</a></td> + <td>○ <a class="toc" href="#SelectionAndInformation">Selection and information</a></td> <td>○ <a class="toc" href="#ByCharacterOrCodeUnit">By character or UTF-16 code unit</a></td> - <td>○ <a class="toc" href="#MultipleSelectionAndVirtualSpace">Multiple Selection and Virtual Space</a></td> - </tr> <tr> + <td>○ <a class="toc" href="#MultipleSelectionAndVirtualSpace">Multiple Selection and Virtual Space</a></td> + <td>○ <a class="toc" href="#ScrollingAndAutomaticScrolling">Scrolling and automatic scrolling</a></td> <td>○ <a class="toc" href="#WhiteSpace">White space</a></td> - - <td>○ <a class="toc" href="#Cursor">Cursor</a></td> - </tr> <tr> + <td>○ <a class="toc" href="#Cursor">Cursor</a></td> + <td>○ <a class="toc" href="#MouseCapture">Mouse capture</a></td> <td>○ <a class="toc" href="#LineEndings">Line endings</a></td> - <td>○ <a class="toc" href="#Words">Words</a></td> - </tr> <tr> + <td>○ <a class="toc" href="#Words">Words</a></td> + <td>○ <a class="toc" href="#Styling">Styling</a></td> <td>○ <a class="toc" href="#StyleDefinition">Style definition</a></td> - - <td>○ <a class="toc" href="#ElementColours">Element colours</a></td> - </tr> <tr> + <td>○ <a class="toc" href="#ElementColours">Element colours</a></td> + <td>○ <a class="toc" href="#CaretAndSelectionStyles">Selection, caret, and hotspot styles</a></td> <td>○ <a class="toc" href="#CharacterRepresentations">Character representations</a></td> - - <td>○ <a class="toc" href="#Margins">Margins</a></td> - </tr> <tr> + <td>○ <a class="toc" href="#Margins">Margins</a></td> + <td>○ <a class="toc" href="#Annotations">Annotations</a></td> <td>○ <a class="toc" href="#OtherSettings">Other settings</a></td> - - <td>○ <a class="toc" href="#BraceHighlighting">Brace highlighting</a></td> - </tr> <tr> + <td>○ <a class="toc" href="#BraceHighlighting">Brace highlighting</a></td> + <td>○ <a class="toc" href="#TabsAndIndentationGuides">Tabs and Indentation Guides</a></td> <td>○ <a class="toc" href="#Markers">Markers</a></td> - - <td>○ <a class="toc" href="#Indicators">Indicators</a></td> - </tr> <tr> + <td>○ <a class="toc" href="#Indicators">Indicators</a></td> + <td>○ <a class="toc" href="#Autocompletion">Autocompletion</a></td> <td>○ <a class="toc" href="#UserLists">User lists</a></td> - - <td>○ <a class="toc" href="#CallTips">Call tips</a></td> - </tr> <tr> + <td>○ <a class="toc" href="#CallTips">Call tips</a></td> + <td>○ <a class="toc" href="#KeyboardCommands">Keyboard commands</a></td> <td>○ <a class="toc" href="#KeyBindings">Key bindings</a></td> - - <td>○ <a class="toc" href="#PopupEditMenu">Popup edit menu</a></td> - </tr> <tr> + <td>○ <a class="toc" href="#PopupEditMenu">Popup edit menu</a></td> + <td>○ <a class="toc" href="#MacroRecording">Macro recording</a></td> <td>○ <a class="toc" href="#Printing">Printing</a></td> - - <td>○ <a class="toc" href="#DirectAccess">Direct access</a></td> - </tr> <tr> + <td>○ <a class="toc" href="#DirectAccess">Direct access</a></td> + <td>○ <a class="toc" href="#MultipleViews">Multiple views</a></td> <td>○ <a class="toc" href="#BackgroundLoadSave">Background loading and saving</a></td> - - <td>○ <a class="toc" href="#Folding">Folding</a></td> - </tr> <tr> + <td>○ <a class="toc" href="#Folding">Folding</a></td> + <td>○ <a class="toc" href="#LineWrapping">Line wrapping</a></td> <td>○ <a class="toc" href="#Zooming">Zooming</a></td> - - <td>○ <a class="toc" href="#LongLines">Long lines</a></td> - </tr> <tr> + <td>○ <a class="toc" href="#LongLines">Long lines</a></td> + <td>○ <a class="toc" href="#Accessibility">Accessibility</a></td> <td>○ <a class="toc" href="#Lexer">Lexer</a></td> - - <td>○ <a class="toc" href="#LexerObjects">Lexer objects</a></td> - </tr> <tr> + <td>○ <a class="toc" href="#LexerObjects">Lexer objects</a></td> + <td>○ <a class="toc" href="#Notifications">Notifications</a></td> <td>○ <a class="toc" href="#Images">Images</a></td> - - <td>○ <a class="toc" href="#GTK">GTK</a></td> - </tr> <tr> + <td>○ <a class="toc" href="#GTK">GTK</a></td> + <td>○ <a class="toc" href="#ProvisionalMessages"><span class="provisional">Provisional messages</span></a></td> <td>○ <a class="toc" href="#DeprecatedMessages">Deprecated messages</a></td> + </tr> + <tr> <td>○ <a class="toc" href="#EditMessagesNeverSupportedByScintilla">Edit messages never supported by Scintilla</a></td> - </tr> - - <tr> <td>○ <a class="toc" href="#RemovedFeatures">Removed features</a></td> <td>○ <a class="toc" href="#BuildingScintilla">Building Scintilla</a></td> + </tr> + <tr> <td>○ <a class="toc" href="#EndOfLineAnnotations">End of Line Annotations</a></td> - </tr> </tbody> </table> @@ -1343,6 +1333,157 @@ struct Sci_TextToFindFull { Coalescing treats coalescible container actions as transparent so will still only group together insertions that look like typing or deletions that look like multiple uses of the Backspace or Delete keys. </p> + + <h2 id="ChangeHistory">Change history</h2> + + <p>Scintilla can display document changes (modified, saved, ...) in the margin or in the text.</p> + + <p>This feature uses a moderate amount of memory proportional to the amount of modifications made. + On huge documents, this could be significant so could be disabled when it would cause excessive memory use.</p> + + <code><a class="message" href="#SCI_SETCHANGEHISTORY">SCI_SETCHANGEHISTORY(int changeHistory)</a><br /> + <a class="message" href="#SCI_GETCHANGEHISTORY">SCI_GETCHANGEHISTORY → int</a><br /> + </code> + + <p><b id="SCI_SETCHANGEHISTORY">SCI_SETCHANGEHISTORY(int changeHistory)</b><br /> + <b id="SCI_GETCHANGEHISTORY">SCI_GETCHANGEHISTORY → int</b><br /> + <code>SCI_SETCHANGEHISTORY</code> turns this feature on and off and determines whether changes are visible in + the margin or text or both. + The <code class="parameter">changeHistory</code> argument can be a combination of:</p> + + <table class="standard" summary="Change history state"> + <tbody valign="top"> + <tr> + <th align="left"><code>SC_CHANGE_HISTORY_DISABLED</code></th> + + <td>0</td> + + <td>The default: change history turned off.</td> + </tr> + + <tr> + <th align="left"><code>SC_CHANGE_HISTORY_ENABLED</code></th> + + <td>1</td> + + <td>Track changes to the document.</td> + </tr> + + <tr> + <th align="left"><code>SC_CHANGE_HISTORY_MARKERS</code></th> + + <td>2</td> + + <td>Display changes in the margin using the <code>SC_MARKNUM_HISTORY</code> markers.</td> + </tr> + + <tr> + <th align="left"><code>SC_CHANGE_HISTORY_INDICATORS</code></th> + + <td>4</td> + + <td>Display changes in the margin using the <code>INDICATOR_HISTORY</code> indicators.</td> + </tr> + </tbody> + </table> + + <p>There are default visuals assigned to each history marker and indicator but these may be overridden by the application.</p> + + <p>Markers:</p> + + <table class="standard" summary="Change history markers"> + <tbody valign="top"> + <tr> + <th align="left"><code>SC_MARKNUM_HISTORY_REVERTED_TO_ORIGIN</code></th> + + <td>21</td> + + <td>A change was made to this line and saved but then reverted to its original state. + This line is different to its state on disk.</td> + </tr> + + <tr> + <th align="left"><code>SC_MARKNUM_HISTORY_SAVED</code></th> + + <td>22</td> + + <td>This line was modified and saved. This line is the same as its state on disk.</td> + </tr> + + <tr> + <th align="left"><code>SC_MARKNUM_HISTORY_MODIFIED</code></th> + + <td>23</td> + + <td>This line was modified but not yet saved. This line is different to its state on disk.</td> + </tr> + + <tr> + <th align="left"><code>SC_MARKNUM_HISTORY_REVERTED_TO_MODIFIED</code></th> + + <td>24</td> + + <td>A change was made to this line and saved but then reverted but not to its original state. + This line is different to its state on disk.</td> + </tr> + </tbody> + </table> + + <p>Indicators:</p> + + <table class="standard" summary="Change history indicators"> + <tbody valign="top"> + <tr> + <th align="left"><code>INDICATOR_HISTORY_REVERTED_TO_ORIGIN_INSERTION</code></th> + <td>36</td> + <td>Text was deleted and saved but then reverted to its original state. + This text is not present on disk.</td> + </tr> + + <tr> + <th align="left"><code>INDICATOR_HISTORY_REVERTED_TO_ORIGIN_DELETION</code></th> + <td>37</td> + <td>Text was inserted and saved but then reverted to its original state. + This range is different to its state on disk.</td> + </tr> + + <tr> + <th align="left"><code>INDICATOR_HISTORY_SAVED_INSERTION</code></th> + <td>38</td> + <td>Text was inserted and saved. This text is the same as on disk.</td> + </tr> + <tr> + <th align="left"><code>INDICATOR_HISTORY_SAVED_DELETION</code></th> + <td>39</td> + <td>Text was deleted and saved. This range is the same as on disk.</td> + </tr> + + <tr> + <th align="left"><code>INDICATOR_HISTORY_MODIFIED_INSERTION</code></th> + <td>40</td> + <td>Text was inserted but not yet saved. This text is not present on disk.</td> + </tr> + <tr> + <th align="left"><code>INDICATOR_HISTORY_MODIFIED_DELETION</code></th> + <td>41</td> + <td>Text was deleted but not yet saved. This range is different to its state on disk.</td> + </tr> + + <tr> + <th align="left"><code>INDICATOR_HISTORY_REVERTED_TO_MODIFIED_INSERTION</code></th> + <td>42</td> + <td>Text was deleted and saved but then reverted but not to its original state. + This text is not present on disk.</td> + </tr> + <tr> + <th align="left"><code>INDICATOR_HISTORY_REVERTED_TO_MODIFIED_DELETION</code></th> + <td>43</td> + <td>Text was inserted and saved but then reverted but not to its original state. + This range is different to its state on disk.</td> + </tr> + </tbody> + </table> + <h2 id="SelectionAndInformation">Selection and information</h2> <p>Scintilla maintains a selection that stretches between two points, the anchor and the @@ -4990,7 +5131,10 @@ struct Sci_TextToFindFull { Scintilla in folding margins, and have symbolic names of the form <code>SC_MARKNUM_</code>*, for example <code>SC_MARKNUM_FOLDEROPEN</code>.</p> - <p>Marker numbers 0 to 24 have no pre-defined function; you can use them to mark syntax errors + <p>Marker numbers 21 to 24 are used for <a class="jump" href="#ChangeHistory">Change history</a> if that is enabled but are + otherwise free for application use.</p> + + <p>Marker numbers 0 to 20 have no pre-defined function; you can use them to mark syntax errors or the current point of execution, break points, or whatever you need marking. If you do not need folding, you can use all 32 for any purpose you wish.</p> @@ -5376,11 +5520,14 @@ struct Sci_TextToFindFull { They may also be invisible when used to track pieces of content for the application as <code>INDIC_HIDDEN</code>.</p> <p>The <code>SCI_INDIC*</code> messages allow you to get and set the visual appearance of the - indicators. They all use an <code class="parameter">indicator</code> argument in the range 0 to <code>INDICATOR_MAX</code>(35) + indicators. They all use an <code class="parameter">indicator</code> argument in the range 0 to <code>INDICATOR_MAX</code>(43) to set the indicator to style. To prevent interference the set of indicators is divided up into a range for use by lexers (0..7) a range for use by containers (8=<code>INDICATOR_CONTAINER</code> .. 31=<code>INDICATOR_IME-1</code>) - and a range for IME indicators (32=<code>INDICATOR_IME</code> .. 35=<code>INDICATOR_IME_MAX</code>).</p> + a range for IME indicators (32=<code>INDICATOR_IME</code> .. 35=<code>INDICATOR_IME_MAX</code>) + and a range for <a class="jump" href="#ChangeHistory">Change history</a> + (36=<code>INDICATOR_HISTORY_REVERTED_TO_ORIGIN_INSERTION</code> .. + 43=<code>INDICATOR_HISTORY_REVERTED_TO_MODIFIED_DELETION</code>).</p> <p>The <code>INDICATOR_*</code> values used for dividing up indicators were previously <code>INDIC_CONTAINER</code>, <code>INDIC_IME</code>, |