aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/EditView.cxx
diff options
context:
space:
mode:
authorNeil <nyamatongwe@gmail.com>2019-04-26 07:53:21 +1000
committerNeil <nyamatongwe@gmail.com>2019-04-26 07:53:21 +1000
commit0af74116cefe1ef66820f434dd057d2345c382fd (patch)
treee65fb7158e6d9d7bd4ea20c8c4e544ba1a7f07c3 /src/EditView.cxx
parent55735ff858696426509af625a56f3bea8c37d00d (diff)
downloadscintilla-mirror-0af74116cefe1ef66820f434dd057d2345c382fd.tar.gz
Backport: Feature [feature-requests:#1238]. Simplify camel case forcing by checking only
for upper and lower case characters instead of current word characters. This changes behaviour for words like "_word" -> "_Word" instead of remaining "_word" but that doesn't matter for this feature's intended use which is to allow display of ASCII-only keywords in the user's preferred casing (else/ELSE/Else) for languages with case-insensitive keywords. Backport of changeset 7475:cdb7af706ba1.
Diffstat (limited to 'src/EditView.cxx')
-rw-r--r--src/EditView.cxx8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/EditView.cxx b/src/EditView.cxx
index 7b585c553..727efbcdd 100644
--- a/src/EditView.cxx
+++ b/src/EditView.cxx
@@ -388,8 +388,8 @@ void EditView::LayoutLine(const EditModel &model, Sci::Line line, Surface *surfa
allSame = allSame &&
(ll->chars[numCharsInLine] == MakeUpperCase(chDoc));
else { // Style::caseCamel
- if ((model.pdoc->IsASCIIWordByte(ll->chars[numCharsInLine])) &&
- ((numCharsInLine == 0) || (!model.pdoc->IsASCIIWordByte(ll->chars[numCharsInLine - 1])))) {
+ if ((IsUpperOrLowerCase(ll->chars[numCharsInLine])) &&
+ ((numCharsInLine == 0) || (!IsUpperOrLowerCase(ll->chars[numCharsInLine - 1])))) {
allSame = allSame && (ll->chars[numCharsInLine] == MakeUpperCase(chDoc));
} else {
allSame = allSame && (ll->chars[numCharsInLine] == MakeLowerCase(chDoc));
@@ -435,8 +435,8 @@ void EditView::LayoutLine(const EditModel &model, Sci::Line line, Surface *surfa
else if (vstyle.styles[ll->styles[charInLine]].caseForce == Style::caseLower)
ll->chars[charInLine] = MakeLowerCase(chDoc);
else if (vstyle.styles[ll->styles[charInLine]].caseForce == Style::caseCamel) {
- if ((model.pdoc->IsASCIIWordByte(ll->chars[charInLine])) &&
- ((charInLine == 0) || (!model.pdoc->IsASCIIWordByte(ll->chars[charInLine - 1])))) {
+ if ((IsUpperOrLowerCase(ll->chars[charInLine])) &&
+ ((charInLine == 0) || (!IsUpperOrLowerCase(ll->chars[charInLine - 1])))) {
ll->chars[charInLine] = MakeUpperCase(chDoc);
} else {
ll->chars[charInLine] = MakeLowerCase(chDoc);