2022-07-11 13:27:49 +00:00
|
|
|
#!/usr/bin/awk -f
|
|
|
|
|
2019-06-07 15:53:42 +00:00
|
|
|
BEGIN {
|
|
|
|
bright = "\x1B[1m"
|
|
|
|
red = "\x1B[31m"
|
|
|
|
green = "\x1B[32m"
|
|
|
|
cyan = "\x1B[36m"
|
|
|
|
reset = "\x1B[0m"
|
|
|
|
|
|
|
|
hit_diff = 0
|
|
|
|
}
|
|
|
|
{
|
|
|
|
if (hit_diff == 0) {
|
2019-08-20 02:06:52 +00:00
|
|
|
# Strip carriage returns from line
|
|
|
|
gsub(/\r/, "", $0)
|
|
|
|
|
2019-06-07 15:53:42 +00:00
|
|
|
if ($0 ~ /^diff /) {
|
|
|
|
hit_diff = 1;
|
|
|
|
print bright $0 reset
|
2019-06-07 23:08:17 +00:00
|
|
|
} else if ($0 ~ /^.*\|.*(\+|-)/) {
|
2019-06-07 15:53:42 +00:00
|
|
|
left = substr($0, 0, index($0, "|")-1)
|
|
|
|
right = substr($0, index($0, "|"))
|
|
|
|
gsub(/-+/, red "&" reset, right)
|
|
|
|
gsub(/\++/, green "&" reset, right)
|
|
|
|
print left right
|
|
|
|
} else {
|
|
|
|
print $0
|
|
|
|
}
|
|
|
|
} else {
|
2019-08-20 02:06:52 +00:00
|
|
|
# Strip carriage returns from line
|
|
|
|
gsub(/\r/, "", $0)
|
|
|
|
|
2019-06-07 15:53:42 +00:00
|
|
|
if ($0 ~ /^-/) {
|
|
|
|
print red $0 reset
|
2019-07-13 15:54:59 +00:00
|
|
|
} else if ($0 ~ /^\+/) {
|
2019-06-07 15:53:42 +00:00
|
|
|
print green $0 reset
|
|
|
|
} else if ($0 ~ /^ /) {
|
|
|
|
print $0
|
|
|
|
} else if ($0 ~ /^@@ (-[0-9]+,[0-9]+ \+[0-9]+,[0-9]+) @@.*/) {
|
|
|
|
sub(/^@@ (-[0-9]+,[0-9]+ \+[0-9]+,[0-9]+) @@/, cyan "&" reset)
|
|
|
|
print $0
|
|
|
|
} else {
|
|
|
|
print bright $0 reset
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|