From 4d9d3ed48da06660ccdba08fee9a53d1e06be2ab Mon Sep 17 00:00:00 2001 From: nyamatongwe Date: Mon, 2 Jun 2008 10:44:09 +0000 Subject: Bug #1945003 corrects styling of PHP heredocs. --- src/LexHTML.cxx | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/LexHTML.cxx b/src/LexHTML.cxx index 89f82c676..659f13766 100644 --- a/src/LexHTML.cxx +++ b/src/LexHTML.cxx @@ -470,10 +470,15 @@ static bool isPHPStringState(int state) { } static int FindPhpStringDelimiter(char *phpStringDelimiter, const int phpStringDelimiterSize, int i, const int lengthDoc, Accessor &styler) { - int j; + int j = i; + while (j < lengthDoc && (styler[j] != '\r' && styler[j] != '\n')) + j++; + phpStringDelimiter[0] = styler.SafeGetCharAt(j); + if ((phpStringDelimiter[0] == '\r') && (styler.SafeGetCharAt(j + 1) == '\n')) + phpStringDelimiter[0] = '\n'; + while (i < lengthDoc && (styler[i] == ' ' || styler[i] == '\t')) i++; - phpStringDelimiter[0] = '\n'; for (j = i; j < lengthDoc && styler[j] != '\n' && styler[j] != '\r'; j++) { if (j - i < phpStringDelimiterSize - 2) phpStringDelimiter[j-i+1] = styler[j]; @@ -481,7 +486,7 @@ static int FindPhpStringDelimiter(char *phpStringDelimiter, const int phpStringD i++; } phpStringDelimiter[j-i+1] = '\0'; - return j; + return j - 1; } static void ColouriseHyperTextDoc(unsigned int startPos, int length, int initStyle, WordList *keywordlists[], -- cgit v1.2.3