about summary refs log tree commit diff stats
path: root/home-manager/config/lf/commands/scripts/mk_ln
blob: 7d626345cc5674c8095f3925b494913d63b7d660 (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
#! /usr/bin/env dash

# shellcheck source=/dev/null
SHELL_LIBRARY_VERSION="1.1.3" . %SHELL_LIBRARY_PATH

while IFS= read -r i;do
    set -- "$@" "$i"
done < "$(tmp 'cat ~/.local/share/lf/files')"

mode="$1"
shift

if [ "$#" -lt 1 ]; 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 -s "$file" "$(pwd)/$ans"
            shift
        done
        ;;
esac
rm ~/.local/share/lf/files
# lf -remote "send clear"
# vim: ft=sh