aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/Document.cxx
diff options
context:
space:
mode:
authornyamatongwe <devnull@localhost>2003-09-28 22:06:23 +0000
committernyamatongwe <devnull@localhost>2003-09-28 22:06:23 +0000
commite098d9e7420a8deec3db17df31d9d7bb4dbcf22b (patch)
tree08e41dc38284608575f3bc1dbc375502ce65ecb5 /src/Document.cxx
parent11b58966dcd5909f1fbd22def7f9888893bdd16f (diff)
downloadscintilla-mirror-e098d9e7420a8deec3db17df31d9d7bb4dbcf22b.tar.gz
Hotspot improvements from Simon, including setting to
limit hotspots to a single line.
Diffstat (limited to 'src/Document.cxx')
-rw-r--r--src/Document.cxx10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/Document.cxx b/src/Document.cxx
index 3f14335c0..7f4893711 100644
--- a/src/Document.cxx
+++ b/src/Document.cxx
@@ -1335,14 +1335,18 @@ int Document::WordPartRight(int pos) {
return pos;
}
-int Document::ExtendStyleRange(int pos, int delta) {
+bool IsLineEndChar(char c) {
+ return (c == '\n' || c == '\r');
+}
+
+int Document::ExtendStyleRange(int pos, int delta, bool singleLine) {
int sStart = cb.StyleAt(pos);
if (delta < 0) {
- while (pos > 0 && (cb.StyleAt(pos) == sStart))
+ while (pos > 0 && (cb.StyleAt(pos) == sStart) && (!singleLine || !IsLineEndChar(cb.CharAt(pos))) )
pos--;
pos++;
} else {
- while (pos < (Length()) && (cb.StyleAt(pos) == sStart))
+ while (pos < (Length()) && (cb.StyleAt(pos) == sStart) && (!singleLine || !IsLineEndChar(cb.CharAt(pos))) )
pos++;
}
return pos;