remove old functions

This commit is contained in:
cscherr 2025-08-11 16:28:16 +02:00
parent 1cbc0b0e71
commit 18b60c9692
Signed by: cscherrNT
GPG key ID: 8E2B45BC51A27EA7

108
.zshrc
View file

@ -168,114 +168,6 @@ function writepatch() {
nvim b/$fname nvim b/$fname
diff -Naru --color='auto' a/$fname b/$fname diff -Naru --color='auto' a/$fname b/$fname
} }
backup() {
local compress=0
local src=""
# Parse options
while getopts "z" opt; do
case $opt in
z) compress=1 ;;
*) echo "Usage: backup [-z] file_or_dir"; return 1 ;;
esac
done
shift $((OPTIND-1))
# Get source file/dir after option processing
src="$1"
if [ -z "$src" ]; then
echo "Error: no source specified"
return 1
fi
# Check if source exists
if [ ! -e "$src" ]; then
echo "Error: $src does not exist"
return 1
fi
# Create backup based on type and options
if [ $compress -eq 1 ]; then
tar -I zstd -cf "${src}.tar.zstd" "$src"
elif [ -d "$src" ]; then
cp -r "$src" "${src}.bak.d"
else
cp "$src" "${src}.bak"
fi
}
restore() {
local remove=0
# Parse options
while getopts "r" opt; do
case $opt in
r) remove=1 ;;
*) echo "Usage: restore [-r] backup_file"; return 1 ;;
esac
done
shift $((OPTIND-1))
# Check if argument was provided
local src="$1"
if [ -z "$src" ]; then
echo "Error: no backup file specified"
echo "Usage: restore [-r] backup_file"
return 1
fi
# Check if source exists
if [ ! -e "$src" ]; then
echo "Error: $src does not exist"
return 1
fi
# Function to handle overwrite confirmation
confirm_overwrite() {
echo -n "$1 already exists. Overwrite? [y/N] "
read answer
[[ $answer =~ ^[Yy] ]]
return $?
}
# Determine backup type and restore accordingly
if [[ "$src" == *.tar.zstd ]]; then
local dest="${src%.tar.zstd}"
if [ -e "$dest" ]; then
if ! confirm_overwrite "$dest"; then
echo "Restore cancelled"
return 1
fi
rm -rf "$dest"
fi
tar -I zstd -xf "$src"
[ $remove -eq 1 ] && rm "$src"
elif [[ "$src" == *.bak.d ]]; then
local dest="${src%.bak.d}"
if [ -e "$dest" ]; then
if ! confirm_overwrite "$dest"; then
echo "Restore cancelled"
return 1
fi
rm -rf "$dest"
fi
cp -r "$src" "$dest"
[ $remove -eq 1 ] && rm -rf "$src"
elif [[ "$src" == *.bak ]]; then
local dest="${src%.bak}"
if [ -e "$dest" ]; then
if ! confirm_overwrite "$dest"; then
echo "Restore cancelled"
return 1
fi
rm -f "$dest"
fi
cp "$src" "$dest"
[ $remove -eq 1 ] && rm "$src"
else
echo "Error: $src is not a recognized backup format"
return 1
fi
}
### ---- zsh options ------------------------------------- ### ---- zsh options -------------------------------------