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

📄 lexhtml.cxx

📁 robocup rcssserver 运行防真机器人足球比赛所用的服务器端
💻 CXX
📖 第 1 页 / 共 5 页
字号:
			else if (scriptLanguage == eScriptXML)				styler.ColourTo(i, SCE_H_XMLEND);			else if (scriptLanguage == eScriptSGML)				styler.ColourTo(i, SCE_H_SGML_DEFAULT);			else				styler.ColourTo(i, SCE_H_QUESTION);			state = beforePreProc;			if (inScriptType == eNonHtmlScriptPreProc)				inScriptType = eNonHtmlScript;			else				inScriptType = eHtml;			// Unfold all scripting languages, except for XML tag			if (foldHTMLPreprocessor && (scriptLanguage != eScriptXML)) {				levelCurrent--;			}			scriptLanguage = eScriptNone;			continue;		}		/////////////////////////////////////		switch (state) {		case SCE_H_DEFAULT:			if (ch == '<') {				// in HTML, fold on tag open and unfold on tag close				tagOpened = true;				tagClosing = (chNext == '/');				styler.ColourTo(i - 1, StateToPrint);				if (chNext != '!')					state = SCE_H_TAGUNKNOWN;			} else if (ch == '&') {				styler.ColourTo(i - 1, SCE_H_DEFAULT);				state = SCE_H_ENTITY;			}			break;		case SCE_H_SGML_DEFAULT:		case SCE_H_SGML_BLOCK_DEFAULT://			if (scriptLanguage == eScriptSGMLblock)//				StateToPrint = SCE_H_SGML_BLOCK_DEFAULT;			if (ch == '\"') {				styler.ColourTo(i - 1, StateToPrint);				state = SCE_H_SGML_DOUBLESTRING;			} else if (ch == '\'') {				styler.ColourTo(i - 1, StateToPrint);				state = SCE_H_SGML_SIMPLESTRING;			} else if ((ch == '-') && (chPrev == '-')) {				styler.ColourTo(i - 2, StateToPrint);				state = SCE_H_SGML_COMMENT;			} else if (isascii(ch) && isalpha(ch) && (chPrev == '%')) {				styler.ColourTo(i - 2, StateToPrint);				state = SCE_H_SGML_ENTITY;			} else if (ch == '#') {				styler.ColourTo(i - 1, StateToPrint);				state = SCE_H_SGML_SPECIAL;			} else if (ch == '[') {				styler.ColourTo(i - 1, StateToPrint);				scriptLanguage = eScriptSGMLblock;				state = SCE_H_SGML_BLOCK_DEFAULT;			} else if (ch == ']') {				if (scriptLanguage == eScriptSGMLblock) {					styler.ColourTo(i, StateToPrint);					scriptLanguage = eScriptSGML;				} else {					styler.ColourTo(i - 1, StateToPrint);					styler.ColourTo(i, SCE_H_SGML_ERROR);				}				state = SCE_H_SGML_DEFAULT;			} else if (scriptLanguage == eScriptSGMLblock) {				if ((ch == '!') && (chPrev == '<')) {					styler.ColourTo(i - 2, StateToPrint);					styler.ColourTo(i, SCE_H_SGML_DEFAULT);					state = SCE_H_SGML_COMMAND;				} else if (ch == '>') {					styler.ColourTo(i - 1, StateToPrint);					styler.ColourTo(i, SCE_H_SGML_DEFAULT);				}			}			break;		case SCE_H_SGML_COMMAND:			if ((ch == '-') && (chPrev == '-')) {				styler.ColourTo(i - 2, StateToPrint);				state = SCE_H_SGML_COMMENT;			} else if (!issgmlwordchar(ch)) {				if (isWordHSGML(styler.GetStartSegment(), i - 1, keywords6, styler)) {					styler.ColourTo(i - 1, StateToPrint);					state = SCE_H_SGML_1ST_PARAM;				} else {					state = SCE_H_SGML_ERROR;				}			}			break;		case SCE_H_SGML_1ST_PARAM:			// wait for the beginning of the word			if ((ch == '-') && (chPrev == '-')) {				if (scriptLanguage == eScriptSGMLblock) {					styler.ColourTo(i - 2, SCE_H_SGML_BLOCK_DEFAULT);				} else {					styler.ColourTo(i - 2, SCE_H_SGML_DEFAULT);				}				state = SCE_H_SGML_1ST_PARAM_COMMENT;			} else if (issgmlwordchar(ch)) {				if (scriptLanguage == eScriptSGMLblock) {					styler.ColourTo(i - 1, SCE_H_SGML_BLOCK_DEFAULT);				} else {					styler.ColourTo(i - 1, SCE_H_SGML_DEFAULT);				}				// find the length of the word				int size = 1;				while (ishtmlwordchar(styler.SafeGetCharAt(i + size)))					size++;				styler.ColourTo(i + size - 1, StateToPrint);				i += size - 1;				visibleChars += size - 1;				ch = styler.SafeGetCharAt(i);				if (scriptLanguage == eScriptSGMLblock) {					state = SCE_H_SGML_BLOCK_DEFAULT;				} else {					state = SCE_H_SGML_DEFAULT;				}				continue;			}			break;		case SCE_H_SGML_ERROR:			if ((ch == '-') && (chPrev == '-')) {				styler.ColourTo(i - 2, StateToPrint);				state = SCE_H_SGML_COMMENT;			}		case SCE_H_SGML_DOUBLESTRING:			if (ch == '\"') {				styler.ColourTo(i, StateToPrint);				state = SCE_H_SGML_DEFAULT;			}			break;		case SCE_H_SGML_SIMPLESTRING:			if (ch == '\'') {				styler.ColourTo(i, StateToPrint);				state = SCE_H_SGML_DEFAULT;			}			break;		case SCE_H_SGML_COMMENT:			if ((ch == '-') && (chPrev == '-')) {				styler.ColourTo(i, StateToPrint);				state = SCE_H_SGML_DEFAULT;			}			break;		case SCE_H_CDATA:			if ((chPrev2 == ']') && (chPrev == ']') && (ch == '>')) {				styler.ColourTo(i, StateToPrint);				state = SCE_H_DEFAULT;				levelCurrent--;			}			break;		case SCE_H_COMMENT:			if ((chPrev2 == '-') && (chPrev == '-') && (ch == '>')) {				styler.ColourTo(i, StateToPrint);				state = SCE_H_DEFAULT;				levelCurrent--;			}			break;		case SCE_H_SGML_1ST_PARAM_COMMENT:			if ((ch == '-') && (chPrev == '-')) {				styler.ColourTo(i, SCE_H_SGML_COMMENT);				state = SCE_H_SGML_1ST_PARAM;			}			break;		case SCE_H_SGML_SPECIAL:			if (!(isascii(ch) && isupper(ch))) {				styler.ColourTo(i - 1, StateToPrint);				if (isalnum(ch)) {					state = SCE_H_SGML_ERROR;				} else {					state = SCE_H_SGML_DEFAULT;				}			}			break;		case SCE_H_SGML_ENTITY:			if (ch == ';') {				styler.ColourTo(i, StateToPrint);				state = SCE_H_SGML_DEFAULT;			} else if (!(isascii(ch) && isalnum(ch)) && ch != '-' && ch != '.') {				styler.ColourTo(i, SCE_H_SGML_ERROR);				state = SCE_H_SGML_DEFAULT;			}			break;		case SCE_H_ENTITY:			if (ch == ';') {				styler.ColourTo(i, StateToPrint);				state = SCE_H_DEFAULT;			}			if (ch != '#' && !(isascii(ch) && isalnum(ch))	// Should check that '#' follows '&', but it is unlikely anyway...				&& ch != '.' && ch != '-' && ch != '_' && ch != ':') { // valid in XML				styler.ColourTo(i, SCE_H_TAGUNKNOWN);				state = SCE_H_DEFAULT;			}			break;		case SCE_H_TAGUNKNOWN:			if (!ishtmlwordchar(ch) && !((ch == '/') && (chPrev == '<')) && ch != '[') {				int eClass = classifyTagHTML(styler.GetStartSegment(),					i - 1, keywords, styler, tagDontFold, caseSensitive);				if (eClass == SCE_H_SCRIPT) {					if (!tagClosing) {						inScriptType = eNonHtmlScript;						scriptLanguage = clientScript;						eClass = SCE_H_TAG;					} else {						scriptLanguage = eScriptNone;						eClass = SCE_H_TAG;					}				}				if (ch == '>') {					styler.ColourTo(i, eClass);					if (inScriptType == eNonHtmlScript) {						state = StateForScript(scriptLanguage);					} else {						state = SCE_H_DEFAULT;					}					tagOpened = false;					if (!tagDontFold){						if (tagClosing) {							levelCurrent--;						} else {							levelCurrent++;						}					}					tagClosing = false;				} else if (ch == '/' && chNext == '>') {					if (eClass == SCE_H_TAGUNKNOWN) {						styler.ColourTo(i + 1, SCE_H_TAGUNKNOWN);					} else {						styler.ColourTo(i - 1, StateToPrint);						styler.ColourTo(i + 1, SCE_H_TAGEND);					}					i++;					ch = chNext;					state = SCE_H_DEFAULT;					tagOpened = false;				} else {					if (eClass != SCE_H_TAGUNKNOWN) {						if (eClass == SCE_H_SGML_DEFAULT) {							state = SCE_H_SGML_DEFAULT;						} else {							state = SCE_H_OTHER;						}					}				}			}			break;		case SCE_H_ATTRIBUTE:			if (!ishtmlwordchar(ch) && ch != '/' && ch != '-') {				if (inScriptType == eNonHtmlScript) {					int scriptLanguagePrev = scriptLanguage;					clientScript = segIsScriptingIndicator(styler, styler.GetStartSegment(), i - 1, scriptLanguage);					scriptLanguage = clientScript;					if ((scriptLanguagePrev != scriptLanguage) && (scriptLanguage == eScriptNone))						inScriptType = eHtml;				}				classifyAttribHTML(styler.GetStartSegment(), i - 1, keywords, styler);				if (ch == '>') {					styler.ColourTo(i, SCE_H_TAG);					if (inScriptType == eNonHtmlScript) {						state = StateForScript(scriptLanguage);					} else {						state = SCE_H_DEFAULT;					}					tagOpened = false;					if (!tagDontFold){						if (tagClosing){							levelCurrent--;						} else {							levelCurrent++;						}					}					tagClosing = false;				} else if (ch == '=') {					styler.ColourTo(i, SCE_H_OTHER);					state = SCE_H_VALUE;				} else {					state = SCE_H_OTHER;				}			}			break;		case SCE_H_OTHER:			if (ch == '>') {				styler.ColourTo(i - 1, StateToPrint);				styler.ColourTo(i, SCE_H_TAG);				if (inScriptType == eNonHtmlScript) {					state = StateForScript(scriptLanguage);				} else {					state = SCE_H_DEFAULT;				}				tagOpened = false;				if (!tagDontFold){					if (tagClosing){						levelCurrent--;					} else {						levelCurrent++;					}				}				tagClosing = false;			} else if (ch == '\"') {				styler.ColourTo(i - 1, StateToPrint);				state = SCE_H_DOUBLESTRING;			} else if (ch == '\'') {				styler.ColourTo(i - 1, StateToPrint);				state = SCE_H_SINGLESTRING;			} else if (ch == '=') {				styler.ColourTo(i, StateToPrint);				state = SCE_H_VALUE;			} else if (ch == '/' && chNext == '>') {				styler.ColourTo(i - 1, StateToPrint);				styler.ColourTo(i + 1, SCE_H_TAGEND);				i++;				ch = chNext;				state = SCE_H_DEFAULT;				tagOpened = false;			} else if (ch == '?' && chNext == '>') {				styler.ColourTo(i - 1, StateToPrint);				styler.ColourTo(i + 1, SCE_H_XMLEND);				i++;				ch = chNext;				state = SCE_H_DEFAULT;			} else if (ishtmlwordchar(ch)) {				styler.ColourTo(i - 1, StateToPrint);				state = SCE_H_ATTRIBUTE;			}			break;		case SCE_H_DOUBLESTRING:			if (ch == '\"') {				if (inScriptType == eNonHtmlScript) {					scriptLanguage = segIsScriptingIndicator(styler, styler.GetStartSegment(), i, scriptLanguage);				}				styler.ColourTo(i, SCE_H_DOUBLESTRING);				state = SCE_H_OTHER;			}			break;		case SCE_H_SINGLESTRING:			if (ch == '\'') {				if (inScriptType == eNonHtmlScript) {					scriptLanguage = segIsScriptingIndicator(styler, styler.GetStartSegment(), i, scriptLanguage);				}				styler.ColourTo(i, SCE_H_SINGLESTRING);				state = SCE_H_OTHER;			}			break;		case SCE_H_VALUE:			if (!ishtmlwordchar(ch)) {				if (ch == '\"' && chPrev == '=') {					// Should really test for being first character					state = SCE_H_DOUBLESTRING;				} else if (ch == '\'' && chPrev == '=') {					state = SCE_H_SINGLESTRING;				} else {					if (IsNumber(styler.GetStartSegment(), styler)) {						styler.ColourTo(i - 1, SCE_H_NUMBER);					} else {						styler.ColourTo(i - 1, StateToPrint);					}					if (ch == '>') {						styler.ColourTo(i, SCE_H_TAG);						if (inScriptType == eNonHtmlScript) {							state = StateForScript(scriptLanguage);						} else {							state = SCE_H_DEFAULT;						}						tagOpened = false;						if (!tagDontFold){							if (tagClosing){								levelCurrent--;							} else {								levelCurrent++;							}						}						tagClosing = false;					} else {						state = SCE_H_OTHER;					}				}			}			break;		case SCE_HJ_DEFAULT:		case SCE_HJ_START:		case SCE_HJ_SYMBOLS:			if (iswordstart(ch)) {				styler.ColourTo(i - 1, StateToPrint);				state = SCE_HJ_WORD;			} else if (ch == '/' && chNext == '*') {				styler.ColourTo(i - 1, StateToPrint);				if (chNext2 == '*')					state = SCE_HJ_COMMENTDOC;				else					state = SCE_HJ_COMMENT;			} else if (ch == '/' && chNext == '/') {				styler.ColourTo(i - 1, StateToPrint);				state = SCE_HJ_COMMENTLINE;			} else if (ch == '/' && isOKBeforeRE(chPrevNonWhite)) {				styler.ColourTo(i - 1, StateToPrint);				state = SCE_HJ_REGEX;			} else if (ch == '\"') {				styler.ColourTo(i - 1, StateToPrint);				state = SCE_HJ_DOUBLESTRING;			} else if (ch == '\'') {				styler.ColourTo(i - 1, StateToPrint);				state = SCE_HJ_SINGLESTRING;			} else if ((ch == '<') && (chNext == '!') && (chNext2 == '-') &&			           styler.SafeGetCharAt(i + 3) == '-') {				styler.ColourTo(i - 1, StateToPrint);				state = SCE_HJ_COMMENTLINE;			} else if ((ch == '-') && (chNext == '-') && (chNext2 == '>')) {				styler.ColourTo(i - 1, StateToPrint);

⌨️ 快捷键说明

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