diff options
author | Neil <nyamatongwe@gmail.com> | 2021-01-29 20:51:34 +1100 |
---|---|---|
committer | Neil <nyamatongwe@gmail.com> | 2021-01-29 20:51:34 +1100 |
commit | ba8b1a91525dd90f8fdcc75480f37815fecce2d2 (patch) | |
tree | 5ebce1a7d7c25aaee80e640b8cb56cc9aa5d6d34 /lexlib/CharacterCategory.h | |
parent | f8817063200055b8b9f7b9a7a83c30100f64c903 (diff) | |
download | scintilla-mirror-ba8b1a91525dd90f8fdcc75480f37815fecce2d2.tar.gz |
Move CharacterSet and CharacterCategory from lexlib to src as in both Lexilla and Scintilla
Diffstat (limited to 'lexlib/CharacterCategory.h')
-rw-r--r-- | lexlib/CharacterCategory.h | 50 |
1 files changed, 0 insertions, 50 deletions
diff --git a/lexlib/CharacterCategory.h b/lexlib/CharacterCategory.h deleted file mode 100644 index cd3320dd9..000000000 --- a/lexlib/CharacterCategory.h +++ /dev/null @@ -1,50 +0,0 @@ -// Scintilla source code edit control -/** @file CharacterCategory.h - ** Returns the Unicode general category of a character. - **/ -// Copyright 2013 by Neil Hodgson <neilh@scintilla.org> -// The License.txt file describes the conditions under which this software may be distributed. - -#ifndef CHARACTERCATEGORY_H -#define CHARACTERCATEGORY_H - -namespace Scintilla { - -enum CharacterCategory { - ccLu, ccLl, ccLt, ccLm, ccLo, - ccMn, ccMc, ccMe, - ccNd, ccNl, ccNo, - ccPc, ccPd, ccPs, ccPe, ccPi, ccPf, ccPo, - ccSm, ccSc, ccSk, ccSo, - ccZs, ccZl, ccZp, - ccCc, ccCf, ccCs, ccCo, ccCn -}; - -CharacterCategory CategoriseCharacter(int character); - -// Common definitions of allowable characters in identifiers from UAX #31. -bool IsIdStart(int character); -bool IsIdContinue(int character); -bool IsXidStart(int character); -bool IsXidContinue(int character); - -class CharacterCategoryMap { -private: - std::vector<unsigned char> dense; -public: - CharacterCategoryMap(); - CharacterCategory CategoryFor(int character) const { - if (static_cast<size_t>(character) < dense.size()) { - return static_cast<CharacterCategory>(dense[character]); - } else { - // binary search through ranges - return CategoriseCharacter(character); - } - } - int Size() const noexcept; - void Optimize(int countCharacters); -}; - -} - -#endif |