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