#!/bin/bash # set -x VOLDIR=/svc REAL_FILE="$(realpath --canonicalize-existing --no-symlinks -- "$1")" case "$REAL_FILE" in "" ) echo -- "$1 : no such file"; exit ;; "/var/"* ) echo "/var is not tracked!"; exit ;; "/home/"* ) SUBVcont="@home" [[ -r "$VOLDIR/$SUBVcont" ]] || sudo chmod 755 -- "$VOLDIR/$SUBVcont" ;; * ) [ "$EUID" -eq 0 ] || exec sudo -- "$0" "$@" SUBVcont="@rwroot";; esac OLD="$(stat --format=%n -- "$VOLDIR/$SUBVcont"/*/"${REAL_FILE#/home/}" \ | sed "s#$VOLDIR/$SUBVcont/##" \ | sort --reverse \ | fzf \ --header=" $(date +%F_%H-%M) $0 $(stat "$REAL_FILE")" \ --header-first \ --info=inline-right \ --scroll-off=5 \ --no-separator \ --prompt=" " \ --pointer=" " \ --layout=reverse \ --color='fg:#bbbbbb,bg+:#ffc9a9,fg+:#8f5999,hl+:#ff497c,gutter:-1' \ --preview-window=right,63%,border-none \ --preview="echo stat -- \"$VOLDIR/$SUBVcont\"/{} | grep --color=always --extended-regexp 'File: .*|symbolic link$|^' echo diff --report-identical-files --color=always -- \"$REAL_FILE\" \"$VOLDIR/$SUBVcont\"/{}" \ )" [[ -z "$OLD" ]] && { echo "no version selected"; exit; } OLD="$VOLDIR/$SUBVcont/$OLD" wl-copy --primary <<< "$OLD" wl-copy <<< "$OLD" operation="$(fzf \ --color='fg:#bbbbbb,bg+:#ffc9a9,fg+:#8f5999,hl+:#ff497c,gutter:-1' \ --info=hidden \ --scroll-off=5 \ --prompt=" " \ --pointer=" " \ --header="$0 $OLD" \ <<< \ '🗿 show 👓 diff ✅ Done')" # ⏳ restore case "${operation:-"✅ Done"}" in *" show" ) thunar "${OLD%/*}" ;; *" diff" ) nvim -d "$OLD" "$REAL_FILE";; *" Done" ) echo "$OLD"; exit ;; esac