scripts/g-add.zsh
2021-05-20 22:16:48 +00:00

35 lines
820 B
Bash
Executable file

#!/bin/zsh
source ${$(realpath "$0"):h}/lib/common.zsh
if [[ -z $1 ]]; then
<<-HELP
Usage: $0 [opts] <program_names>
Options:
-p, --path PATH target directory to install into (defaults to ~/.local/bin)
-d, --dot, -m, --multi create g.\$prog links, allowing multiple instances
HELP
exit 1
fi
zparseopts -D -E p:=install_path -path:=install_path d=multi -dot=multi m=multi -multi=multi
if [[ ! $install_path ]]; then
install_path=$HOME/.local/bin
else
install_path=${install_path[2]}
fi
if [[ $multi ]]; then prefix='g.'; else prefix='g'; fi
for prog in $@; do
target="$prefix${prog:t}"
if [[ -e $install_path/${target} ]]; then
warning "${target} already exists at $install_path. Skipping."
else
check "Creating $target"
ln -fsr lib/g $install_path/$target || fail
succeed
fi
done