I made this change so colons at the end of line would trigger
an increase in the indent level, similar to Python.  The
second change in LexYAML.cxx is there because comments after
code weren't getting colourized correctly.

The patch:      

Differences:

==== scintilla/include/Scintilla.iface#6 - scintilla\include\Scintilla.iface 
====
--- scintilla/include/Scintilla.iface.~1~       Mon Jul 30 18:13:26 2007
+++ scintilla/include/Scintilla.iface   Mon Jul 30 18:13:26 2007
@@ -2708,6 +2708,7 @@
 val SCE_YAML_DOCUMENT=6
 val SCE_YAML_TEXT=7
 val SCE_YAML_ERROR=8
+val SCE_YAML_OPERATOR=9
 # Lexical states for SCLEX_TEX
 lex TeX=SCLEX_TEX SCE_TEX_
 val SCE_TEX_DEFAULT=0

==== scintilla/src/LexYAML.cxx#3 - scintilla\src\LexYAML.cxx ====
--- scintilla/src/LexYAML.cxx.~1~       Mon Jul 30 18:13:26 2007
+++ scintilla/src/LexYAML.cxx   Mon Jul 30 18:13:26 2007
@@ -102,7 +102,8 @@
                if (lineBuffer[i] == '\'' || lineBuffer[i] == '\"') {
                        bInQuotes = !bInQuotes;
                } else if (lineBuffer[i] == ':' && !bInQuotes) {
-                       styler.ColourTo(startLine + i, SCE_YAML_IDENTIFIER);
+                       styler.ColourTo(startLine + i - 1, SCE_YAML_IDENTIFIER);
+                       styler.ColourTo(startLine + i, SCE_YAML_OPERATOR);
                        // Non-folding scalar
                        i++;
                        while ((i < lengthLine) && isspacechar(lineBuffer[i]))
@@ -130,6 +131,10 @@
                                        styler.ColourTo(endPos, SCE_YAML_ERROR);
                                        return;
                                }
+                       } else if (lineBuffer[i] == '#') {
+                               styler.ColourTo(startLine + i - 1, 
SCE_YAML_DEFAULT);
+                               styler.ColourTo(endPos, SCE_YAML_COMMENT);
+                               return;
                        }
                        styler.SetLineState(currentLine, YAML_STATE_VALUE);
                        if (lineBuffer[i] == '&' || lineBuffer[i] == '*') {
End of Patch.

_______________________________________________
Scintilla-interest mailing list
[email protected]
http://mailman.lyra.org/mailman/listinfo/scintilla-interest

Reply via email to