diff options
| author | nyamatongwe <unknown> | 2005-02-04 12:54:06 +0000 | 
|---|---|---|
| committer | nyamatongwe <unknown> | 2005-02-04 12:54:06 +0000 | 
| commit | 01d4a882a7f097316de205f44b27ab7b37b2c0db (patch) | |
| tree | 082f5fb9d4e42483b8a79598fb4935e832c917cd | |
| parent | 5d038c45c9e3f1557b593dbb7a144e373e2bb9d9 (diff) | |
| download | scintilla-mirror-01d4a882a7f097316de205f44b27ab7b37b2c0db.tar.gz | |
Patch from Jakub Vrana to upgrade CSS support to CSS2.
| -rw-r--r-- | src/LexCSS.cxx | 26 | 
1 files changed, 24 insertions, 2 deletions
| diff --git a/src/LexCSS.cxx b/src/LexCSS.cxx index f45ce1cda..963a7b3ef 100644 --- a/src/LexCSS.cxx +++ b/src/LexCSS.cxx @@ -107,6 +107,25 @@ static void ColouriseCssDoc(unsigned int startPos, int length, int initStyle, Wo  				if (lastState == SCE_CSS_DEFAULT)  					sc.SetState(SCE_CSS_DIRECTIVE);  				break; +			case '*': +				if (lastState == SCE_CSS_DEFAULT) +					sc.SetState(SCE_CSS_TAG); +				break; +			case '>': +			case '+': +				if (lastState == SCE_CSS_TAG || lastState == SCE_CSS_PSEUDOCLASS || lastState == SCE_CSS_CLASS +					|| lastState == SCE_CSS_ID || lastState == SCE_CSS_UNKNOWN_PSEUDOCLASS) +					sc.SetState(SCE_CSS_DEFAULT); +				break; +			case '[': +				if (lastState == SCE_CSS_TAG || lastState == SCE_CSS_PSEUDOCLASS || lastState == SCE_CSS_DEFAULT || +					lastState == SCE_CSS_CLASS || lastState == SCE_CSS_ID || lastState == SCE_CSS_UNKNOWN_PSEUDOCLASS) +					sc.SetState(SCE_CSS_ATTRIBUTE); +				break; +			case ']': +				if (lastState == SCE_CSS_ATTRIBUTE) +					sc.SetState(SCE_CSS_TAG); +				break;  			case '{':  				if (lastState == SCE_CSS_DIRECTIVE)  					sc.SetState(SCE_CSS_DEFAULT); @@ -126,11 +145,13 @@ static void ColouriseCssDoc(unsigned int startPos, int length, int initStyle, Wo  					sc.SetState(SCE_CSS_VALUE);  				break;  			case '.': -				if (lastState == SCE_CSS_TAG || lastState == SCE_CSS_DEFAULT) +				if (lastState == SCE_CSS_TAG || lastState == SCE_CSS_PSEUDOCLASS || lastState == SCE_CSS_DEFAULT || +					lastState == SCE_CSS_CLASS || lastState == SCE_CSS_ID || lastState == SCE_CSS_UNKNOWN_PSEUDOCLASS)  					sc.SetState(SCE_CSS_CLASS);  				break;  			case '#': -				if (lastState == SCE_CSS_TAG || lastState == SCE_CSS_DEFAULT) +				if (lastState == SCE_CSS_TAG || lastState == SCE_CSS_PSEUDOCLASS || lastState == SCE_CSS_DEFAULT || +					lastState == SCE_CSS_CLASS || lastState == SCE_CSS_ID || lastState == SCE_CSS_UNKNOWN_PSEUDOCLASS)  					sc.SetState(SCE_CSS_ID);  				break;  			case ',': @@ -208,6 +229,7 @@ static void ColouriseCssDoc(unsigned int startPos, int length, int initStyle, Wo  		} else if (sc.state == SCE_CSS_VALUE && (sc.ch == '\"' || sc.ch == '\'')) {  			sc.SetState((sc.ch == '\"' ? SCE_CSS_DOUBLESTRING : SCE_CSS_SINGLESTRING));  		} else if (IsCssOperator(static_cast<char>(sc.ch)) +			&& (sc.state != SCE_CSS_ATTRIBUTE || sc.ch == ']')  			&& (sc.state != SCE_CSS_VALUE || sc.ch == ';' || sc.ch == '}' || sc.ch == '!')  			&& (sc.state != SCE_CSS_DIRECTIVE || sc.ch == ';' || sc.ch == '{')  		) { | 
