From 48d3d82e40e1639c68550022ae4a20fb965aa6d4 Mon Sep 17 00:00:00 2001 From: nyamatongwe Date: Thu, 5 Dec 2002 11:06:34 +0000 Subject: Patch from Vrana to fix some lexing problems. --- src/LexCSS.cxx | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'src/LexCSS.cxx') diff --git a/src/LexCSS.cxx b/src/LexCSS.cxx index c5e5b2ffa..fdf53efba 100644 --- a/src/LexCSS.cxx +++ b/src/LexCSS.cxx @@ -135,7 +135,11 @@ static void ColouriseCssDoc(unsigned int startPos, int length, int initStyle, Wo continue; } - if (IsAWordChar(sc.chPrev) && (sc.state == SCE_CSS_IDENTIFIER || sc.state == SCE_CSS_PSEUDOCLASS || sc.state == SCE_CSS_IMPORTANT)) { + if (IsAWordChar(sc.chPrev) && ( + sc.state == SCE_CSS_IDENTIFIER || sc.state == SCE_CSS_UNKNOWN_IDENTIFIER + || sc.state == SCE_CSS_PSEUDOCLASS || sc.state == SCE_CSS_UNKNOWN_PSEUDOCLASS + || sc.state == SCE_CSS_IMPORTANT + )) { char s[100]; sc.GetCurrentLowered(s, sizeof(s)); char *s2 = s; @@ -146,10 +150,18 @@ static void ColouriseCssDoc(unsigned int startPos, int length, int initStyle, Wo if (!keywords.InList(s2)) sc.ChangeState(SCE_CSS_UNKNOWN_IDENTIFIER); break; + case SCE_CSS_UNKNOWN_IDENTIFIER: + if (keywords.InList(s2)) + sc.ChangeState(SCE_CSS_IDENTIFIER); + break; case SCE_CSS_PSEUDOCLASS: if (!pseudoClasses.InList(s2)) sc.ChangeState(SCE_CSS_UNKNOWN_PSEUDOCLASS); break; + case SCE_CSS_UNKNOWN_PSEUDOCLASS: + if (pseudoClasses.InList(s2)) + sc.ChangeState(SCE_CSS_PSEUDOCLASS); + break; case SCE_CSS_IMPORTANT: if (strcmp(s2, "important") != 0) sc.ChangeState(SCE_CSS_VALUE); -- cgit v1.2.3