scratch/output/Scratch/en/blog/A-more-convenient-diff/code/ydiff
Yann Esposito 70314df976 Recompiled
2012-05-02 17:43:56 +02:00

22 lines
501 B
Bash

#!/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