.dotfiles/.bin/.t

57 lines
826 B
Bash
Executable file

#!/usr/bin/env bash
declare -A mapper=(
["nix"]="nix"
["sh"]="sh"
)
declare -A edit_file=(
["nix"]="shell.nix"
)
if [ -z "$1" ]
then
echo "No argument given. Use --list (-l) to show all options."
exit 1
fi
if [ "$1" = "-l" ] || [ "$1" = "--list" ]
then
echo "${!mapper[@]}"
exit
fi
dest="."
if [ -n "$2" ]
then
dest="$2"
fi
source="${mapper["$1"]}"
if [ -z "$source" ]
then
echo "Template not found. Use --list (-l) to show all options."
exit 1
fi
source="$XDG_CONFIG_HOME/templates/$source"
if [ -f "$source" ]
then
cp -i "$source" "$dest"
echo "Template copied."
source_edit=$dest
elif [ -d "$source" ]
then
cp -irT "$source" "$dest"
echo "Template copied."
source_edit=$dest/${edit_file["$1"]}
else
echo "Error copying template."
exit 1
fi
if [ -n "$source_edit" ]
then
$EDITOR "$source_edit"
fi