diff options
author | nyamatongwe <unknown> | 2006-02-25 02:43:03 +0000 |
---|---|---|
committer | nyamatongwe <unknown> | 2006-02-25 02:43:03 +0000 |
commit | f6994eeda16b695b2abcb9654e704749b28a85b1 (patch) | |
tree | 2bdb32179d450bb6b0356d501eccb7bb978c5098 /src/CharClassify.h | |
parent | 08a99417d3d6239c5b3ee701dae9d51dfa023097 (diff) | |
download | scintilla-mirror-f6994eeda16b695b2abcb9654e704749b28a85b1.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 |