diff options
| author | nyamatongwe <unknown> | 2001-08-08 12:08:11 +0000 | 
|---|---|---|
| committer | nyamatongwe <unknown> | 2001-08-08 12:08:11 +0000 | 
| commit | 9f4411a033f2513b91f7f50e3c1e77c570426132 (patch) | |
| tree | 4d83666dcd66beaf3538d25d82d06129e080b402 | |
| parent | c45e2b3e183b4f75b6570cc5d9eb09e2a0920c37 (diff) | |
| download | scintilla-mirror-9f4411a033f2513b91f7f50e3c1e77c570426132.tar.gz | |
Patch from Steve Lhomme to correct folding of XML files.
| -rw-r--r-- | src/LexHTML.cxx | 12 | 
1 files changed, 10 insertions, 2 deletions
| 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; | 
