diff options
author | nyamatongwe <unknown> | 2004-05-27 11:50:56 +0000 |
---|---|---|
committer | nyamatongwe <unknown> | 2004-05-27 11:50:56 +0000 |
commit | a869bce0b49a1592bd64350de34942dee26ce3e5 (patch) | |
tree | cac57a00b9c878780e7b053c6eecaaf6e66888dc /src | |
parent | eb3433124297ef63d38aff5476200193ecdc1798 (diff) | |
download | scintilla-mirror-a869bce0b49a1592bd64350de34942dee26ce3e5.tar.gz |
Fixed behaviour of SetWordChars so characters can be removed
from set of word characters. Implemented by setting any
(alphanumeric or '_') characters not in argument to be
punctuation.
Diffstat (limited to 'src')
-rw-r--r-- | src/Document.cxx | 6 | ||||
-rw-r--r-- | src/Document.h | 2 | ||||
-rw-r--r-- | src/Editor.cxx | 4 |
3 files changed, 6 insertions, 6 deletions
diff --git a/src/Document.cxx b/src/Document.cxx index c55c4ca8a..97abd6254 100644 --- a/src/Document.cxx +++ b/src/Document.cxx @@ -50,7 +50,7 @@ Document::Document() { stylingBits = 5; stylingBitsMask = 0x1F; stylingMask = 0; - SetDefaultCharClasses(); + SetDefaultCharClasses(true); endStyled = 0; styleClock = 0; enteredCount = 0; @@ -1174,14 +1174,14 @@ void Document::ChangeCase(Range r, bool makeUpperCase) { } } -void Document::SetDefaultCharClasses() { +void Document::SetDefaultCharClasses(bool includeWordClass) { // Initialize all char classes to default values for (int ch = 0; ch < 256; ch++) { if (ch == '\r' || ch == '\n') charClass[ch] = ccNewLine; else if (ch < 0x20 || ch == ' ') charClass[ch] = ccSpace; - else if (ch >= 0x80 || isalnum(ch) || ch == '_') + else if (includeWordClass && (ch >= 0x80 || isalnum(ch) || ch == '_')) charClass[ch] = ccWord; else charClass[ch] = ccPunctuation; diff --git a/src/Document.h b/src/Document.h index 6cba0260f..54ecadb00 100644 --- a/src/Document.h +++ b/src/Document.h @@ -203,7 +203,7 @@ public: void ChangeCase(Range r, bool makeUpperCase); - void SetDefaultCharClasses(); + void SetDefaultCharClasses(bool includeWordClass); void SetCharClasses(const unsigned char *chars, charClassification newCharClass); void SetStylingBits(int bits); void StartStyling(int position, char mask); diff --git a/src/Editor.cxx b/src/Editor.cxx index cadc6b800..1ab36610b 100644 --- a/src/Editor.cxx +++ b/src/Editor.cxx @@ -5942,7 +5942,7 @@ sptr_t Editor::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam) { break; case SCI_SETWORDCHARS: { - pdoc->SetDefaultCharClasses(); + pdoc->SetDefaultCharClasses(false); if (lParam == 0) return 0; pdoc->SetCharClasses(reinterpret_cast<unsigned char *>(lParam), Document::ccWord); @@ -5957,7 +5957,7 @@ sptr_t Editor::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam) { break; case SCI_SETCHARSDEFAULT: - pdoc->SetDefaultCharClasses(); + pdoc->SetDefaultCharClasses(true); break; case SCI_GETLENGTH: |