From 3e5da69b16c6c0d0e62b0927c62f4668081a9f12 Mon Sep 17 00:00:00 2001 From: xeruf <27jf@pm.me> Date: Wed, 11 May 2022 12:18:47 +0200 Subject: [PATCH] bin: improve diffs --- .config/shell/functions | 1 + .local/bin/scripts/dif | 6 ++++-- .local/bin/scripts/diff-color | 2 +- .local/bin/scripts/help | 2 +- 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/.config/shell/functions b/.config/shell/functions index 72221bd..309809d 100644 --- a/.config/shell/functions +++ b/.config/shell/functions @@ -379,6 +379,7 @@ alias rcs='rsync --recursive --info=progress2,remove,symsafe,flist,del --human-r alias dsync='rc --delete --specials' alias move='rc --remove-source-files' alias rdiff='rsync --recursive --progress --delete --links --dry-run' +alias rdiffe='rdiff --existing --size-only' # Swap the names of two files swap() { diff --git a/.local/bin/scripts/dif b/.local/bin/scripts/dif index 68d454d..0add415 100755 --- a/.local/bin/scripts/dif +++ b/.local/bin/scripts/dif @@ -1,4 +1,6 @@ #!/bin/sh # interactive diff with pagination and nice coloring -diff-color --report-identical-files "$@" | - less --RAW-CONTROL-CHARS --quit-on-intr --quit-if-one-screen +if file --mime "$1" "$2" | grep --quiet audio +then $(test $(tput cols) -gt 120 && echo "diff --color=always --side-by-side" || echo "diff-color") --label="$1" --label="$2" <(ffprobe -hide_banner "$1" 2>&1 | tail +2) <(ffprobe -hide_banner "$2" 2>&1 | tail +2 ) +else diff-color "$@" +fi | less --RAW-CONTROL-CHARS --quit-on-intr --quit-if-one-screen diff --git a/.local/bin/scripts/diff-color b/.local/bin/scripts/diff-color index 3a0371e..ecf7415 100755 --- a/.local/bin/scripts/diff-color +++ b/.local/bin/scripts/diff-color @@ -1,4 +1,4 @@ #!/bin/sh # Colorize with diffr -diff --color=always --unified=2 "$@" | +diff --color=always --report-identical-files --unified=2 "$@" | diffr --colors refine-added:none:background:0x33,0x66,0x33:bold --colors added:none:background:0x33,0x44,0x33 --colors refine-removed:none:background:0x66,0x33,0x33:bold --colors removed:none:background:0x44,0x33,0x33 diff --git a/.local/bin/scripts/help b/.local/bin/scripts/help index 5fe1fbe..bf7a552 100755 --- a/.local/bin/scripts/help +++ b/.local/bin/scripts/help @@ -10,7 +10,7 @@ case $1 in # need to install zsh-doc package for info pages info --vi-keys $(test "$last" != zsh && echo "--index-search=$last") zsh || LESS="$LESS +/^ *$last *\\[" man zshall;; - (gh|chordpro|bat|pdfjam|reflector|topgrade|r128gain|7z|kubectl) unbuffer "$@" --help | $paginate;; + (gh|chordpro|bat|pdfjam|reflector|topgrade|r128gain|7z|kubectl|diffr) unbuffer "$@" --help | $paginate;; (caddy|stretchly|go|fossil) "$1" help "${@:2}" | $paginate;; (rails) { rails -H && rails --help; } | $paginate;; (plantuml) unbuffer "$@" -help | $paginate;;