diff options
| author | nyamatongwe <devnull@localhost> | 2004-05-03 11:49:22 +0000 | 
|---|---|---|
| committer | nyamatongwe <devnull@localhost> | 2004-05-03 11:49:22 +0000 | 
| commit | 85b730e091325597d21c978208d2218e6eee42b6 (patch) | |
| tree | cf1aa7727520d7f70f69ed7130c81941fc2bebf9 /src/LexSQL.cxx | |
| parent | 5198c5548b0a1a80d1db6fdb42c7c81dd7b1a57b (diff) | |
| download | scintilla-mirror-85b730e091325597d21c978208d2218e6eee42b6.tar.gz | |
Allow backslash quoting in strings when sql.backslash.escapes
turned on.
Diffstat (limited to 'src/LexSQL.cxx')
| -rw-r--r-- | src/LexSQL.cxx | 18 | 
1 files changed, 15 insertions, 3 deletions
| diff --git a/src/LexSQL.cxx b/src/LexSQL.cxx index 144176855..8383eefb0 100644 --- a/src/LexSQL.cxx +++ b/src/LexSQL.cxx @@ -44,6 +44,7 @@ static void ColouriseSQLDoc(unsigned int startPos, int length,  	styler.StartAt(startPos);  	bool fold = styler.GetPropertyInt("fold") != 0; +	bool sqlBackslashEscapes = styler.GetPropertyInt("sql.backslash.escapes", 0) != 0;  	int lineCurrent = styler.GetLine(startPos);  	int spaceFlags = 0; @@ -88,6 +89,9 @@ static void ColouriseSQLDoc(unsigned int startPos, int length,  			} else if (ch == '-' && chNext == '-') {  				styler.ColourTo(i - 1, state);  				state = SCE_C_COMMENTLINE; +			} else if (ch == '#') { +				styler.ColourTo(i - 1, state); +				state = SCE_C_COMMENTLINEDOC;  			} else if (ch == '\'') {  				styler.ColourTo(i - 1, state);  				state = SCE_C_CHARACTER; @@ -106,6 +110,8 @@ static void ColouriseSQLDoc(unsigned int startPos, int length,  					state = SCE_C_COMMENT;  				} else if (ch == '-' && chNext == '-') {  					state = SCE_C_COMMENTLINE; +				} else if (ch == '#') { +					state = SCE_C_COMMENTLINEDOC;  				} else if (ch == '\'') {  					state = SCE_C_CHARACTER;  				} else if (ch == '"') { @@ -123,14 +129,18 @@ static void ColouriseSQLDoc(unsigned int startPos, int length,  						state = SCE_C_DEFAULT;  					}  				} -			} else if (state == SCE_C_COMMENTLINE) { +			} else if (state == SCE_C_COMMENTLINE || state == SCE_C_COMMENTLINEDOC) {  				if (ch == '\r' || ch == '\n') {  					styler.ColourTo(i - 1, state);  					state = SCE_C_DEFAULT;  				}  			} else if (state == SCE_C_CHARACTER) { -				if (ch == '\'') { -					if ( chNext == '\'' ) { +				if (sqlBackslashEscapes && ch == '\\') { +					i++; +					ch = chNext; +					chNext = styler.SafeGetCharAt(i + 1); +				} else if (ch == '\'') { +					if (chNext == '\'') {  						i++;  					} else {  						styler.ColourTo(i, state); @@ -158,6 +168,8 @@ static void ColouriseSQLDoc(unsigned int startPos, int length,  					state = SCE_C_COMMENT;  				} else if (ch == '-' && chNext == '-') {  					state = SCE_C_COMMENTLINE; +				} else if (ch == '#') { +					state = SCE_C_COMMENTLINEDOC;  				} else if (ch == '\'') {  					state = SCE_C_CHARACTER;  				} else if (ch == '"') { | 
