35 lines
820 B
Bash
Executable file
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
|