--- /usr/bin/colordiff	2008-07-23 22:15:26.000000000 +0200
+++ /usr/local/bin/colordiff	2008-10-15 15:45:04.000000000 +0200
@@ -60,6 +60,10 @@
 my $file_new   = $colour{blue};
 my $diff_stuff = $colour{magenta};
 my $cvs_stuff  = $colour{green};
+my $subfile_old   = $colour{darkred};
+my $subfile_new   = $colour{darkblue};
+my $subdiff_stuff = $colour{darkmagenta};
+my $subcvs_stuff  = $colour{darkgreen};
 
 # Locations for personal and system-wide colour configurations
 my $HOME   = $ENV{HOME};
@@ -358,6 +362,20 @@
         elsif (/^(Index: |={4,}|RCS file: |retrieving |diff )/) {
             print "$cvs_stuff";
         }
+
+        elsif (/^\s+-/) {
+            print "$subfile_old";
+        }
+        elsif (/^\s+\+/) {
+            print "$subfile_new";
+        }
+        elsif (/^\s+\@/) {
+            print "$subdiff_stuff";
+        }
+        elsif (/^\s+(Index: |={4,}|RCS file: |retrieving |diff )/) {
+            print "$subcvs_stuff";
+        }
+
         else {
             print "$plain_text";
         }

