- #!/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