You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
25 lines
853 B
25 lines
853 B
// 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
|
|
|