#!/bin/bash . "$(ffoom path)" || exit 3 ffoo import inigrep ffoo import pretty DEFAULT_TARGET=$HOME usage() { mkusage "[-t|--target TARGET] [SOURCE] [NAME]" } expand_tilde() { # # Exchange "~" for home # perl -pe "s|^[[:space:]]*~|$HOME|" } link() { local src=$1 local dst=$2 think "linking $src to $dst" rm -f "$dst" ln -sr "$src" "$dst" } load() { inigrep -p "ln.dir.$1" | expand_tilde } while true; do case $1 in -t|--target) target=$2 shift 2 || usage ;; --help) usage ;; -*) usage ;; *) src=$1; name=$2; break ;; esac done test -z "$target" && target=$(load target) test -z "$target" && target=$DEFAULT_TARGET test -z "$name" && name="$(basename "$PWD")" test -z "$src" && src="." debug -v src name target mkdir -p "$target" link "$src" "$target/$name"