diff options
Diffstat (limited to 'src/StyleContext.h')
| -rw-r--r-- | src/StyleContext.h | 177 | 
1 files changed, 0 insertions, 177 deletions
| diff --git a/src/StyleContext.h b/src/StyleContext.h deleted file mode 100644 index 4e175bc29..000000000 --- a/src/StyleContext.h +++ /dev/null @@ -1,177 +0,0 @@ -// Scintilla source code edit control -/** @file StyleContext.cxx - ** Lexer infrastructure. - **/ -// Copyright 1998-2004 by Neil Hodgson <neilh@scintilla.org> -// This file is in the public domain. - -#ifdef SCI_NAMESPACE -namespace Scintilla { -#endif - -// All languages handled so far can treat all characters >= 0x80 as one class -// which just continues the current token or starts an identifier if in default. -// DBCS treated specially as the second character can be < 0x80 and hence -// syntactically significant. UTF-8 avoids this as all trail bytes are >= 0x80 -class StyleContext { -	Accessor &styler; -	unsigned int endPos; -	StyleContext &operator=(const StyleContext &); -	void GetNextChar(unsigned int pos) { -		chNext = static_cast<unsigned char>(styler.SafeGetCharAt(pos+1)); -		if (styler.IsLeadByte(static_cast<char>(chNext))) { -			chNext = chNext << 8; -			chNext |= static_cast<unsigned char>(styler.SafeGetCharAt(pos+2)); -		} -		// End of line? -		// Trigger on CR only (Mac style) or either on LF from CR+LF (Dos/Win) -		// or on LF alone (Unix). Avoid triggering two times on Dos/Win. -		atLineEnd = (ch == '\r' && chNext != '\n') || -					(ch == '\n') || -					(currentPos >= endPos); -	} - -public: -	unsigned int currentPos; -	bool atLineStart; -	bool atLineEnd; -	int state; -	int chPrev; -	int ch; -	int chNext; - -	StyleContext(unsigned int startPos, unsigned int length, -                        int initStyle, Accessor &styler_, char chMask=31) : -		styler(styler_), -		endPos(startPos + length), -		currentPos(startPos), -		atLineStart(true), -		atLineEnd(false), -		state(initStyle & chMask), // Mask off all bits which aren't in the chMask. -		chPrev(0), -		ch(0), -		chNext(0) { -		styler.StartAt(startPos, chMask); -		styler.StartSegment(startPos); -		unsigned int pos = currentPos; -		ch = static_cast<unsigned char>(styler.SafeGetCharAt(pos)); -		if (styler.IsLeadByte(static_cast<char>(ch))) { -			pos++; -			ch = ch << 8; -			ch |= static_cast<unsigned char>(styler.SafeGetCharAt(pos)); -		} -		GetNextChar(pos); -	} -	void Complete() { -		styler.ColourTo(currentPos - 1, state); -	} -	bool More() const { -		return currentPos < endPos; -	} -	void Forward() { -		if (currentPos < endPos) { -			atLineStart = atLineEnd; -			chPrev = ch; -			currentPos++; -			if (ch >= 0x100) -				currentPos++; -			ch = chNext; -			GetNextChar(currentPos + ((ch >= 0x100) ? 1 : 0)); -		} else { -			atLineStart = false; -			chPrev = ' '; -			ch = ' '; -			chNext = ' '; -			atLineEnd = true; -		} -	} -	void Forward(int nb) { -		for (int i = 0; i < nb; i++) { -			Forward(); -		} -	} -	void ChangeState(int state_) { -		state = state_; -	} -	void SetState(int state_) { -		styler.ColourTo(currentPos - 1, state); -		state = state_; -	} -	void ForwardSetState(int state_) { -		Forward(); -		styler.ColourTo(currentPos - 1, state); -		state = state_; -	} -	int LengthCurrent() { -		return currentPos - styler.GetStartSegment(); -	} -	int GetRelative(int n) { -		return static_cast<unsigned char>(styler.SafeGetCharAt(currentPos+n)); -	} -	bool Match(char ch0) const { -		return ch == static_cast<unsigned char>(ch0); -	} -	bool Match(char ch0, char ch1) const { -		return (ch == static_cast<unsigned char>(ch0)) && (chNext == static_cast<unsigned char>(ch1)); -	} -	bool Match(const char *s) { -		if (ch != static_cast<unsigned char>(*s)) -			return false; -		s++; -		if (!*s) -			return true; -		if (chNext != static_cast<unsigned char>(*s)) -			return false; -		s++; -		for (int n=2; *s; n++) { -			if (*s != styler.SafeGetCharAt(currentPos+n)) -				return false; -			s++; -		} -		return true; -	} -	bool MatchIgnoreCase(const char *s) { -		if (tolower(ch) != static_cast<unsigned char>(*s)) -			return false; -		s++; -		if (tolower(chNext) != static_cast<unsigned char>(*s)) -			return false; -		s++; -		for (int n=2; *s; n++) { -			if (static_cast<unsigned char>(*s) != -				tolower(static_cast<unsigned char>(styler.SafeGetCharAt(currentPos+n)))) -				return false; -			s++; -		} -		return true; -	} -	// Non-inline -	void GetCurrent(char *s, unsigned int len); -	void GetCurrentLowered(char *s, unsigned int len); -}; - -#ifdef SCI_NAMESPACE -} -#endif - -inline bool IsASpace(unsigned int ch) { -    return (ch == ' ') || ((ch >= 0x09) && (ch <= 0x0d)); -} - -inline bool IsASpaceOrTab(unsigned int ch) { -	return (ch == ' ') || (ch == '\t'); -} - -inline bool IsADigit(unsigned int ch) { -	return (ch >= '0') && (ch <= '9'); -} - -inline bool IsADigit(unsigned int ch, unsigned int base) { -	if (base <= 10) { -		return (ch >= '0') && (ch < '0' + base); -	} else { -		return ((ch >= '0') && (ch <= '9')) || -		       ((ch >= 'A') && (ch < 'A' + base - 10)) || -		       ((ch >= 'a') && (ch < 'a' + base - 10)); -	} -} | 
