diff options
author | Drew DeVault <sir@cmpwn.com> | 2019-06-27 09:32:46 -0400 |
---|---|---|
committer | Drew DeVault <sir@cmpwn.com> | 2019-06-27 09:32:46 -0400 |
commit | 177651bddab145c8a56cdfeb0d57b5fd95a6d0e2 (patch) | |
tree | 75681e3ab5c71b8cdb06f22247dfcd4a547393dc /filters/hldiff | |
parent | 59df06fe28ddde3607cb3080636e65d48b762baf (diff) | |
download | aerc-177651bddab145c8a56cdfeb0d57b5fd95a6d0e2.tar.gz |
Move contrib -> filters
Diffstat (limited to 'filters/hldiff')
-rwxr-xr-x | filters/hldiff | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/filters/hldiff b/filters/hldiff new file mode 100755 index 00000000..b672e21f --- /dev/null +++ b/filters/hldiff @@ -0,0 +1,39 @@ +# 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 + } + } +} |