5ea5f914bf
I was getting errors when using the hldiff filter with aerc because the plus symbol on line 28 wasn't escaped. This commit escapes the plus symbol in the regex on line 28.
39 lines
797 B
Awk
Executable file
39 lines
797 B
Awk
Executable file
# vim: set ft=awk :
|
|
BEGIN {
|
|
bright = "\x1B[1m"
|
|
red = "\x1B[31m"
|
|
green = "\x1B[32m"
|
|
cyan = "\x1B[36m"
|
|
reset = "\x1B[0m"
|
|
|
|
hit_diff = 0
|
|
}
|
|
{
|
|
if (hit_diff == 0) {
|
|
if ($0 ~ /^diff /) {
|
|
hit_diff = 1;
|
|
print bright $0 reset
|
|
} else if ($0 ~ /^.*\|.*(\+|-)/) {
|
|
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 {
|
|
if ($0 ~ /^-/) {
|
|
print red $0 reset
|
|
} else if ($0 ~ /^\+/) {
|
|
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
|
|
}
|
|
}
|
|
}
|