diff options
Diffstat (limited to 'modules/home.legacy/conf/lf/commands/scripts/mk_ln.sh')
-rwxr-xr-x | modules/home.legacy/conf/lf/commands/scripts/mk_ln.sh | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/modules/home.legacy/conf/lf/commands/scripts/mk_ln.sh b/modules/home.legacy/conf/lf/commands/scripts/mk_ln.sh new file mode 100755 index 00000000..7fab8e22 --- /dev/null +++ b/modules/home.legacy/conf/lf/commands/scripts/mk_ln.sh @@ -0,0 +1,45 @@ +#! /usr/bin/env dash + +# shellcheck source=/dev/null +SHELL_LIBRARY_VERSION="2.1.2" . %SHELL_LIBRARY_PATH + +# shellcheck disable=SC2269 +f="$f" +# shellcheck disable=SC2269 +fx="$fx" +# shellcheck disable=SC2269 +fs="$fs" +# shellcheck disable=SC2269 +id="$id" + +while IFS= read -r i; do + set -- "$@" "$i" +done <"$HOME"/.local/share/lf/files + +mode="$1" +shift + +if [ "$#" -eq 0 ]; then + msg "no files to link" + exit 0 +fi + +case "$mode" in +copy) + while [ "$#" -gt 0 ]; do + file="$1" + ans="$(basename "$file")" + + while [ -e "$ans" ]; do + prompt "$ans already exists, new name for link: " + read -r ans + done + + ln --symbolic --relative "$file" "$(pwd)/$ans" + shift + done + ;; +esac +rm ~/.local/share/lf/files +# lf -remote "send clear" +# vim: ft=sh |