diff options
author | nyamatongwe <devnull@localhost> | 2006-02-25 02:43:03 +0000 |
---|---|---|
committer | nyamatongwe <devnull@localhost> | 2006-02-25 02:43:03 +0000 |
commit | 818cf866da84841e0f46c8f7b717b18926032f25 (patch) | |
tree | 2bdb32179d450bb6b0356d501eccb7bb978c5098 /src/CharClassify.h | |
parent | 89cb4070bf10f7143df9a40aed89693b029f7e2e (diff) | |
download | scintilla-mirror-818cf866da84841e0f46c8f7b717b18926032f25.tar.gz |
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.
Diffstat (limited to 'src/CharClassify.h')
-rw-r--r-- | src/CharClassify.h | 25 |
1 files changed, 25 insertions, 0 deletions
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 <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 +}; +#endif |