-
Notifications
You must be signed in to change notification settings - Fork 10
/
Copy patheee-common.sh
executable file
·65 lines (52 loc) · 1.21 KB
/
eee-common.sh
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
CURR_DIR=$(dirname $(readlink -f $0))
# [M-1]:file; [M-2]:rg; [M-3]: imenu;
# [M-4]:symbol; [M-5]:ee-rg; [M-6]: git;
# HEADER_KEYBIND_HELP="[F1]: ee-rg, [F2]: ee-find, [F3]: ee-symbols(TODO)"
HEADER_KEYBIND_HELP=""
EEE_RG_SCRIPT=${CURR_DIR}/eee-rg.sh
EEE_FIND_SCRIPT=${CURR_DIR}/eee-find.sh
FZF_BINDS="\
f1:become(${EEE_RG_SCRIPT}),\
f2:become(${EEE_FIND_SCRIPT} {})\
"
error() {
echo "error: $*"
exit 1
} >&2
check_tools() {
local tool
for tool; do
case "$tool" in
bat)
__lookup_tool BAT bat batcat
;;
devicon-lookup)
__lookup_tool DEVICON_LOOKUP devicon-lookup
;;
fd)
__lookup_tool FD fd fdfind
;;
fzf)
__lookup_tool FZF fzf
;;
rg)
__lookup_tool RG rg
;;
*)
error "unknown tool '$tool'"
esac
done
}
__lookup_tool() {
local var knownas t p
var=$1
shift
knownas=$1
for t; do
p="$(command -v $t)" && {
eval "$var='$p'"
return 0
}
done
error "tool '$knownas' not installed"
}