Last modified: 2013-03-13 10:45:51 UTC
DifferenceEnginge and the accompanying classes (DairikiDiff, etc) should be refactored so we get a system of pluggable components. The following things should be considered:
* We want an abstract marker interface for all kinds of diffs.
* There should be an interface for sequential, text-based diffs.
* Formatters for generating html, unified, and other diff output should be based on the interface for sequential diffs.
* Other types of diffs need to provide their own "private" formatters.
* The (misnamed) DifferenceEngine class is really a diff view class that takes care of loading all the information required to build the diff.