summaryrefslogtreecommitdiffstats
path: root/scintilla/src/CharClassify.h
diff options
context:
space:
mode:
authorXhmikosR <xhmikosr@users.sourceforge.net>2010-10-31 17:17:15 +0000
committerXhmikosR <xhmikosr@users.sourceforge.net>2010-10-31 17:17:15 +0000
commit88a9de8737ca5a2ba239d49e072660fc9c89ab25 (patch)
treeb64f81588eafd28926ffc632c01f6b3c246e218d /scintilla/src/CharClassify.h
parente5eb2fe35699c79bef11a870fd4c111c040fc22c (diff)
downloadnotepad2-mod-88a9de8737ca5a2ba239d49e072660fc9c89ab25.zip
notepad2-mod-88a9de8737ca5a2ba239d49e072660fc9c89ab25.tar.gz
notepad2-mod-88a9de8737ca5a2ba239d49e072660fc9c89ab25.tar.bz2
add scintilla v2.12 in the svn
git-svn-id: https://notepad2-mod.googlecode.com/svn/trunk@3 28bd50df-7adb-d945-0439-6e466c6a13cc
Diffstat (limited to 'scintilla/src/CharClassify.h')
-rw-r--r--scintilla/src/CharClassify.h37
1 files changed, 37 insertions, 0 deletions
diff --git a/scintilla/src/CharClassify.h b/scintilla/src/CharClassify.h
new file mode 100644
index 0000000..947b1a3
--- /dev/null
+++ b/scintilla/src/CharClassify.h
@@ -0,0 +1,37 @@
+// Scintilla source code edit control
+/** @file CharClassify.h
+ ** Character classifications used by Document and RESearch.
+ **/
+// Copyright 2006-2009 by Neil Hodgson <neilh@scintilla.org>
+// The License.txt file describes the conditions under which this software may be distributed.
+
+#ifndef CHARCLASSIFY_H
+#define CHARCLASSIFY_H
+
+class CharClassify {
+public:
+ CharClassify();
+
+ enum cc { ccSpace, ccNewLine, ccWord, ccPunctuation };
+ void SetDefaultCharClasses(bool includeWordClass);
+ void SetCharClasses(const unsigned char *chars, cc newCharClass);
+ cc GetClass(unsigned char ch) const { return static_cast<cc>(charClass[ch]);}
+ bool IsWord(unsigned char ch) const { return static_cast<cc>(charClass[ch]) == ccWord;}
+
+private:
+ enum { maxChar=256 };
+ unsigned char charClass[maxChar]; // not type cc to save space
+};
+
+// These functions are implemented because each platform calls them something different.
+int CompareCaseInsensitive(const char *a, const char *b);
+int CompareNCaseInsensitive(const char *a, const char *b, size_t len);
+
+inline char MakeUpperCase(char ch) {
+ if (ch < 'a' || ch > 'z')
+ return ch;
+ else
+ return static_cast<char>(ch - 'a' + 'A');
+}
+
+#endif