From 03448087617fcce47570007cdaf7d8ccc5f8e846 Mon Sep 17 00:00:00 2001 From: Jan Pokorný Date: Tue, 20 Aug 2013 19:29:51 +0200 Subject: Git config: make subdiff-related commands work well MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Jan Pokorný --- .local/bin/subdiff | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) (limited to '.local/bin') diff --git a/.local/bin/subdiff b/.local/bin/subdiff index 6bc7db3..92a3a78 100755 --- a/.local/bin/subdiff +++ b/.local/bin/subdiff @@ -1,6 +1,20 @@ #!/bin/bash -sed \ - -e 's|^\(\x1b\[[0-9;]\+m\)\?+\(\x1b\[m\x1b\[[0-9;]\+m\)\?+|\x1b\[1;36m++|g' \ - -e 's|^\(\x1b\[[0-9;]\+m\)\?+\(\x1b\[m\x1b\[[0-9;]\+m\)\?-|\x1b\[1;35m+-|g' \ - -e 's|^\(\x1b\[[0-9;]\+m\)\?-+|\x1b\[36m-+|g' \ - -e 's|^\(\x1b\[[0-9;]\+m\)\?--|\x1b\[35m--|g' + +# should also work reasonably well with git diff --word-diff + +sed -n \ + -e ":start" \ + -e "/^\(\x1b\[[0-9;]\+m\)\?diff .*patch\(\(\x1b\[m\)\?$\| \)/bpatch" \ + -e "p;n" \ + -e "#s|.*|NONPATCH|" \ + -e "bstart" \ + -e ":patch" \ + -e "p;n" \ + -e "/^\(\x1b\[[0-9;]\+m\)\?diff /bstart" \ + -e "/^\(\x1b\[[0-9;]\+m\)\?\([-+]\)\2\2 /bpatch" \ + -e "#s|.*|PATCH|" \ + -e 's|^\(\x1b\[[0-9;]\+m\)\([{]\?[+]\)\(\x1b\[m\1\)\?[+]|\x1b\[1;36m\2+|' \ + -e 's|^\(\x1b\[[0-9;]\+m\)\([{]\?[+]\)\(\x1b\[m\1\)\?[-]|\x1b\[1;35m\2-|' \ + -e 's|^\(\x1b\[[0-9;]\+m\)\([[]\?[-]\)\(\x1b\[m\1\)\?[+]|\x1b\[36m\2+|' \ + -e 's|^\(\x1b\[[0-9;]\+m\)\([[]\?[-]\)\(\x1b\[m\1\)\?[-]|\x1b\[35m\2-|' \ + -e "bpatch" -- cgit