-
Notifications
You must be signed in to change notification settings - Fork 8
Expand file tree
/
Copy pathharpoon.tmux
More file actions
executable file
·36 lines (29 loc) · 969 Bytes
/
Copy pathharpoon.tmux
File metadata and controls
executable file
·36 lines (29 loc) · 969 Bytes
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 bash
set -e
CURRENT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
HARPOON="$CURRENT_DIR/harpoon"
key_append_prefix="@harpoon_key_append"
key_replace_prefix="@harpoon_key_replace"
tmux_option() {
local -r option=$(tmux show-option -gqv "$1")
local -r fallback="$2"
echo "${option:-$fallback}"
}
init_tmux_harpoon() {
local count=1
local optval
while optval="$(tmux_option "$key_append_prefix$count")" && [ -n "$optval" ]; do
tmux bind-key -n "$optval" run-shell "\"$HARPOON\" -s $count"
count=$((count + 1))
done
count=1
while optval="$(tmux_option "$key_replace_prefix$count")" && [ -n "$optval" ]; do
tmux bind-key -n "$optval" run-shell "\"$HARPOON\" -r $count"
count=$((count + 1))
done
[ -z "$(tmux_option "${key_append_prefix}1")" ] &&
tmux bind-key -n "C-h" run-shell "\"$HARPOON\" -l"
[ -z "$(tmux_option "${key_replace_prefix}1")" ] &&
tmux bind-key -n "C-S-h" run-shell "\"$HARPOON\" -a"
}
init_tmux_harpoon