diff options
-rw-r--r-- | include/SciLexer.h | 1 | ||||
-rw-r--r-- | include/Scintilla.iface | 2 | ||||
-rw-r--r-- | src/LexHTML.cxx | 10 |
3 files changed, 13 insertions, 0 deletions
diff --git a/include/SciLexer.h b/include/SciLexer.h index 8d07b8480..7419c43b0 100644 --- a/include/SciLexer.h +++ b/include/SciLexer.h @@ -91,6 +91,7 @@ #define SCE_H_CDATA 17 #define SCE_H_QUESTION 18 #define SCE_H_VALUE 19 +#define SCE_H_XCCOMMENT 20 #define SCE_HJ_START 40 #define SCE_HJ_DEFAULT 41 #define SCE_HJ_COMMENT 42 diff --git a/include/Scintilla.iface b/include/Scintilla.iface index 54d88f701..bebe4a4e8 100644 --- a/include/Scintilla.iface +++ b/include/Scintilla.iface @@ -1286,6 +1286,8 @@ val SCE_H_CDATA=17 val SCE_H_QUESTION=18 # More HTML val SCE_H_VALUE=19 +# X-Code +val SCE_H_XCCOMMENT=20 # Embedded Javascript val SCE_HJ_START=40 val SCE_HJ_DEFAULT=41 diff --git a/src/LexHTML.cxx b/src/LexHTML.cxx index f7ef6cd48..20418c747 100644 --- a/src/LexHTML.cxx +++ b/src/LexHTML.cxx @@ -551,6 +551,13 @@ static void ColouriseHyperTextDoc(unsigned int startPos, int length, int initSty inScriptType = eNonHtmlPreProc; if (chNext2 == '@') { + char chNext3 = styler.SafeGetCharAt(i + 3); + if (chNext3 == '@') { + styler.ColourTo(i + 3, SCE_H_ASP); + state = SCE_H_XCCOMMENT; + scriptLanguage = eScriptVBS; + continue; + } i += 2; // place as if it was the second next char treated state = SCE_H_ASPAT; } else { @@ -597,6 +604,9 @@ static void ColouriseHyperTextDoc(unsigned int startPos, int length, int initSty case SCE_HPHP_WORD: classifyWordHTPHP(styler.GetStartSegment(), i - 1, keywords5, styler); break; + case SCE_H_XCCOMMENT: + styler.ColourTo(i - 1, state); + break; default : styler.ColourTo(i - 1, StateToPrint); break; |