Use listings package, define 'diff' language

Require listings package
Define a default style

Define a 'diff' language that highlights the +/- and @@ lines