Add .t for template copying

This commit is contained in:
Tobias Reisinger 2023-10-30 22:50:18 +01:00
parent 99dfe95131
commit 478f6722ba
Signed by: serguzim
GPG key ID: 13AD60C237A28DFE
3 changed files with 69 additions and 12 deletions

20
.bin/.e
View file

@ -8,6 +8,7 @@ declare -A mapper=(
["autostart.toml"]="$HOME/.config/autostart.toml"
["bash"]="$HOME/.bashrc"
["bspwm"]="$HOME/.config/bspwm/bspwmrc"
["completions"]="$HOME/.config/completionsrc"
["env"]="$HOME/.config/environment"
["env.d"]="$HOME/.config/env.d/"
["git"]="$HOME/.config/git/config"
@ -22,7 +23,7 @@ declare -A mapper=(
["starship"]="$HOME/.config/starship.toml"
["sxhkd"]="$HOME/.config/sxhkd/sxhkdrc"
["vim"]="$HOME/.config/vim/vimrc"
["wakatime"]="$HOME/.config/wakatime/.wakatime.cfg.tpl"
["wakatime"]="$HOME/.config/wakatime/.wakatime.cfg##template"
["waybar"]="$HOME/.config/waybar/"
["xprofile"]="$HOME/.xprofile"
["yadm-encrypt"]="$HOME/.config/yadm/encrypt"
@ -32,24 +33,19 @@ declare -A mapper=(
if [ -z "$1" ]
then
echo "No argument given. Use --list (-l) to show all options."
exit
exit 1
fi
if [ "$1" = "-l" ] || [ "$1" = "--list" ]
then
echo "${!mapper[@]}"
exit
exit 0
fi
target="${mapper["$1"]}"
if [ -n "$target" ]
if [ -z "$target" ]
then
if [ -d "$target" ]
then
cd "$target"
$EDITOR .
else
$EDITOR "$target"
fi
else
echo "Dotfile not found. Use --list (-l) to show all options."
exit 1
fi
$EDITOR "$target"

47
.bin/.t Executable file
View file

@ -0,0 +1,47 @@
#!/usr/bin/env bash
declare -A mapper=(
["nix"]="nix"
)
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
target="${mapper["$1"]}"
if [ -z "$target" ]
then
echo "Template not found. Use --list (-l) to show all options."
exit 1
fi
target="$XDG_CONFIG_HOME/templates/$target"
if [ -f "$target" ]
then
cp "$target" .
echo "Template copied."
elif [ -d "$target" ]
then
cp -r "$target/*" .
echo "Template copied."
else
echo "Error copying template."
exit 1
fi
if [ -n "${edit_file["$1"]}" ]
then
$EDITOR "${edit_file["$1"]}"
fi

View file

@ -14,6 +14,20 @@ _dote_completions()
}
complete -F _dote_completions ".e"
_dott_completions()
{
if [ "${#COMP_WORDS[@]}" == "1" ]; then
return
fi
COMPREPLY=()
while IFS='' read -r line
do
COMPREPLY+=("$line")
done < <(compgen -W "$(.t -l)" "${COMP_WORDS[1]}")
}
complete -F _dott_completions ".t"
_autostart_manage_completions()
{
if [ "${#COMP_WORDS[@]}" == "2" ]; then