about summary refs log tree commit diff stats
path: root/modules/home.legacy/conf/lf/commands/scripts/mk_ln.sh
diff options
context:
space:
mode:
Diffstat (limited to 'modules/home.legacy/conf/lf/commands/scripts/mk_ln.sh')
-rwxr-xr-xmodules/home.legacy/conf/lf/commands/scripts/mk_ln.sh45
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