# Highlighting a .diff file

Is there a way to highlight the syntax of a diff file (i.e. by using the `listings` package)?

-

You can just do this with the `listings` package, and you won't even need an external pre-processor. `listings` doesn't come with a diff style but you can define one like this:

``````\lstdefinelanguage{diff}{
morecomment=[f][\color{blue}]{@@},     % group identifier
morecomment=[f][\color{red}]-,         % deleted lines
morecomment=[f][\color{magenta}]{---}, % Diff header lines (must appear after +,-)
morecomment=[f][\color{magenta}]{+++},
}
``````

Use it in the usual ways. E.g., `\lstinputlisting[language=diff]{myfile.diff}`.

Update: Diff viewers often highlight the background of lines, instead of coloring the text. This can be added with the help of Martin Scharrer's `lstlinebgrd` package, available on CTAN in his `lstaddons` bundle (or get the latest version from the package homepage)

-
 Indeed, diff syntax is pretty simple! Thanks for having replied even with an accepted answer… – GaretJax Apr 1 '12 at 12:12 Welcome. If you figure out how to set the background color for any of these, please demonstrate. I'm not sure `listings` can set the background of anything smaller than a whole listing. – alexis Apr 2 '12 at 12:00 (Update: I found out about `lstlinebgrd`, which can set the background color). – alexis Dec 19 '12 at 15:55
-
 Indeed, `pygmentize -L lexers` shows that `diff` is supported. – egreg Mar 31 '12 at 10:17 @egreg: I know, I checked it on the project's web page first;). – mbork Mar 31 '12 at 10:18 Great! I don't have the time to change all my other listings to minted though (I use lstlistings). Is there a way to use lstlistings settings for minted? – GaretJax Mar 31 '12 at 10:19 (And I couldn't resist having a go at the lowest-answer-length-to-upvotes-ratio contest:P.) – mbork Mar 31 '12 at 10:19 @mbork The comment was intended as a spur to improve the answer. ;-) – egreg Mar 31 '12 at 10:19