diff options
Diffstat (limited to 'lexers/LexHTML.cxx')
| -rw-r--r-- | lexers/LexHTML.cxx | 176 | 
1 files changed, 174 insertions, 2 deletions
| diff --git a/lexers/LexHTML.cxx b/lexers/LexHTML.cxx index 028c5ec90..c2ca50c11 100644 --- a/lexers/LexHTML.cxx +++ b/lexers/LexHTML.cxx @@ -2198,6 +2198,178 @@ static const char * const phpscriptWordListDesc[] = {  	0,  }; -LexerModule lmHTML(SCLEX_HTML, ColouriseHTMLDoc, "hypertext", 0, htmlWordListDesc); -LexerModule lmXML(SCLEX_XML, ColouriseXMLDoc, "xml", 0, htmlWordListDesc); +namespace { + +LexicalClass lexicalClassesHTML[] = { +	// Lexer HTML SCLEX_HTML SCE_H_ SCE_HJ_ SCE_HJA_ SCE_HB_ SCE_HBA_ SCE_HP_ SCE_HPHP_ SCE_HPA_: +	0, "SCE_H_DEFAULT", "default", "Text", +	1, "SCE_H_TAG", "tag", "Tags", +	2, "SCE_H_ERRORTAGUNKNOWN", "error tag", "Unknown Tags", +	3, "SCE_H_ATTRIBUTE", "attribute", "Attributes", +	4, "SCE_H_ATTRIBUTEUNKNOWN", "error attribute", "Unknown Attributes", +	5, "SCE_H_NUMBER", "literal numeric", "Numbers", +	6, "SCE_H_DOUBLESTRING", "literal string", "Double quoted strings", +	7, "SCE_H_SINGLESTRING", "literal string", "Single quoted strings", +	8, "SCE_H_OTHER", "tag operator", "Other inside tag, including space and '='", +	9, "SCE_H_COMMENT", "comment", "Comment", +	10, "SCE_H_ENTITY", "literal", "Entities", +	11, "SCE_H_TAGEND", "tag", "XML style tag ends '/>'", +	12, "SCE_H_XMLSTART", "identifier", "XML identifier start '<?'", +	13, "SCE_H_XMLEND", "identifier", "XML identifier end '?>'", +	14, "SCE_H_SCRIPT", "error", "Internal state which should never be visible", +	15, "SCE_H_ASP", "preprocessor", "ASP <% ... %>", +	16, "SCE_H_ASPAT", "preprocessor", "ASP <% ... %>", +	17, "SCE_H_CDATA", "literal", "CDATA", +	18, "SCE_H_QUESTION", "preprocessor", "PHP", +	19, "SCE_H_VALUE", "literal string", "Unquoted values", +	20, "SCE_H_XCCOMMENT", "comment", "JSP Comment <%-- ... --%>", +	21, "SCE_H_SGML_DEFAULT", "default", "SGML tags <! ... >", +	22, "SCE_H_SGML_COMMAND", "preprocessor", "SGML command", +	23, "SCE_H_SGML_1ST_PARAM", "preprocessor", "SGML 1st param", +	24, "SCE_H_SGML_DOUBLESTRING", "literal string", "SGML double string", +	25, "SCE_H_SGML_SIMPLESTRING", "literal string", "SGML single string", +	26, "SCE_H_SGML_ERROR", "error", "SGML error", +	27, "SCE_H_SGML_SPECIAL", "literal", "SGML special (#XXXX type)", +	28, "SCE_H_SGML_ENTITY", "literal", "SGML entity", +	29, "SCE_H_SGML_COMMENT", "comment", "SGML comment", +	30, "SCE_H_SGML_1ST_PARAM_COMMENT", "error comment", "SGML first parameter - lexer internal. It is an error if any text is in this style.", +	31, "SCE_H_SGML_BLOCK_DEFAULT", "default", "SGML block", +	32, "", "predefined", "", +	33, "", "predefined", "", +	34, "", "predefined", "", +	35, "", "predefined", "", +	36, "", "predefined", "", +	37, "", "predefined", "", +	38, "", "predefined", "", +	39, "", "predefined", "", +	40, "SCE_HJ_START", "client javascript default", "JS Start - allows eol filled background to not start on same line as SCRIPT tag", +	41, "SCE_HJ_DEFAULT", "client javascript default", "JS Default", +	42, "SCE_HJ_COMMENT", "client javascript comment", "JS Comment", +	43, "SCE_HJ_COMMENTLINE", "client javascript comment line", "JS Line Comment", +	44, "SCE_HJ_COMMENTDOC", "client javascript comment documentation", "JS Doc comment", +	45, "SCE_HJ_NUMBER", "client javascript literal numeric", "JS Number", +	46, "SCE_HJ_WORD", "client javascript identifier", "JS Word", +	47, "SCE_HJ_KEYWORD", "client javascript keyword", "JS Keyword", +	48, "SCE_HJ_DOUBLESTRING", "client javascript literal string", "JS Double quoted string", +	49, "SCE_HJ_SINGLESTRING", "client javascript literal string", "JS Single quoted string", +	50, "SCE_HJ_SYMBOLS", "client javascript operator", "JS Symbols", +	51, "SCE_HJ_STRINGEOL", "client javascript error literal string", "JavaScript EOL", +	52, "SCE_HJ_REGEX", "client javascript literal regex", "JavaScript RegEx", +	53, "", "unused", "", +	54, "", "unused", "", +	55, "SCE_HJA_START", "server javascript default", "JS Start - allows eol filled background to not start on same line as SCRIPT tag", +	56, "SCE_HJA_DEFAULT", "server javascript default", "JS Default", +	57, "SCE_HJA_COMMENT", "server javascript comment", "JS Comment", +	58, "SCE_HJA_COMMENTLINE", "server javascript comment line", "JS Line Comment", +	59, "SCE_HJA_COMMENTDOC", "server javascript comment documentation", "JS Doc comment", +	60, "SCE_HJA_NUMBER", "server javascript literal numeric", "JS Number", +	61, "SCE_HJA_WORD", "server javascript identifier", "JS Word", +	62, "SCE_HJA_KEYWORD", "server javascript keyword", "JS Keyword", +	63, "SCE_HJA_DOUBLESTRING", "server javascript literal string", "JS Double quoted string", +	64, "SCE_HJA_SINGLESTRING", "server javascript literal string", "JS Single quoted string", +	65, "SCE_HJA_SYMBOLS", "server javascript operator", "JS Symbols", +	66, "SCE_HJA_STRINGEOL", "server javascript error literal string", "JavaScript EOL", +	67, "SCE_HJA_REGEX", "server javascript literal regex", "JavaScript RegEx", +	68, "", "unused", "", +	69, "", "unused", "", +	70, "SCE_HB_START", "client basic default", "Start", +	71, "SCE_HB_DEFAULT", "client basic default", "Default", +	72, "SCE_HB_COMMENTLINE", "client basic comment line", "Comment", +	73, "SCE_HB_NUMBER", "client basic literal numeric", "Number", +	74, "SCE_HB_WORD", "client basic keyword", "KeyWord", +	75, "SCE_HB_STRING", "client basic literal string", "String", +	76, "SCE_HB_IDENTIFIER", "client basic identifier", "Identifier", +	77, "SCE_HB_STRINGEOL", "client basic literal string", "Unterminated string", +	78, "", "unused", "", +	79, "", "unused", "", +	80, "SCE_HBA_START", "server basic default", "Start", +	81, "SCE_HBA_DEFAULT", "server basic default", "Default", +	82, "SCE_HBA_COMMENTLINE", "server basic comment line", "Comment", +	83, "SCE_HBA_NUMBER", "server basic literal numeric", "Number", +	84, "SCE_HBA_WORD", "server basic keyword", "KeyWord", +	85, "SCE_HBA_STRING", "server basic literal string", "String", +	86, "SCE_HBA_IDENTIFIER", "server basic identifier", "Identifier", +	87, "SCE_HBA_STRINGEOL", "server basic literal string", "Unterminated string", +	88, "", "unused", "", +	89, "", "unused", "", +	90, "SCE_HP_START", "client python default", "Embedded Python", +	91, "SCE_HP_DEFAULT", "client python default", "Embedded Python", +	92, "SCE_HP_COMMENTLINE", "client python comment line", "Comment", +	93, "SCE_HP_NUMBER", "client python literal numeric", "Number", +	94, "SCE_HP_STRING", "client python literal string", "String", +	95, "SCE_HP_CHARACTER", "client python literal string character", "Single quoted string", +	96, "SCE_HP_WORD", "client python keyword", "Keyword", +	97, "SCE_HP_TRIPLE", "client python literal string", "Triple quotes", +	98, "SCE_HP_TRIPLEDOUBLE", "client python literal string", "Triple double quotes", +	99, "SCE_HP_CLASSNAME", "client python identifier", "Class name definition", +	100, "SCE_HP_DEFNAME", "client python identifier", "Function or method name definition", +	101, "SCE_HP_OPERATOR", "client python operator", "Operators", +	102, "SCE_HP_IDENTIFIER", "client python identifier", "Identifiers", +	103, "", "unused", "", +	104, "SCE_HPHP_COMPLEX_VARIABLE", "server php identifier", "PHP complex variable", +	105, "SCE_HPA_START", "server python default", "ASP Python", +	106, "SCE_HPA_DEFAULT", "server python default", "ASP Python", +	107, "SCE_HPA_COMMENTLINE", "server python comment line", "Comment", +	108, "SCE_HPA_NUMBER", "server python literal numeric", "Number", +	109, "SCE_HPA_STRING", "server python literal string", "String", +	110, "SCE_HPA_CHARACTER", "server python literal string character", "Single quoted string", +	111, "SCE_HPA_WORD", "server python keyword", "Keyword", +	112, "SCE_HPA_TRIPLE", "server python literal string", "Triple quotes", +	113, "SCE_HPA_TRIPLEDOUBLE", "server python literal string", "Triple double quotes", +	114, "SCE_HPA_CLASSNAME", "server python identifier", "Class name definition", +	115, "SCE_HPA_DEFNAME", "server python identifier", "Function or method name definition", +	116, "SCE_HPA_OPERATOR", "server python operator", "Operators", +	117, "SCE_HPA_IDENTIFIER", "server python identifier", "Identifiers", +	118, "SCE_HPHP_DEFAULT", "server php default", "Default", +	119, "SCE_HPHP_HSTRING", "server php literal string", "Double quoted String", +	120, "SCE_HPHP_SIMPLESTRING", "server php literal string", "Single quoted string", +	121, "SCE_HPHP_WORD", "server php keyword", "Keyword", +	122, "SCE_HPHP_NUMBER", "server php literal numeric", "Number", +	123, "SCE_HPHP_VARIABLE", "server php identifier", "Variable", +	124, "SCE_HPHP_COMMENT", "server php comment", "Comment", +	125, "SCE_HPHP_COMMENTLINE", "server php comment line", "One line comment", +	126, "SCE_HPHP_HSTRING_VARIABLE", "server php literal string identifier", "PHP variable in double quoted string", +	127, "SCE_HPHP_OPERATOR", "server php operator", "PHP operator", +}; + +LexicalClass lexicalClassesXML[] = { +	// Lexer.Secondary XML SCLEX_XML SCE_H_: +	0, "SCE_H_DEFAULT", "default", "Default", +	1, "SCE_H_TAG", "tag", "Tags", +	2, "SCE_H_TAGUNKNOWN", "error tag", "Unknown Tags", +	3, "SCE_H_ATTRIBUTE", "attribute", "Attributes", +	4, "SCE_H_ERRORATTRIBUTEUNKNOWN", "error attribute", "Unknown Attributes", +	5, "SCE_H_NUMBER", "literal numeric", "Numbers", +	6, "SCE_H_DOUBLESTRING", "literal string", "Double quoted strings", +	7, "SCE_H_SINGLESTRING", "literal string", "Single quoted strings", +	8, "SCE_H_OTHER", "tag operator", "Other inside tag, including space and '='", +	9, "SCE_H_COMMENT", "comment", "Comment", +	10, "SCE_H_ENTITY", "literal", "Entities", +	11, "SCE_H_TAGEND", "tag", "XML style tag ends '/>'", +	12, "SCE_H_XMLSTART", "identifier", "XML identifier start '<?'", +	13, "SCE_H_XMLEND", "identifier", "XML identifier end '?>'", +	14, "", "unused", "", +	15, "", "unused", "", +	16, "", "unused", "", +	17, "SCE_H_CDATA", "literal", "CDATA", +	18, "SCE_H_QUESTION", "preprocessor", "Question", +	19, "SCE_H_VALUE", "literal string", "Unquoted Value", +	20, "", "unused", "", +	21, "SCE_H_SGML_DEFAULT", "default", "SGML tags <! ... >", +	22, "SCE_H_SGML_COMMAND", "preprocessor", "SGML command", +	23, "SCE_H_SGML_1ST_PARAM", "preprocessor", "SGML 1st param", +	24, "SCE_H_SGML_DOUBLESTRING", "literal string", "SGML double string", +	25, "SCE_H_SGML_SIMPLESTRING", "literal string", "SGML single string", +	26, "SCE_H_SGML_ERROR", "error", "SGML error", +	27, "SCE_H_SGML_SPECIAL", "literal", "SGML special (#XXXX type)", +	28, "SCE_H_SGML_ENTITY", "literal", "SGML entity", +	29, "SCE_H_SGML_COMMENT", "comment", "SGML comment", +	30, "", "unused", "", +	31, "SCE_H_SGML_BLOCK_DEFAULT", "default", "SGML block", +}; + +} + +LexerModule lmHTML(SCLEX_HTML, ColouriseHTMLDoc, "hypertext", 0, htmlWordListDesc, lexicalClassesHTML, ELEMENTS(lexicalClassesHTML)); +LexerModule lmXML(SCLEX_XML, ColouriseXMLDoc, "xml", 0, htmlWordListDesc, lexicalClassesXML, ELEMENTS(lexicalClassesXML));  LexerModule lmPHPSCRIPT(SCLEX_PHPSCRIPT, ColourisePHPScriptDoc, "phpscript", 0, phpscriptWordListDesc); | 
