Calculate which nearby lines should also be displayed.
Calculating which modified lines should be displayed together.
Inline, or “unified” diff display.
Side-by-side (two column) display of diffs.
Apply colours and styling to strings.