1 KiB
1 KiB
isHidden | menupriority | kind | created_at | title | author_name | author_uri | tags | |||
---|---|---|---|---|---|---|---|---|---|---|
false | 1 | article | 2011-08-17T11:33:30+02:00 | A more convenient diff | Yann Esposito | yannesposito.com |
|
Diff is a very useful tool. But it is not so easy to read for us, simple mortal.
This is why, when you use git
it will use a better formatting and colorize it.
Here is the script I use when I want to use human readable 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