changeset 7:c6337f653d9b

Added some comments documenting the OrderedDict class and our instance's contents.
author Peter Hosey
date Mon, 11 Aug 2008 00:16:09 -0700
parents d58b4e2e12d4
children 4bb2557d24cd
files diff-colorize.py
diffstat 1 files changed, 15 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/diff-colorize.py
+++ b/diff-colorize.py
@@ -16,6 +16,19 @@ COLOR_FORMAT = '\033[38;5;%um'
 BEGIN_REVERSE_FORMAT = '\033[7m'
 END_REVERSE_FORMAT = '\033[27m'
 
+# Everything in the unified diff format is identified by a prefix. The prefixes are:
+# 'Index: ':    File marker (unified diff)
+# 'diff --git': File marker (git-style diff)
+# 'old mode':   File permissions mode before change
+# 'new mode':   File permissions mode after change
+# '---':        Defining '-' (giving the name and modification date of the file before change)
+# '+++':        Defining '+' (giving the name and modification date of the file after change)
+# '-':          Line before change (i.e., removed)
+# '+':          Line after change (i.e., added)
+# ' ':          Line that hasn't changed
+# '@@':         Hunk start (@@ -start,length +start, length @@)
+#
+# We need to look for these prefixes in order, in order to handle '---'/'+++' before '-'/'+'. Hence the OrderedDict.
 class OrderedDict(dict):
 	def __init__(self, input=None):
 		if input is None:
@@ -37,6 +50,8 @@ class OrderedDict(dict):
 		super(OrderedDict, self).__delitem__(k)
 		self.keys.remove(k)
 
+# Each value includes not only the terminal-config characters, but also the key, somewhere within it (possibly between two terminal-config strings).
+# Theoretically, you could replace the key with some other string or leave it out entirely, if you wanted to, but I wouldn't recommend it.
 prefixes = OrderedDict()
 prefixes['---'] = (
 	COLOR_FORMAT % (REMOVED_COLOR,)