aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/LexCSS.cxx
diff options
context:
space:
mode:
authornyamatongwe <unknown>2002-12-05 11:06:34 +0000
committernyamatongwe <unknown>2002-12-05 11:06:34 +0000
commit48d3d82e40e1639c68550022ae4a20fb965aa6d4 (patch)
tree4bf3aa501cc8f3ae1eb39e220b18bc275e459845 /src/LexCSS.cxx
parent19a0e0d1a15102fb8b9bc62be9a27c05ecec6e51 (diff)
downloadscintilla-mirror-48d3d82e40e1639c68550022ae4a20fb965aa6d4.tar.gz
Patch from Vrana to fix some lexing problems.
Diffstat (limited to 'src/LexCSS.cxx')
-rw-r--r--src/LexCSS.cxx14
1 files changed, 13 insertions, 1 deletions
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);