]> git.saurik.com Git - cycript.git/blobdiff - Highlight.cpp
Further improvements to the autoconf scripting.
[cycript.git] / Highlight.cpp
index 371722e5e0659efede1c69df89e165071fdc76d6..2587d19b17fe969e515d0bf9117927a1005fba48 100644 (file)
@@ -53,9 +53,10 @@ struct CYColor {
     }
 };
 
-void CYLexerHighlight(const char *data, size_t size, std::ostream &output) {
+void CYLexerHighlight(const char *data, size_t size, std::ostream &output, bool ignore) {
     CYStream stream(data, data + size);
     CYDriver driver(stream);
+    driver.commented_ = true;
 
     size_t offset(0);
     cy::position current;
@@ -82,11 +83,24 @@ void CYLexerHighlight(const char *data, size_t size, std::ostream &output) {
         }
 
         Skip(data, size, output, offset, current, location.begin);
-        if (color.code_ != 0)
+
+        if (color.code_ != 0) {
+            if (ignore)
+                output << CYIgnoreStart;
             output << "\e[" << (color.bold_ ? '1' : '0') << ";" << color.code_ << "m";
+            if (ignore)
+                output << CYIgnoreEnd;
+        }
+
         Skip(data, size, output, offset, current, location.end);
-        if (color.code_ != 0)
+
+        if (color.code_ != 0) {
+            if (ignore)
+                output << CYIgnoreStart;
             output << "\e[0m";
+            if (ignore)
+                output << CYIgnoreEnd;
+        }
     }
 
     output.write(data + offset, size - offset);