aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--doc/ScintillaDoc.html169
-rw-r--r--doc/ScintillaHistory.html1
-rw-r--r--include/Scintilla.h17
-rw-r--r--include/Scintilla.iface54
-rw-r--r--src/Editor.cxx78
5 files changed, 251 insertions, 68 deletions
diff --git a/doc/ScintillaDoc.html b/doc/ScintillaDoc.html
index 301e4930b..9a912a4d2 100644
--- a/doc/ScintillaDoc.html
+++ b/doc/ScintillaDoc.html
@@ -1970,33 +1970,46 @@ struct TextToFind {
use style 0 for white space, style 1 for numbers, style 2 for keywords, style 3 for strings,
style 4 for preprocessor, style 5 for operators, and so on.</p>
<code><a class="message" href="#SCI_STYLERESETDEFAULT">SCI_STYLERESETDEFAULT</a><br />
- <a class="message" href="#SCI_STYLECLEARALL">SCI_STYLECLEARALL</a><br />
- <a class="message" href="#SCI_STYLESETFONT">SCI_STYLESETFONT(int styleNumber, char
+ <a class="message" href="#SCI_STYLECLEARALL">SCI_STYLECLEARALL</a><br />
+ <a class="message" href="#SCI_STYLESETFONT">SCI_STYLESETFONT(int styleNumber, char
*fontName)</a><br />
- <a class="message" href="#SCI_STYLESETSIZE">SCI_STYLESETSIZE(int styleNumber, int
+ <a class="message" href="#SCI_STYLEGETFONT">SCI_STYLEGETFONT(int styleNumber, char *fontName)</a><br />
+ <a class="message" href="#SCI_STYLESETSIZE">SCI_STYLESETSIZE(int styleNumber, int
sizeInPoints)</a><br />
- <a class="message" href="#SCI_STYLESETBOLD">SCI_STYLESETBOLD(int styleNumber, bool
+ <a class="message" href="#SCI_STYLEGETSIZE">SCI_STYLEGETSIZE(int styleNumber)</a><br />
+ <a class="message" href="#SCI_STYLESETBOLD">SCI_STYLESETBOLD(int styleNumber, bool
bold)</a><br />
- <a class="message" href="#SCI_STYLESETITALIC">SCI_STYLESETITALIC(int styleNumber, bool
+ <a class="message" href="#SCI_STYLEGETBOLD">SCI_STYLEGETBOLD(int styleNumber)</a><br />
+ <a class="message" href="#SCI_STYLESETITALIC">SCI_STYLESETITALIC(int styleNumber, bool
italic)</a><br />
- <a class="message" href="#SCI_STYLESETUNDERLINE">SCI_STYLESETUNDERLINE(int styleNumber, bool
+ <a class="message" href="#SCI_STYLEGETITALIC">SCI_STYLEGETITALIC(int styleNumber)</a><br />
+ <a class="message" href="#SCI_STYLESETUNDERLINE">SCI_STYLESETUNDERLINE(int styleNumber, bool
underline)</a><br />
- <a class="message" href="#SCI_STYLESETFORE">SCI_STYLESETFORE(int styleNumber, int
+ <a class="message" href="#SCI_STYLEGETUNDERLINE">SCI_STYLEGETUNDERLINE(int styleNumber)</a><br />
+ <a class="message" href="#SCI_STYLESETFORE">SCI_STYLESETFORE(int styleNumber, int
colour)</a><br />
- <a class="message" href="#SCI_STYLESETBACK">SCI_STYLESETBACK(int styleNumber, int
+ <a class="message" href="#SCI_STYLEGETFORE">SCI_STYLEGETFORE(int styleNumber)</a><br />
+ <a class="message" href="#SCI_STYLESETBACK">SCI_STYLESETBACK(int styleNumber, int
colour)</a><br />
- <a class="message" href="#SCI_STYLESETEOLFILLED">SCI_STYLESETEOLFILLED(int styleNumber, bool
+ <a class="message" href="#SCI_STYLEGETBACK">SCI_STYLESETBACK(int styleNumber)</a><br />
+ <a class="message" href="#SCI_STYLESETEOLFILLED">SCI_STYLESETEOLFILLED(int styleNumber, bool
eolFilled)</a><br />
- <a class="message" href="#SCI_STYLESETCHARACTERSET">SCI_STYLESETCHARACTERSET(int styleNumber,
+ <a class="message" href="#SCI_STYLEGETEOLFILLED">SCI_STYLEGETEOLFILLED(int styleNumber)</a><br />
+ <a class="message" href="#SCI_STYLESETCHARACTERSET">SCI_STYLESETCHARACTERSET(int styleNumber,
int charSet)</a><br />
- <a class="message" href="#SCI_STYLESETCASE">SCI_STYLESETCASE(int styleNumber, int
+ <a class="message" href="#SCI_STYLEGETCHARACTERSET">SCI_STYLEGETCHARACTERSET(int styleNumber)</a><br />
+ <a class="message" href="#SCI_STYLESETCASE">SCI_STYLESETCASE(int styleNumber, int
caseMode)</a><br />
- <a class="message" href="#SCI_STYLESETVISIBLE">SCI_STYLESETVISIBLE(int styleNumber, bool
+ <a class="message" href="#SCI_STYLEGETCASE">SCI_STYLEGETCASE(int styleNumber)</a><br />
+ <a class="message" href="#SCI_STYLESETVISIBLE">SCI_STYLESETVISIBLE(int styleNumber, bool
visible)</a><br />
- <a class="message" href="#SCI_STYLESETCHANGEABLE">SCI_STYLESETCHANGEABLE(int styleNumber, bool
+ <a class="message" href="#SCI_STYLEGETVISIBLE">SCI_STYLEGETVISIBLE(int styleNumber)</a><br />
+ <a class="message" href="#SCI_STYLESETCHANGEABLE">SCI_STYLESETCHANGEABLE(int styleNumber, bool
changeable)</a><br />
+ <a class="message" href="#SCI_STYLEGETCHANGEABLE">SCI_STYLEGETCHANGEABLE(int styleNumber)</a><br />
<a class="message" href="#SCI_STYLESETHOTSPOT">SCI_STYLESETHOTSPOT(int styleNumber, bool
hotspot)</a><br />
+ <a class="message" href="#SCI_STYLGSETHOTSPOT">SCI_STYLEGETHOTSPOT(int styleNumber)</a><br />
</code>
<p><b id="SCI_STYLERESETDEFAULT">SCI_STYLERESETDEFAULT</b><br />
@@ -2012,9 +2025,13 @@ struct TextToFind {
3. Set the style attributes that make your lexical styles different.</p>
<p><b id="SCI_STYLESETFONT">SCI_STYLESETFONT(int styleNumber, const char *fontName)</b><br />
- <b id="SCI_STYLESETSIZE">SCI_STYLESETSIZE(int styleNumber, int sizeInPoints)</b><br />
- <b id="SCI_STYLESETBOLD">SCI_STYLESETBOLD(int styleNumber, bool bold)</b><br />
- <b id="SCI_STYLESETITALIC">SCI_STYLESETITALIC(int styleNumber, bool italic)</b><br />
+ <b id="SCI_STYLEGETFONT">SCI_STYLEGETFONT(int styleNumber, char *fontName)</b><br />
+ <b id="SCI_STYLESETSIZE">SCI_STYLESETSIZE(int styleNumber, int sizeInPoints)</b><br />
+ <b id="SCI_STYLEGETSIZE">SCI_STYLEGETSIZE(int styleNumber)</b><br />
+ <b id="SCI_STYLESETBOLD">SCI_STYLESETBOLD(int styleNumber, bool bold)</b><br />
+ <b id="SCI_STYLEGETBOLD">SCI_STYLEGETBOLD(int styleNumber)</b><br />
+ <b id="SCI_STYLESETITALIC">SCI_STYLESETITALIC(int styleNumber, bool italic)</b><br />
+ <b id="SCI_STYLEGETITALIC">SCI_STYLEGETITALIC(int styleNumber)</b><br />
These messages (plus <a class="message"
href="#SCI_STYLESETCHARACTERSET"><code>SCI_STYLESETCHARACTERSET</code></a>) set the font
attributes that are used to match the fonts you request to those available. The
@@ -2028,20 +2045,24 @@ struct TextToFind {
<p><b id="SCI_STYLESETUNDERLINE">SCI_STYLESETUNDERLINE(int styleNumber, bool
underline)</b><br />
- You can set a style to be underlined. The underline is drawn in the foreground colour. All
+ <b id="SCI_STYLEGETUNDERLINE">SCI_STYLEGETUNDERLINE(int styleNumber)</b><br />
+ You can set a style to be underlined. The underline is drawn in the foreground colour. All
characters with a style that includes the underline attribute are underlined, even if they are
white space.</p>
<p><b id="SCI_STYLESETFORE">SCI_STYLESETFORE(int styleNumber, int <a class="jump"
href="#colour">colour</a>)</b><br />
- <b id="SCI_STYLESETBACK">SCI_STYLESETBACK(int styleNumber, int <a class="jump"
+ <b id="SCI_STYLEGETFORE">SCI_STYLEGETFORE(int styleNumber)</b><br />
+ <b id="SCI_STYLESETBACK">SCI_STYLESETBACK(int styleNumber, int <a class="jump"
href="#colour">colour</a>)</b><br />
- Text is drawn in the foreground colour. The space in each character cell that is not occupied
+ <b id="SCI_STYLEGETBACK">SCI_STYLEGETBACK(int styleNumber)</b><br />
+ Text is drawn in the foreground colour. The space in each character cell that is not occupied
by the character is drawn in the background colour.</p>
<p><b id="SCI_STYLESETEOLFILLED">SCI_STYLESETEOLFILLED(int styleNumber, bool
eolFilled)</b><br />
- If the last character in the line has a style with this attribute set, the remainder of the
+ <b id="SCI_STYLEGETEOLFILLED">SCI_STYLEGETEOLFILLED(int styleNumber)</b><br />
+ If the last character in the line has a style with this attribute set, the remainder of the
line up to the right edge of the window is filled with the background colour set for the last
character. This is useful when a document contains embedded sections in another language such
as HTML pages with embedded JavaScript. By setting <code>eolFilled</code> to <code>true</code>
@@ -2051,7 +2072,8 @@ struct TextToFind {
<p><b id="SCI_STYLESETCHARACTERSET">SCI_STYLESETCHARACTERSET(int styleNumber, int
charSet)</b><br />
- You can set a style to use a different character set than the default. The places where such
+ <b id="SCI_STYLEGETCHARACTERSET">SCI_STYLEGETCHARACTERSET(int styleNumber)</b><br />
+ You can set a style to use a different character set than the default. The places where such
characters sets are likely to be useful are comments and literal strings. For example,
<code>SCI_STYLESETCHARACTERSET(SCE_C_STRING, SC_CHARSET_RUSSIAN)</code> would ensure that
strings in Russian would display correctly in C and C++ (<code>SCE_C_STRING</code> is the style
@@ -2076,32 +2098,33 @@ struct TextToFind {
<code>SC_CHARSET_8859_15</code>.</p>
<p><b id="SCI_STYLESETCASE">SCI_STYLESETCASE(int styleNumber, int caseMode)</b><br />
- The value of caseMode determines how text is displayed. You can set upper case
+ <b id="SCI_STYLEGETCASE">SCI_STYLEGETCASE(int styleNumber)</b><br />
+ The value of caseMode determines how text is displayed. You can set upper case
(<code>SC_CASE_UPPER</code>, 1) or lower case (<code>SC_CASE_LOWER</code>, 2) or display
normally (<code>SC_CASE_MIXED</code>, 0). This does not change the stored text, only how it is
displayed.</p>
<p><b id="SCI_STYLESETVISIBLE">SCI_STYLESETVISIBLE(int styleNumber, bool visible)</b><br />
- Text is normally visible. However, you can completely hide it by giving it a style with the
+ <b id="SCI_STYLEGETVISIBLE">SCI_STYLEGETVISIBLE(int styleNumber)</b><br />
+ Text is normally visible. However, you can completely hide it by giving it a style with the
<code>visible</code> set to 0. This could be used to hide embedded formatting instructions or
hypertext keywords in HTML or XML.</p>
<p><b id="SCI_STYLESETCHANGEABLE">SCI_STYLESETCHANGEABLE(int styleNumber, bool
changeable)</b><br />
- This is an experimental and incompletely implemented style attribute. The default setting is
+ <b id="SCI_STYLEGETCHANGEABLE">SCI_STYLEGETCHANGEABLE(int styleNumber)</b><br />
+ This is an experimental and incompletely implemented style attribute. The default setting is
<code>changeable</code> set <code>true</code> but when set <code>false</code> it makes text
read-only. Currently it only stops the caret from being within not-changeable text and does not
yet stop deleting a range that contains not-changeable text.</p>
<p><b id="SCI_STYLESETHOTSPOT">SCI_STYLESETHOTSPOT(int styleNumber, bool
hotspot)</b><br />
- This style is used to mark ranges of text that can detect mouse clicks.
- The cursor changes to a hand over hotspots, and the foreground, and background colours
- may change and an underline appear to indicate that these areas are sensitive to clicking.
- This may be used to allow hyperlinks to other documents.</p>
-
- <a class="message" href="#SCI_STYLESETHOTSPOT">SCI_STYLESETHOTSPOT(int styleNumber, bool
- hotspot)</a><br />
+ <b id="SCI_STYLEGETHOTSPOT">SCI_STYLEGETHOTSPOT(int styleNumber)</b><br />
+ This style is used to mark ranges of text that can detect mouse clicks.
+ The cursor changes to a hand over hotspots, and the foreground, and background colours
+ may change and an underline appear to indicate that these areas are sensitive to clicking.
+ This may be used to allow hyperlinks to other documents.</p>
<h2 id="CaretAndSelectionStyles">Caret, selection, and hotspot styles</h2>
@@ -2111,35 +2134,41 @@ struct TextToFind {
it was not selected. When there is no selection, the current insertion point is marked by the
text caret. This is a vertical line that is normally blinking on and off to attract the users
attention.</p>
- <code><a class="message" href="#SCI_SETSELFORE">SCI_SETSELFORE(bool useSelectionForeColour, int
- colour)</a><br />
- <a class="message" href="#SCI_SETSELBACK">SCI_SETSELBACK(bool useSelectionBackColour, int
- colour)</a><br />
- <a class="message" href="#SCI_SETSELALPHA">SCI_SETSELALPHA(int alpha)</a><br />
- <a class="message" href="#SCI_GETSELALPHA">SCI_GETSELALPHA</a><br />
- <a class="message" href="#SCI_SETSELEOLFILLED">SCI_SETSELEOLFILLED(bool filled)</a><br />
- <a class="message" href="#SCI_GETSELEOLFILLED">SCI_GETSELEOLFILLED</a><br />
- <a class="message" href="#SCI_SETCARETFORE">SCI_SETCARETFORE(int colour)</a><br />
- <a class="message" href="#SCI_GETCARETFORE">SCI_GETCARETFORE</a><br />
- <a class="message" href="#SCI_SETCARETLINEVISIBLE">SCI_SETCARETLINEVISIBLE(bool
+ <code><a class="message" href="#SCI_SETSELFORE">SCI_SETSELFORE(bool useSelectionForeColour,
+ int <a class="jump" href="#colour">colour<a>)</a><br />
+ <a class="message" href="#SCI_SETSELBACK">SCI_SETSELBACK(bool useSelectionBackColour,
+ int <a class="jump" href="#colour">colour<a>)</a><br />
+ <a class="message" href="#SCI_SETSELALPHA">SCI_SETSELALPHA(int alpha)</a><br />
+ <a class="message" href="#SCI_GETSELALPHA">SCI_GETSELALPHA</a><br />
+ <a class="message" href="#SCI_SETSELEOLFILLED">SCI_SETSELEOLFILLED(bool filled)</a><br />
+ <a class="message" href="#SCI_GETSELEOLFILLED">SCI_GETSELEOLFILLED</a><br />
+ <a class="message" href="#SCI_SETCARETFORE">SCI_SETCARETFORE(int colour)</a><br />
+ <a class="message" href="#SCI_GETCARETFORE">SCI_GETCARETFORE</a><br />
+ <a class="message" href="#SCI_SETCARETLINEVISIBLE">SCI_SETCARETLINEVISIBLE(bool
show)</a><br />
- <a class="message" href="#SCI_GETCARETLINEVISIBLE">SCI_GETCARETLINEVISIBLE</a><br />
- <a class="message" href="#SCI_SETCARETLINEBACK">SCI_SETCARETLINEBACK(int colour)</a><br />
- <a class="message" href="#SCI_GETCARETLINEBACK">SCI_GETCARETLINEBACK</a><br />
- <a class="message" href="#SCI_SETCARETLINEBACKALPHA">SCI_SETCARETLINEBACKALPHA(int alpha)</a><br />
- <a class="message" href="#SCI_GETCARETLINEBACKALPHA">SCI_GETCARETLINEBACKALPHA</a><br />
- <a class="message" href="#SCI_SETCARETPERIOD">SCI_SETCARETPERIOD(int milliseconds)</a><br />
- <a class="message" href="#SCI_GETCARETPERIOD">SCI_GETCARETPERIOD</a><br />
- <a class="message" href="#SCI_SETCARETWIDTH">SCI_SETCARETWIDTH(int pixels)</a><br />
- <a class="message" href="#SCI_GETCARETWIDTH">SCI_GETCARETWIDTH</a><br />
- <a class="message" href="#SCI_SETHOTSPOTACTIVEFORE">SCI_SETHOTSPOTACTIVEFORE</a><br />
- <a class="message" href="#SCI_SETHOTSPOTACTIVEBACK">SCI_SETHOTSPOTACTIVEBACK</a><br />
- <a class="message" href="#SCI_SETHOTSPOTACTIVEUNDERLINE">SCI_SETHOTSPOTACTIVEUNDERLINE</a><br />
- <a class="message" href="#SCI_SETHOTSPOTSINGLELINE">SCI_SETHOTSPOTSINGLELINE</a><br />
- <a class="message" href="#SCI_SETCONTROLCHARSYMBOL">SCI_SETCONTROLCHARSYMBOL(int
+ <a class="message" href="#SCI_GETCARETLINEVISIBLE">SCI_GETCARETLINEVISIBLE</a><br />
+ <a class="message" href="#SCI_SETCARETLINEBACK">SCI_SETCARETLINEBACK(int colour)</a><br />
+ <a class="message" href="#SCI_GETCARETLINEBACK">SCI_GETCARETLINEBACK</a><br />
+ <a class="message" href="#SCI_SETCARETLINEBACKALPHA">SCI_SETCARETLINEBACKALPHA(int alpha)</a><br />
+ <a class="message" href="#SCI_GETCARETLINEBACKALPHA">SCI_GETCARETLINEBACKALPHA</a><br />
+ <a class="message" href="#SCI_SETCARETPERIOD">SCI_SETCARETPERIOD(int milliseconds)</a><br />
+ <a class="message" href="#SCI_GETCARETPERIOD">SCI_GETCARETPERIOD</a><br />
+ <a class="message" href="#SCI_SETCARETWIDTH">SCI_SETCARETWIDTH(int pixels)</a><br />
+ <a class="message" href="#SCI_GETCARETWIDTH">SCI_GETCARETWIDTH</a><br />
+ <a class="message" href="#SCI_SETHOTSPOTACTIVEFORE">SCI_SETHOTSPOTACTIVEFORE(bool useSetting,
+ int <a class="jump" href="#colour">colour<a>)</a><br />
+ <a class="message" href="#SCI_GETHOTSPOTACTIVEFORE">SCI_GETHOTSPOTACTIVEFORE</a><br />
+ <a class="message" href="#SCI_SETHOTSPOTACTIVEBACK">SCI_SETHOTSPOTACTIVEBACK(bool useSetting,
+ int <a class="jump" href="#colour">colour<a>)</a><br />
+ <a class="message" href="#SCI_GETHOTSPOTACTIVEBACK">SCI_GETHOTSPOTACTIVEBACK</a><br />
+ <a class="message" href="#SCI_SETHOTSPOTACTIVEUNDERLINE">SCI_SETHOTSPOTACTIVEUNDERLINE(bool underline)</a><br />
+ <a class="message" href="#SCI_GETHOTSPOTACTIVEUNDERLINE">SCI_GETHOTSPOTACTIVEUNDERLINE</a><br />
+ <a class="message" href="#SCI_SETHOTSPOTSINGLELINE">SCI_SETHOTSPOTSINGLELINE(bool singleLine)</a><br />
+ <a class="message" href="#SCI_GETHOTSPOTSINGLELINE">SCI_GETHOTSPOTSINGLELINE</a><br />
+ <a class="message" href="#SCI_SETCONTROLCHARSYMBOL">SCI_SETCONTROLCHARSYMBOL(int
symbol)</a><br />
<a class="message" href="#SCI_GETCONTROLCHARSYMBOL">SCI_GETCONTROLCHARSYMBOL</a><br />
- <a class="message" href="#SCI_SETCARETSTICKY">SCI_SETCARETSTICKY</a><br />
+ <a class="message" href="#SCI_SETCARETSTICKY">SCI_SETCARETSTICKY(bool useCaretStickyBehaviour)</a><br />
<a class="message" href="#SCI_GETCARETSTICKY">SCI_GETCARETSTICKY</a><br />
<a class="message" href="#SCI_TOGGLECARETSTICKY">SCI_TOGGLECARETSTICKY</a><br />
</code>
@@ -2203,13 +2232,17 @@ struct TextToFind {
<p><b id="SCI_SETHOTSPOTACTIVEFORE">SCI_SETHOTSPOTACTIVEFORE(bool useHotSpotForeColour, int <a class="jump"
href="#colour">colour</a>)</b><br />
- <b id="SCI_SETHOTSPOTACTIVEBACK">SCI_SETHOTSPOTACTIVEBACK(bool useHotSpotBackColour, int <a class="jump"
+ <b id="SCI_GETHOTSPOTACTIVEFORE">SCI_GETHOTSPOTACTIVEFORE</b><br />
+ <b id="SCI_SETHOTSPOTACTIVEBACK">SCI_SETHOTSPOTACTIVEBACK(bool useHotSpotBackColour, int <a class="jump"
href="#colour">colour</a>)</b><br />
- <b id="SCI_SETHOTSPOTACTIVEUNDERLINE">SCI_SETHOTSPOTACTIVEUNDERLINE(bool underline,)</b><br />
- <b id="SCI_SETHOTSPOTSINGLELINE">SCI_SETHOTSPOTSINGLELINE(bool singleLine,)</b><br />
- While the cursor hovers over text in a style with the hotspot attribute set,
- the default colouring can be modified and an underline drawn with these settings.
- Single line mode stops a hotspot from wrapping onto next line.</p>
+ <b id="SCI_GETHOTSPOTACTIVEBACK">SCI_GETHOTSPOTACTIVEBACK</b><br />
+ <b id="SCI_SETHOTSPOTACTIVEUNDERLINE">SCI_SETHOTSPOTACTIVEUNDERLINE(bool underline)</b><br />
+ <b id="SCI_GETHOTSPOTACTIVEUNDERLINE">SCI_GETHOTSPOTACTIVEUNDERLINE</b><br />
+ <b id="SCI_SETHOTSPOTSINGLELINE">SCI_SETHOTSPOTSINGLELINE(bool singleLine)</b><br />
+ <b id="SCI_GETHOTSPOTSINGLELINE">SCI_GETHOTSPOTSINGLELINE</b><br />
+ While the cursor hovers over text in a style with the hotspot attribute set,
+ the default colouring can be modified and an underline drawn with these settings.
+ Single line mode stops a hotspot from wrapping onto next line.</p>
<p><b id="SCI_SETCONTROLCHARSYMBOL">SCI_SETCONTROLCHARSYMBOL(int symbol)</b><br />
<b id="SCI_GETCONTROLCHARSYMBOL">SCI_GETCONTROLCHARSYMBOL</b><br />
@@ -2227,11 +2260,11 @@ struct TextToFind {
The default symbol value is 0.</p>
<p><b id="SCI_SETCARETSTICKY">SCI_SETCARETSTICKY(bool useCaretStickyBehaviour)</b><br />
- <b id="SCI_GETCARETSTICKY">SCI_GETCARETSTICKY</b><br />
- <b id="SCI_TOGGLECARETSTICKY">SCI_TOGGLECARETSTICKY</b><br />
- These messages set, get or toggle the caretSticky flag which controls when the last position
- of the caret on the line is saved. When set to true, the position is not saved when you type
- a character, a tab, paste the clipboard content or press backspace.</p>
+ <b id="SCI_GETCARETSTICKY">SCI_GETCARETSTICKY</b><br />
+ <b id="SCI_TOGGLECARETSTICKY">SCI_TOGGLECARETSTICKY</b><br />
+ These messages set, get or toggle the caretSticky flag which controls when the last position
+ of the caret on the line is saved. When set to true, the position is not saved when you type
+ a character, a tab, paste the clipboard content or press backspace.</p>
<h2 id="Margins">Margins</h2>
diff --git a/doc/ScintillaHistory.html b/doc/ScintillaHistory.html
index 36e229d85..893fb1d95 100644
--- a/doc/ScintillaHistory.html
+++ b/doc/ScintillaHistory.html
@@ -227,6 +227,7 @@
<li>Waldemar Augustyn</li>
<li>Jason Haslam</li>
<li>Sebastian Steinlechner</li>
+ <li>Chris Rickard</li>
</ul>
<p>
Images used in GTK+ version
diff --git a/include/Scintilla.h b/include/Scintilla.h
index adb85695b..2282e26a1 100644
--- a/include/Scintilla.h
+++ b/include/Scintilla.h
@@ -194,6 +194,19 @@ typedef sptr_t (*SciFnDirect)(sptr_t ptr, unsigned int iMessage, uptr_t wParam,
#define SC_CASE_MIXED 0
#define SC_CASE_UPPER 1
#define SC_CASE_LOWER 2
+#define SCI_STYLEGETFORE 2481
+#define SCI_STYLEGETBACK 2482
+#define SCI_STYLEGETBOLD 2483
+#define SCI_STYLEGETITALIC 2484
+#define SCI_STYLEGETSIZE 2485
+#define SCI_STYLEGETFONT 2486
+#define SCI_STYLEGETEOLFILLED 2487
+#define SCI_STYLEGETUNDERLINE 2488
+#define SCI_STYLEGETCASE 2489
+#define SCI_STYLEGETCHARACTERSET 2490
+#define SCI_STYLEGETVISIBLE 2491
+#define SCI_STYLEGETCHANGEABLE 2492
+#define SCI_STYLEGETHOTSPOT 2493
#define SCI_STYLESETCASE 2060
#define SCI_STYLESETCHARACTERSET 2066
#define SCI_STYLESETHOTSPOT 2409
@@ -568,9 +581,13 @@ typedef sptr_t (*SciFnDirect)(sptr_t ptr, unsigned int iMessage, uptr_t wParam,
#define SCI_SETPRINTWRAPMODE 2406
#define SCI_GETPRINTWRAPMODE 2407
#define SCI_SETHOTSPOTACTIVEFORE 2410
+#define SCI_GETHOTSPOTACTIVEFORE 2494
#define SCI_SETHOTSPOTACTIVEBACK 2411
+#define SCI_GETHOTSPOTACTIVEBACK 2495
#define SCI_SETHOTSPOTACTIVEUNDERLINE 2412
+#define SCI_GETHOTSPOTACTIVEUNDERLINE 2496
#define SCI_SETHOTSPOTSINGLELINE 2421
+#define SCI_GETHOTSPOTSINGLELINE 2497
#define SCI_PARADOWN 2413
#define SCI_PARADOWNEXTEND 2414
#define SCI_PARAUP 2415
diff --git a/include/Scintilla.iface b/include/Scintilla.iface
index 779378047..76f4434ec 100644
--- a/include/Scintilla.iface
+++ b/include/Scintilla.iface
@@ -421,6 +421,48 @@ enu CaseVisible=SC_CASE_
val SC_CASE_MIXED=0
val SC_CASE_UPPER=1
val SC_CASE_LOWER=2
+
+# Get the foreground colour of a style.
+get colour StyleGetFore=2481(int style,)
+
+# Get the background colour of a style.
+get colour StyleGetBack=2482(int style,)
+
+# Get is a style bold or not.
+get bool StyleGetBold=2483(int style,)
+
+# Get is a style italic or not.
+get bool StyleGetItalic=2484(int style,)
+
+# Get the size of characters of a style.
+get int StyleGetSize=2485(int style,)
+
+# Get the font of a style.
+# Returns the length of the fontName
+fun int StyleGetFont=2486(int style, stringresult fontName)
+
+# Get is a style to have its end of line filled or not.
+get bool StyleGetEOLFilled=2487(int style,)
+
+# Get is a style underlined or not.
+get bool StyleGetUnderline=2488(int style,)
+
+# Get is a style mixed case, or to force upper or lower case.
+get int StyleGetCase=2489(int style,)
+
+# Get the character get of the font in a style.
+get int StyleGetCharacterSet=2490(int style,)
+
+# Get is a style visible or not.
+get bool StyleGetVisible=2491(int style,)
+
+# Get is a style changeable or not (read only).
+# Experimental feature, currently buggy.
+get bool StyleGetChangeable=2492(int style,)
+
+# Get is a style a hotspot or not.
+get bool StyleGetHotSpot=2493(int style,)
+
# Set a style to be mixed case, or to force upper or lower case.
set void StyleSetCase=2060(int style, int caseForce)
@@ -1511,15 +1553,27 @@ get int GetPrintWrapMode=2407(,)
# Set a fore colour for active hotspots.
set void SetHotspotActiveFore=2410(bool useSetting, colour fore)
+# Get the fore colour for active hotspots.
+get colour GetHotspotActiveFore=2494(,)
+
# Set a back colour for active hotspots.
set void SetHotspotActiveBack=2411(bool useSetting, colour back)
+# Get the back colour for active hotspots.
+get colour GetHotspotActiveBack=2495(,)
+
# Enable / Disable underlining active hotspots.
set void SetHotspotActiveUnderline=2412(bool underline,)
+# Get whether underlining for active hotspots.
+get bool GetHotspotActiveUnderline=2496(,)
+
# Limit hotspots to single line so hotspots on two lines don't merge.
set void SetHotspotSingleLine=2421(bool singleLine,)
+# Get the HotspotSingleLine property
+get bool GetHotspotSingleLine=2497(,)
+
# Move caret between paragraphs (delimited by empty lines).
fun void ParaDown=2413(,)
fun void ParaDownExtend=2414(,)
diff --git a/src/Editor.cxx b/src/Editor.cxx
index b50984b92..7f46543f1 100644
--- a/src/Editor.cxx
+++ b/src/Editor.cxx
@@ -6775,7 +6775,73 @@ sptr_t Editor::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam) {
InvalidateStyleRedraw();
}
break;
+ case SCI_STYLEGETFORE:
+ if (wParam <= STYLE_MAX)
+ return vs.styles[wParam].fore.desired.AsLong();
+ else
+ return 0;
+ case SCI_STYLEGETBACK:
+ if (wParam <= STYLE_MAX)
+ return vs.styles[wParam].back.desired.AsLong();
+ else
+ return 0;
+ case SCI_STYLEGETBOLD:
+ if (wParam <= STYLE_MAX)
+ return vs.styles[wParam].bold ? 1 : 0;
+ else
+ return 0;
+ case SCI_STYLEGETITALIC:
+ if (wParam <= STYLE_MAX)
+ return vs.styles[wParam].italic ? 1 : 0;
+ else
+ return 0;
+ case SCI_STYLEGETEOLFILLED:
+ if (wParam <= STYLE_MAX)
+ return vs.styles[wParam].eolFilled ? 1 : 0;
+ else
+ return 0;
+ case SCI_STYLEGETSIZE:
+ if (wParam <= STYLE_MAX)
+ return vs.styles[wParam].size;
+ else
+ return 0;
+ case SCI_STYLEGETFONT:
+ if (lParam == 0)
+ return strlen(vs.styles[wParam].fontName);
+ if (wParam <= STYLE_MAX)
+ strcpy(CharPtrFromSPtr(lParam), vs.styles[wParam].fontName);
+ break;
+ case SCI_STYLEGETUNDERLINE:
+ if (wParam <= STYLE_MAX)
+ return vs.styles[wParam].underline ? 1 : 0;
+ else
+ return 0;
+ case SCI_STYLEGETCASE:
+ if (wParam <= STYLE_MAX)
+ return static_cast<int>(vs.styles[wParam].caseForce);
+ else
+ return 0;
+ case SCI_STYLEGETCHARACTERSET:
+ if (wParam <= STYLE_MAX)
+ return vs.styles[wParam].characterSet;
+ else
+ return 0;
+ case SCI_STYLEGETVISIBLE:
+ if (wParam <= STYLE_MAX)
+ return vs.styles[wParam].visible ? 1 : 0;
+ else
+ return 0;
+ case SCI_STYLEGETCHANGEABLE:
+ if (wParam <= STYLE_MAX)
+ return vs.styles[wParam].changeable ? 1 : 0;
+ else
+ return 0;
+ case SCI_STYLEGETHOTSPOT:
+ if (wParam <= STYLE_MAX)
+ return vs.styles[wParam].hotspot ? 1 : 0;
+ else
+ return 0;
case SCI_STYLERESETDEFAULT:
vs.ResetDefaultStyle();
InvalidateStyleRedraw();
@@ -7312,22 +7378,34 @@ sptr_t Editor::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam) {
InvalidateStyleRedraw();
break;
+ case SCI_GETHOTSPOTACTIVEFORE:
+ return vs.hotspotForeground.desired.AsLong();
+
case SCI_SETHOTSPOTACTIVEBACK:
vs.hotspotBackgroundSet = wParam != 0;
vs.hotspotBackground.desired = ColourDesired(lParam);
InvalidateStyleRedraw();
break;
+ case SCI_GETHOTSPOTACTIVEBACK:
+ return vs.hotspotBackground.desired.AsLong();
+
case SCI_SETHOTSPOTACTIVEUNDERLINE:
vs.hotspotUnderline = wParam != 0;
InvalidateStyleRedraw();
break;
+ case SCI_GETHOTSPOTACTIVEUNDERLINE:
+ return vs.hotspotUnderline ? 1 : 0;
+
case SCI_SETHOTSPOTSINGLELINE:
vs.hotspotSingleLine = wParam != 0;
InvalidateStyleRedraw();
break;
+ case SCI_GETHOTSPOTSINGLELINE:
+ return vs.hotspotSingleLine ? 1 : 0;
+
case SCI_SETPASTECONVERTENDINGS:
convertPastes = wParam != 0;
break;