diff options
| author | nyamatongwe <unknown> | 2013-05-15 10:24:08 +1000 | 
|---|---|---|
| committer | nyamatongwe <unknown> | 2013-05-15 10:24:08 +1000 | 
| commit | 0765ef802c592f30d9f0dbfc80c1086da502c12d (patch) | |
| tree | 20dd7deb8b6ddb60ab736fef25d693581b4d643a | |
| parent | 35125bded6d6cb8ff8445f42830be9502efb2490 (diff) | |
| download | scintilla-mirror-0765ef802c592f30d9f0dbfc80c1086da502c12d.tar.gz | |
Feature: [feature-requests:#990]. Style added for preprocessor doc comment.
From Alpha.
| -rw-r--r-- | doc/ScintillaHistory.html | 4 | ||||
| -rw-r--r-- | include/SciLexer.h | 1 | ||||
| -rw-r--r-- | include/Scintilla.iface | 1 | ||||
| -rw-r--r-- | lexers/LexCPP.cxx | 10 | 
4 files changed, 14 insertions, 2 deletions
| diff --git a/doc/ScintillaHistory.html b/doc/ScintillaHistory.html index e2f9aa4d4..6b9098979 100644 --- a/doc/ScintillaHistory.html +++ b/doc/ScintillaHistory.html @@ -458,6 +458,10 @@  	<a href="http://sourceforge.net/p/scintilla/feature-requests/987/">Feature #987.</a>  	</li>  	<li> +	C++ lexer adds style for preprocessor doc comment. +	<a href="http://sourceforge.net/p/scintilla/feature-requests/990/">Feature #990.</a> +	</li> +	<li>  	Haskell folder improved.  	<a href="http://sourceforge.net/p/scintilla/bugs/1459/">Bug #1459 </a>.  	</li> diff --git a/include/SciLexer.h b/include/SciLexer.h index ef92c9433..506848a1c 100644 --- a/include/SciLexer.h +++ b/include/SciLexer.h @@ -161,6 +161,7 @@  #define SCE_C_TRIPLEVERBATIM 21  #define SCE_C_HASHQUOTEDSTRING 22  #define SCE_C_PREPROCESSORCOMMENT 23 +#define SCE_C_PREPROCESSORCOMMENTDOC 24  #define SCE_D_DEFAULT 0  #define SCE_D_COMMENT 1  #define SCE_D_COMMENTLINE 2 diff --git a/include/Scintilla.iface b/include/Scintilla.iface index f98cbdff4..a4c8c29f6 100644 --- a/include/Scintilla.iface +++ b/include/Scintilla.iface @@ -2628,6 +2628,7 @@ val SCE_C_STRINGRAW=20  val SCE_C_TRIPLEVERBATIM=21  val SCE_C_HASHQUOTEDSTRING=22  val SCE_C_PREPROCESSORCOMMENT=23 +val SCE_C_PREPROCESSORCOMMENTDOC=24  # Lexical states for SCLEX_D  lex D=SCLEX_D SCE_D_  val SCE_D_DEFAULT=0 diff --git a/lexers/LexCPP.cxx b/lexers/LexCPP.cxx index 9b56641e6..03e8ff990 100644 --- a/lexers/LexCPP.cxx +++ b/lexers/LexCPP.cxx @@ -672,7 +672,7 @@ void SCI_METHOD LexerCPP::Lex(unsigned int startPos, int length, int initStyle,  					sc.SetState(SCE_C_DEFAULT|activitySet);  				}  				break; -			case SCE_C_PREPROCESSOR: 	 +			case SCE_C_PREPROCESSOR:  				if (options.stylingWithinPreprocessor) {  					if (IsASpace(sc.ch)) {  						sc.SetState(SCE_C_DEFAULT|activitySet); @@ -683,7 +683,12 @@ void SCI_METHOD LexerCPP::Lex(unsigned int startPos, int length, int initStyle,  					if ((isIncludePreprocessor && sc.Match('<')) || sc.Match('\"')) {  						isStringInPreprocessor = true;  					} else if (sc.Match('/', '*')) { -						sc.SetState(SCE_C_PREPROCESSORCOMMENT|activitySet); +						if (sc.Match("/**") || sc.Match("/*!")) { +							sc.SetState(SCE_C_PREPROCESSORCOMMENTDOC|activitySet); +							sc.Forward(); +						} else { +							sc.SetState(SCE_C_PREPROCESSORCOMMENT|activitySet); +						}  						sc.Forward();	// Eat the *  					} else if (sc.Match('/', '/')) {  						sc.SetState(SCE_C_DEFAULT|activitySet); @@ -691,6 +696,7 @@ void SCI_METHOD LexerCPP::Lex(unsigned int startPos, int length, int initStyle,  				}  				break;  			case SCE_C_PREPROCESSORCOMMENT: +			case SCE_C_PREPROCESSORCOMMENTDOC:  				if (sc.Match('*', '/')) {  					sc.Forward();  					sc.ForwardSetState(SCE_C_PREPROCESSOR|activitySet); | 
