⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lexhtml.cxx

📁 wxGTK 是 wxWidgets 的 linux GTK+ (>2.2.3)版本。wxWidgets 是一个跨平台的 GUI 框架
💻 CXX
📖 第 1 页 / 共 5 页
字号:
				state = SCE_HJ_COMMENTLINE;				i += 2;			} else if (isoperator(ch)) {				styler.ColourTo(i - 1, StateToPrint);				styler.ColourTo(i, statePrintForState(SCE_HJ_SYMBOLS, inScriptType));				state = SCE_HJ_DEFAULT;			} else if ((ch == ' ') || (ch == '\t')) {				if (state == SCE_HJ_START) {					styler.ColourTo(i - 1, StateToPrint);					state = SCE_HJ_DEFAULT;				}			}			break;		case SCE_HJ_WORD:			if (!iswordchar(ch)) {				classifyWordHTJS(styler.GetStartSegment(), i - 1, keywords2, styler, inScriptType);				//styler.ColourTo(i - 1, eHTJSKeyword);				state = SCE_HJ_DEFAULT;				if (ch == '/' && chNext == '*') {					if (chNext2 == '*')						state = SCE_HJ_COMMENTDOC;					else						state = SCE_HJ_COMMENT;				} else if (ch == '/' && chNext == '/') {					state = SCE_HJ_COMMENTLINE;				} else if (ch == '\"') {					state = SCE_HJ_DOUBLESTRING;				} else if (ch == '\'') {					state = SCE_HJ_SINGLESTRING;				} else if ((ch == '-') && (chNext == '-') && (chNext2 == '>')) {					styler.ColourTo(i - 1, StateToPrint);					state = SCE_HJ_COMMENTLINE;					i += 2;				} else if (isoperator(ch)) {					styler.ColourTo(i, statePrintForState(SCE_HJ_SYMBOLS, inScriptType));					state = SCE_HJ_DEFAULT;				}			}			break;		case SCE_HJ_COMMENT:		case SCE_HJ_COMMENTDOC:			if (ch == '/' && chPrev == '*') {				styler.ColourTo(i, StateToPrint);				state = SCE_HJ_DEFAULT;				ch = ' ';			}			break;		case SCE_HJ_COMMENTLINE:			if (ch == '\r' || ch == '\n') {				styler.ColourTo(i - 1, statePrintForState(SCE_HJ_COMMENTLINE, inScriptType));				state = SCE_HJ_DEFAULT;				ch = ' ';			}			break;		case SCE_HJ_DOUBLESTRING:			if (ch == '\\') {				if (chNext == '\"' || chNext == '\'' || chNext == '\\') {					i++;				}			} else if (ch == '\"') {				styler.ColourTo(i, statePrintForState(SCE_HJ_DOUBLESTRING, inScriptType));				state = SCE_HJ_DEFAULT;			} else if ((inScriptType == eNonHtmlScript) && (ch == '-') && (chNext == '-') && (chNext2 == '>')) {				styler.ColourTo(i - 1, StateToPrint);				state = SCE_HJ_COMMENTLINE;				i += 2;			} else if (isLineEnd(ch)) {				styler.ColourTo(i - 1, StateToPrint);				state = SCE_HJ_STRINGEOL;			}			break;		case SCE_HJ_SINGLESTRING:			if (ch == '\\') {				if (chNext == '\"' || chNext == '\'' || chNext == '\\') {					i++;				}			} else if (ch == '\'') {				styler.ColourTo(i, statePrintForState(SCE_HJ_SINGLESTRING, inScriptType));				state = SCE_HJ_DEFAULT;			} else if ((inScriptType == eNonHtmlScript) && (ch == '-') && (chNext == '-') && (chNext2 == '>')) {				styler.ColourTo(i - 1, StateToPrint);				state = SCE_HJ_COMMENTLINE;				i += 2;			} else if (isLineEnd(ch)) {				styler.ColourTo(i - 1, StateToPrint);				state = SCE_HJ_STRINGEOL;			}			break;		case SCE_HJ_STRINGEOL:			if (!isLineEnd(ch)) {				styler.ColourTo(i - 1, StateToPrint);				state = SCE_HJ_DEFAULT;			} else if (!isLineEnd(chNext)) {				styler.ColourTo(i, StateToPrint);				state = SCE_HJ_DEFAULT;			}			break;		case SCE_HJ_REGEX:			if (ch == '\r' || ch == '\n' || ch == '/') {				if (ch == '/') {					while (isascii(chNext) && islower(chNext)) {   // gobble regex flags						i++;						ch = chNext;						chNext = styler.SafeGetCharAt(i + 1);					}				}				styler.ColourTo(i, StateToPrint);				state = SCE_HJ_DEFAULT;			} else if (ch == '\\') {				// Gobble up the quoted character				if (chNext == '\\' || chNext == '/') {					i++;					ch = chNext;					chNext = styler.SafeGetCharAt(i + 1);				}			}			break;		case SCE_HB_DEFAULT:		case SCE_HB_START:			if (iswordstart(ch)) {				styler.ColourTo(i - 1, StateToPrint);				state = SCE_HB_WORD;			} else if (ch == '\'') {				styler.ColourTo(i - 1, StateToPrint);				state = SCE_HB_COMMENTLINE;			} else if (ch == '\"') {				styler.ColourTo(i - 1, StateToPrint);				state = SCE_HB_STRING;			} else if ((ch == '<') && (chNext == '!') && (chNext2 == '-') &&			           styler.SafeGetCharAt(i + 3) == '-') {				styler.ColourTo(i - 1, StateToPrint);				state = SCE_HB_COMMENTLINE;			} else if (isoperator(ch)) {				styler.ColourTo(i - 1, StateToPrint);				styler.ColourTo(i, statePrintForState(SCE_HB_DEFAULT, inScriptType));				state = SCE_HB_DEFAULT;			} else if ((ch == ' ') || (ch == '\t')) {				if (state == SCE_HB_START) {					styler.ColourTo(i - 1, StateToPrint);					state = SCE_HB_DEFAULT;				}			}			break;		case SCE_HB_WORD:			if (!iswordchar(ch)) {				state = classifyWordHTVB(styler.GetStartSegment(), i - 1, keywords3, styler, inScriptType);				if (state == SCE_HB_DEFAULT) {					if (ch == '\"') {						state = SCE_HB_STRING;					} else if (ch == '\'') {						state = SCE_HB_COMMENTLINE;					} else if (isoperator(ch)) {						styler.ColourTo(i, statePrintForState(SCE_HB_DEFAULT, inScriptType));						state = SCE_HB_DEFAULT;					}				}			}			break;		case SCE_HB_STRING:			if (ch == '\"') {				styler.ColourTo(i, StateToPrint);				state = SCE_HB_DEFAULT;			} else if (ch == '\r' || ch == '\n') {				styler.ColourTo(i - 1, StateToPrint);				state = SCE_HB_STRINGEOL;			}			break;		case SCE_HB_COMMENTLINE:			if (ch == '\r' || ch == '\n') {				styler.ColourTo(i - 1, StateToPrint);				state = SCE_HB_DEFAULT;			}			break;		case SCE_HB_STRINGEOL:			if (!isLineEnd(ch)) {				styler.ColourTo(i - 1, StateToPrint);				state = SCE_HB_DEFAULT;			} else if (!isLineEnd(chNext)) {				styler.ColourTo(i, StateToPrint);				state = SCE_HB_DEFAULT;			}			break;		case SCE_HP_DEFAULT:		case SCE_HP_START:			if (iswordstart(ch)) {				styler.ColourTo(i - 1, StateToPrint);				state = SCE_HP_WORD;			} else if ((ch == '<') && (chNext == '!') && (chNext2 == '-') &&			           styler.SafeGetCharAt(i + 3) == '-') {				styler.ColourTo(i - 1, StateToPrint);				state = SCE_HP_COMMENTLINE;			} else if (ch == '#') {				styler.ColourTo(i - 1, StateToPrint);				state = SCE_HP_COMMENTLINE;			} else if (ch == '\"') {				styler.ColourTo(i - 1, StateToPrint);				if (chNext == '\"' && chNext2 == '\"') {					i += 2;					state = SCE_HP_TRIPLEDOUBLE;					ch = ' ';					chPrev = ' ';					chNext = styler.SafeGetCharAt(i + 1);				} else {					//					state = statePrintForState(SCE_HP_STRING,inScriptType);					state = SCE_HP_STRING;				}			} else if (ch == '\'') {				styler.ColourTo(i - 1, StateToPrint);				if (chNext == '\'' && chNext2 == '\'') {					i += 2;					state = SCE_HP_TRIPLE;					ch = ' ';					chPrev = ' ';					chNext = styler.SafeGetCharAt(i + 1);				} else {					state = SCE_HP_CHARACTER;				}			} else if (isoperator(ch)) {				styler.ColourTo(i - 1, StateToPrint);				styler.ColourTo(i, statePrintForState(SCE_HP_OPERATOR, inScriptType));			} else if ((ch == ' ') || (ch == '\t')) {				if (state == SCE_HP_START) {					styler.ColourTo(i - 1, StateToPrint);					state = SCE_HP_DEFAULT;				}			}			break;		case SCE_HP_WORD:			if (!iswordchar(ch)) {				classifyWordHTPy(styler.GetStartSegment(), i - 1, keywords4, styler, prevWord, inScriptType);				state = SCE_HP_DEFAULT;				if (ch == '#') {					state = SCE_HP_COMMENTLINE;				} else if (ch == '\"') {					if (chNext == '\"' && chNext2 == '\"') {						i += 2;						state = SCE_HP_TRIPLEDOUBLE;						ch = ' ';						chPrev = ' ';						chNext = styler.SafeGetCharAt(i + 1);					} else {						state = SCE_HP_STRING;					}				} else if (ch == '\'') {					if (chNext == '\'' && chNext2 == '\'') {						i += 2;						state = SCE_HP_TRIPLE;						ch = ' ';						chPrev = ' ';						chNext = styler.SafeGetCharAt(i + 1);					} else {						state = SCE_HP_CHARACTER;					}				} else if (isoperator(ch)) {					styler.ColourTo(i, statePrintForState(SCE_HP_OPERATOR, inScriptType));				}			}			break;		case SCE_HP_COMMENTLINE:			if (ch == '\r' || ch == '\n') {				styler.ColourTo(i - 1, StateToPrint);				state = SCE_HP_DEFAULT;			}			break;		case SCE_HP_STRING:			if (ch == '\\') {				if (chNext == '\"' || chNext == '\'' || chNext == '\\') {					i++;					ch = chNext;					chNext = styler.SafeGetCharAt(i + 1);				}			} else if (ch == '\"') {				styler.ColourTo(i, StateToPrint);				state = SCE_HP_DEFAULT;			}			break;		case SCE_HP_CHARACTER:			if (ch == '\\') {				if (chNext == '\"' || chNext == '\'' || chNext == '\\') {					i++;					ch = chNext;					chNext = styler.SafeGetCharAt(i + 1);				}			} else if (ch == '\'') {				styler.ColourTo(i, StateToPrint);				state = SCE_HP_DEFAULT;			}			break;		case SCE_HP_TRIPLE:			if (ch == '\'' && chPrev == '\'' && chPrev2 == '\'') {				styler.ColourTo(i, StateToPrint);				state = SCE_HP_DEFAULT;			}			break;		case SCE_HP_TRIPLEDOUBLE:			if (ch == '\"' && chPrev == '\"' && chPrev2 == '\"') {				styler.ColourTo(i, StateToPrint);				state = SCE_HP_DEFAULT;			}			break;			///////////// start - PHP state handling		case SCE_HPHP_WORD:			if (!iswordchar(ch)) {				classifyWordHTPHP(styler.GetStartSegment(), i - 1, keywords5, styler);				if (ch == '/' && chNext == '*') {					i++;					state = SCE_HPHP_COMMENT;				} else if (ch == '/' && chNext == '/') {					i++;					state = SCE_HPHP_COMMENTLINE;				} else if (ch == '#') {					state = SCE_HPHP_COMMENTLINE;				} else if (ch == '\"') {					state = SCE_HPHP_HSTRING;					strcpy(phpStringDelimiter, "\"");				} else if (styler.Match(i, "<<<")) {					state = SCE_HPHP_HSTRING;					i = FindPhpStringDelimiter(phpStringDelimiter, sizeof(phpStringDelimiter), i + 3, lengthDoc, styler);				} else if (ch == '\'') {					state = SCE_HPHP_SIMPLESTRING;				} else if (ch == '$' && IsPhpWordStart(chNext)) {					state = SCE_HPHP_VARIABLE;				} else if (isoperator(ch)) {					state = SCE_HPHP_OPERATOR;				} else {					state = SCE_HPHP_DEFAULT;				}			}			break;		case SCE_HPHP_NUMBER:			// recognize bases 8,10 or 16 integers OR floating-point numbers			if (!IsADigit(ch)				&& strchr(".xXabcdefABCDEF", ch) == NULL				&& ((ch != '-' && ch != '+') || (chPrev != 'e' && chPrev != 'E'))) {				styler.ColourTo(i - 1, SCE_HPHP_NUMBER);				if (isoperator(ch))					state = SCE_HPHP_OPERATOR;				else					state = SCE_HPHP_DEFAULT;			}			break;		case SCE_HPHP_VARIABLE:			if (!IsPhpWordChar(ch)) {				styler.ColourTo(i - 1, SCE_HPHP_VARIABLE);				if (isoperator(ch))					state = SCE_HPHP_OPERATOR;				else					state = SCE_HPHP_DEFAULT;			}			break;		case SCE_HPHP_COMMENT:			if (ch == '/' && chPrev == '*') {				styler.ColourTo(i, StateToPrint);				state = SCE_HPHP_DEFAULT;			}			break;		case SCE_HPHP_COMMENTLINE:			if (ch == '\r' || ch == '\n') {				styler.ColourTo(i - 1, StateToPrint);				state = SCE_HPHP_DEFAULT;			}			break;		case SCE_HPHP_HSTRING:			if (ch == '\\' && (phpStringDelimiter[0] == '\"' || chNext == '$' || chNext == '{')) {				// skip the next char				i++;			} else if (((ch == '{' && chNext == '$') || (ch == '$' && chNext == '{'))				&& IsPhpWordStart(chNext2)) {				styler.ColourTo(i - 1, StateToPrint);				state = SCE_HPHP_COMPLEX_VARIABLE;			} else if (ch == '$' && IsPhpWordStart(chNext)) {				styler.ColourTo(i - 1, StateToPrint);				state = SCE_HPHP_HSTRING_VARIABLE;			} else if (styler.Match(i, phpStringDelimiter)) {				if (strlen(phpStringDelimiter) > 1)					i += strlen(phpStringDelimiter) - 1;				styler.ColourTo(i, StateToPrint);				state = SCE_HPHP_DEFAULT;			}			break;		case SCE_HPHP_SIMPLESTRING:			if (ch == '\\') {				// skip the next char				i++;			} else if (ch == '\'') {				styler.ColourTo(i, StateToPrint);				state = SCE_HPHP_DEFAULT;			}			break;		case SCE_HPHP_HSTRING_VARIABLE:			if (!IsPhpWordChar(ch)) {				styler.ColourTo(i - 1, StateToPrint);				i--; // strange but it works				state = SCE_HPHP_HSTRING;			}			break;		case SCE_HPHP_COMPLEX_VARIABLE:			if (ch == '}') {				styler.ColourTo(i, StateToPrint);				state = SCE_HPHP_HSTRING;			}			break;		case SCE_HPHP_OPERATOR:		case SCE_HPHP_DEFAULT:			styler.ColourTo(i - 1, StateToPrint);			if (IsADigit(ch) || (ch == '.' && IsADigit(chNext))) {				state = SCE_HPHP_NUMBER;			} else if (iswordstart(ch)) {				state = SCE_HPHP_WORD;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -