Un diff plus pratique

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

commentaires

Suivez-moi
Droits de reproduction ©, Yann Esposito
Écrit le : 17/08/2011 modifié le : 17/08/2011
Site entièrement réalisé avec Vim et nanoc