.dotfiles/.bin/edit

33 lines
566 B
Bash
Executable file

#!/usr/bin/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"