about summary refs log tree commit diff stats
path: root/home-manager/config/lf/cmds/mk_ln
blob: 6b9e9761951111d364241c8ff7d89f472a447c61 (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
#! /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 < /dev/tty
            done

            ln -s "$file" "$(pwd)/$ans"
            shift
        done
        ;;
esac
rm ~/.local/share/lf/files
# lf -remote "send clear"

if [ -d "$LIB_TEMP_DIR_FOR_SCRIPT" ];then rm -r "$LIB_TEMP_DIR_FOR_SCRIPT"; fi
# vim: ft=sh