#!/usr/bin/env sh set -e edit_directory="$HOME/.cache/edit/" filehash=$(readlink -fn "$1" | md5sum | awk '{ print $1 }') filedirectory="$edit_directory/$filehash/" mkdir -p "$filedirectory" basename=$(basename "$1") filepath=$(realpath -s "$filedirectory/$basename") user=$(id -un) group=$(id -gn) echo "Editing $1 in $filepath as $user:$group" sudo test -e "$1" && ( sudo cp -i "$1" "$filepath" sudo chown "$user":"$group" "$filepath" ) || ( touch "$filepath" ) $EDITOR "$filepath" sudo cp "$filepath" "$1" rm "$filepath" rm -rd "$filedirectory"