From 818cf866da84841e0f46c8f7b717b18926032f25 Mon Sep 17 00:00:00 2001 From: nyamatongwe Date: Sat, 25 Feb 2006 02:43:03 +0000 Subject: Patch from Greg Smith with further modifications moved character classification from Document into a separate CharClassify class and file and uses this from RESearch for regular expression word end \< and \> instead of built-in table. --- src/CharClassify.h | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 src/CharClassify.h (limited to 'src/CharClassify.h') diff --git a/src/CharClassify.h b/src/CharClassify.h new file mode 100644 index 000000000..881d3a114 --- /dev/null +++ b/src/CharClassify.h @@ -0,0 +1,25 @@ +// Scintilla source code edit control +/** @file CharClassify.h + ** Character classifications used by Document and RESearch. + **/ +// Copyright 2006 by Neil Hodgson +// 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(charClass[ch]);} + bool IsWord(unsigned char ch) const { return static_cast(charClass[ch]) == ccWord;} + +private: + enum { maxChar=256 }; + unsigned char charClass[maxChar]; // not type cc to save space +}; +#endif -- cgit v1.2.3