From 9f4411a033f2513b91f7f50e3c1e77c570426132 Mon Sep 17 00:00:00 2001 From: nyamatongwe Date: Wed, 8 Aug 2001 12:08:11 +0000 Subject: Patch from Steve Lhomme to correct folding of XML files. --- src/LexHTML.cxx | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'src/LexHTML.cxx') diff --git a/src/LexHTML.cxx b/src/LexHTML.cxx index 44ac25d61..b7e8c69b7 100644 --- a/src/LexHTML.cxx +++ b/src/LexHTML.cxx @@ -527,24 +527,32 @@ static void ColouriseHyperTextDoc(unsigned int startPos, int length, int initSty ///////////////////////////////////// // handle the start of PHP pre-processor = Non-HTML else if ((state != SCE_H_ASPAT) && - !isPHPStringState(state) && (state != SCE_HPHP_COMMENT) && - (ch == '<') && (chNext == '?')) { + !isPHPStringState(state) && + (state != SCE_HPHP_COMMENT) && + (ch == '<') && + (chNext == '?')) { styler.ColourTo(i - 1, StateToPrint); beforePreProc = state; scriptLanguage = segIsScriptingIndicator(styler, styler.GetStartSegment() + 2, i + 10, eScriptPHP); i++; i += PrintScriptingIndicatorOffset(styler, styler.GetStartSegment() + 2, i + 10); + if (scriptLanguage == eScriptXML) styler.ColourTo(i, SCE_H_XMLSTART); else styler.ColourTo(i, SCE_H_QUESTION); + state = StateForScript(scriptLanguage); + if (inScriptType == eNonHtmlScript) inScriptType = eNonHtmlScriptPreProc; else inScriptType = eNonHtmlPreProc; + // fold whole script levelCurrent++; + if (scriptLanguage == eScriptXML) + levelCurrent--; // no folding of the XML first tag (all XML-like tags in this case) // should be better ch = styler.SafeGetCharAt(i); continue; -- cgit v1.2.3