summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan Pokorný <jpokorny@redhat.com>2013-08-15 16:00:27 +0200
committerJan Pokorný <jpokorny@redhat.com>2013-08-15 16:00:27 +0200
commit1e587cb6dd2d29bbb3ad1f4fa311685612906dd1 (patch)
treea8741682d98465499dd6eb0eb6a95588ff695aa7
parenta2e3cd4491b11fc68645c9a8a014db602f680440 (diff)
downloaddotfiles-1e587cb6dd2d29bbb3ad1f4fa311685612906dd1.tar.gz
dotfiles-1e587cb6dd2d29bbb3ad1f4fa311685612906dd1.tar.xz
dotfiles-1e587cb6dd2d29bbb3ad1f4fa311685612906dd1.zip
Git config: pd/ps commands colorizing nested patches conveniently
Naming derived from patch-{diff,show} mnemotechnics. Signed-off-by: Jan Pokorný <jpokorny@redhat.com>
-rw-r--r--.gitconfig2
-rwxr-xr-x.local/bin/subdiff6
2 files changed, 8 insertions, 0 deletions
diff --git a/.gitconfig b/.gitconfig
index 6a0d356..500231c 100644
--- a/.gitconfig
+++ b/.gitconfig
@@ -5,6 +5,8 @@
[alias]
c = commit -s
wd = diff --word-diff
+ pd = !git diff --color | subdiff | ${PAGER}
+ ps = !git show --color | subdiff | ${PAGER}
# script to preserve colors
s = !script -c 'git status' | grep -ve '^. [(]' -e '^..$' | awk '/^[\"-$] Untracked/{exit}{print $0}'
diff --git a/.local/bin/subdiff b/.local/bin/subdiff
new file mode 100755
index 0000000..6bc7db3
--- /dev/null
+++ b/.local/bin/subdiff
@@ -0,0 +1,6 @@
+#!/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'