aboutsummaryrefslogtreecommitdiffhomepage
path: root/lexers/LexHTML.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'lexers/LexHTML.cxx')
-rw-r--r--lexers/LexHTML.cxx176
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);