diff options
| author | nyamatongwe <unknown> | 2009-04-12 05:59:50 +0000 | 
|---|---|---|
| committer | nyamatongwe <unknown> | 2009-04-12 05:59:50 +0000 | 
| commit | 001550a0de196eca314eea792bfada74a19773b1 (patch) | |
| tree | 2179411162e59d989ae8e2c44db37c5c74ac813d /src/LexCPP.cxx | |
| parent | 67db09ae242cf51a4aab5fe8cb36bb8e7b11c7dd (diff) | |
| download | scintilla-mirror-001550a0de196eca314eea792bfada74a19773b1.tar.gz | |
Using comments in lexer code to document meaning of properties.
Automatically extract into SciTE doumentation.
Diffstat (limited to 'src/LexCPP.cxx')
| -rw-r--r-- | src/LexCPP.cxx | 20 | 
1 files changed, 20 insertions, 0 deletions
| diff --git a/src/LexCPP.cxx b/src/LexCPP.cxx index d12a6e0db..9a8d49bb6 100644 --- a/src/LexCPP.cxx +++ b/src/LexCPP.cxx @@ -58,6 +58,9 @@ static void ColouriseCppDoc(unsigned int startPos, int length, int initStyle, Wo  	WordList &keywords3 = *keywordlists[2];  	WordList &keywords4 = *keywordlists[3]; +	// property styling.within.preprocessor +	//	For C++ code, determines whether all preprocessor code is styled in the preprocessor style (0, the default)  +	//	or only from the initial # to the end of the command word(1).   	bool stylingWithinPreprocessor = styler.GetPropertyInt("styling.within.preprocessor") != 0;  	CharacterSet setOKBeforeRE(CharacterSet::setNone, "([{=,:;!%^&*|?~+-"); @@ -67,6 +70,9 @@ static void ColouriseCppDoc(unsigned int startPos, int length, int initStyle, Wo  	CharacterSet setWordStart(CharacterSet::setAlpha, "_", 0x80, true);  	CharacterSet setWord(CharacterSet::setAlphaNum, "._", 0x80, true); + +	// property lexer.cpp.allow.dollars +	//	Set to 0 to disallow the '$' character in identifiers with the cpp lexer.   	if (styler.GetPropertyInt("lexer.cpp.allow.dollars", 1) != 0) {  		setWordStart.Add('$');  		setWord.Add('$'); @@ -371,10 +377,24 @@ static bool IsStreamCommentStyle(int style) {  // and to make it possible to fiddle the current level for "} else {".  static void FoldCppDoc(unsigned int startPos, int length, int initStyle,  					   WordList *[], Accessor &styler) { + +	// property fold.comment +	//	This option enables folding multi-line comments and explicit fold points when using the C++ lexer.  +	//	Explicit fold points allows adding extra folding by placing a //{ comment at the start and a //}  +	//	at the end of a section that should fold.   	bool foldComment = styler.GetPropertyInt("fold.comment") != 0; + +	// property fold.preprocessor +	//	This option enables folding preprocessor directives when using the C++ lexer.  +	//	Includes C#'s explicit #region and #endregion folding directives.   	bool foldPreprocessor = styler.GetPropertyInt("fold.preprocessor") != 0; +  	bool foldCompact = styler.GetPropertyInt("fold.compact", 1) != 0; + +	// property fold.at.else  +	//	This option enables C++ folding on a "} else {" line of an if statement.   	bool foldAtElse = styler.GetPropertyInt("fold.at.else", 0) != 0; +  	unsigned int endPos = startPos + length;  	int visibleChars = 0;  	int lineCurrent = styler.GetLine(startPos); | 
