----- isHidden: false menupriority: 1 kind: article created_at: 2011-08-17T11:33:30+02:00 title: Un diff plus pratique author_name: Yann Esposito author_uri: yannesposito.com tags: - diff - git - couleurs ----- `diff` est un utilitaire très pratique, mais il n'est pas facile à lire pour nous, les Hommes. C'est pourquoi, lorsque vous utilisez `git`, il vous montre un formatage plus agréable avec des couleurs. Voici le script que j'utilise lorsque je veux avoir un `diff` à la git. #!/usr/bin/env zsh # Load colors helpers autoload -U colors && colors function colorize_diff { while read line; do case ${line[0]} in +) print -n $fg[green];; -) print -n $fg[red];; @) # Display in cyan the @@ positions @@ if [[ ${line[1]} = '@' ]]; then line=$(print $line | perl -pe 's#(\@\@[^\@]*\@\@)(.*)$#'$fg[cyan]'$1'$reset_color'$2#') fi;; esac print -- $line print -n $reset_color done } diff -u $* | colorize_diff