about summary refs log tree commit diff stats
path: root/modules/home.legacy/conf/lf/commands/scripts/mk_ln.sh
blob: 7fab8e22dfa96d9985851aec4ab713382cfff38e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
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