about summary refs log tree commit diff stats
path: root/home-manager/config/lf/commands/scripts/mk_ln
blob: 066150bd2a92089b75dc63f678bb000bed73f43a (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
#! /usr/bin/env dash
# shellcheck disable=SC2086
# shellcheck source=/dev/null
# . ~/.local/lib/shell/lib
. %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