# 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