scratch/multi/blog/A-more-convenient-diff.md
Yann Esposito (Yogsototh) 99cec631ad New blog entry (ydiff)
2011-08-17 14:26:41 +02:00

50 lines
1.4 KiB
Markdown

-----
isHidden: false
menupriority: 1
kind: article
created_at: 2011-08-17T11:33:30+02:00
en: title: A more convenient diff
fr: title: Un diff plus pratique
author_name: Yann Esposito
author_uri: yannesposito.com
tags:
- diff
- git
en: - colors
fr: - couleurs
-----
en: Diff is a very useful tool. But it is not so easy to read for us, simple mortal.
fr: `diff` est un utilitaire très pratique, mais il n'est pas facile à lire pour nous, les Hommes.
en: This is why, when you use `git` it will use a better formatting and colorize it.
fr: C'est pourquoi, lorsque vous utilisez `git`, il vous montre un formatage plus agréable avec des couleurs.
en: Here is the script I use when I want to use human readable `diff` à la git.
fr: Voici le script que j'utilise lorsque je veux avoir un `diff` à la git.
<code class="zsh" file="ydiff">
#!/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
</code>