diff options
Diffstat (limited to 'src/LexCPP.cxx')
| -rw-r--r-- | src/LexCPP.cxx | 48 | 
1 files changed, 5 insertions, 43 deletions
| diff --git a/src/LexCPP.cxx b/src/LexCPP.cxx index bc3177cb3..8c00acb7b 100644 --- a/src/LexCPP.cxx +++ b/src/LexCPP.cxx @@ -19,50 +19,12 @@  #include "KeyWords.h"  #include "Scintilla.h"  #include "SciLexer.h" +#include "CharacterSet.h"  #ifdef SCI_NAMESPACE  using namespace Scintilla;  #endif -#define SET_LOWER "abcdefghijklmnopqrstuvwxyz" -#define SET_UPPER "ABCDEFGHIJKLMNOPQRSTUVWXYZ" -#define SET_DIGITS "0123456789" - -class SetOfCharacters { -	int size; -	bool valueAfter; -	bool *bset; -public: -	SetOfCharacters(const char *setOfCharacters, int size_=0x80, bool valueAfter_=false) { -		size = size_; -		valueAfter = valueAfter_; -		bset = new bool[size]; -		for (int i=0; i < size; i++) { -			bset[i] = false; -		} -		for (const char *cp=setOfCharacters; *cp; cp++) { -			int val = static_cast<unsigned char>(*cp); -			PLATFORM_ASSERT(val >= 0); -			PLATFORM_ASSERT(val < size); -			bset[val] = true; -		} -	} -	~SetOfCharacters() { -		delete []bset; -		bset = 0; -		size = 0; -	} -	void Add(int val) { -		PLATFORM_ASSERT(val >= 0); -		PLATFORM_ASSERT(val < size); -		bset[val] = true; -	} -	bool Contains(int val) { -		PLATFORM_ASSERT(val >= 0); -		return (val < size) ? bset[val] : valueAfter; -	} -}; -  static bool IsSpaceEquiv(int state) {  	return (state <= SCE_C_COMMENTDOC) ||  		// including SCE_C_DEFAULT, SCE_C_COMMENT, SCE_C_COMMENTLINE @@ -80,12 +42,12 @@ static void ColouriseCppDoc(unsigned int startPos, int length, int initStyle, Wo  	bool stylingWithinPreprocessor = styler.GetPropertyInt("styling.within.preprocessor") != 0; -	SetOfCharacters setOKBeforeRE("(=,"); +	CharacterSet setOKBeforeRE(CharacterSet::setNone, "(=,"); -	SetOfCharacters setDoxygen("$@\\&<>#{}[]" SET_LOWER); +	CharacterSet setDoxygen(CharacterSet::setLower, "$@\\&<>#{}[]"); -	SetOfCharacters setWordStart("_" SET_LOWER SET_UPPER, 0x80, true); -	SetOfCharacters setWord("._" SET_LOWER SET_UPPER SET_DIGITS, 0x80, true); +	CharacterSet setWordStart(CharacterSet::setAlpha, "_", 0x80, true); +	CharacterSet setWord(CharacterSet::setAlphaNum, "._", 0x80, true);  	if (styler.GetPropertyInt("lexer.cpp.allow.dollars", 1) != 0) {  		setWordStart.Add('$');  		setWord.Add('$'); | 
