blob: 48b434334970181581b4f7b1c5c015e1cb7cfb3a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
#!/bin/bash
# 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 '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"
|