blob: 476bf7fbc0052fb80286e9f8ff3397bb31bd59f4 (
plain)
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
|
#!/bin/sh
# Fake fzf for testing tmux-util.
#
# Control via env vars:
# FAKE_FZF_CHOICE_LINE — 1-based line index into stdin; that line is
# printed as the selection and exit 0.
# FAKE_FZF_CHOICE — print this literal string as the selection and
# exit 0 (ignored if FAKE_FZF_CHOICE_LINE is set).
# (neither set) — exit 130 (user cancelled).
#
# Every invocation is logged to $FAKE_TMUX_DIR/calls.log as one line.
: "${FAKE_TMUX_DIR:?FAKE_TMUX_DIR must be set}"
printf 'fzf %s\n' "$*" >> "$FAKE_TMUX_DIR/calls.log"
if [ -n "${FAKE_FZF_CHOICE_LINE:-}" ]; then
awk -v n="$FAKE_FZF_CHOICE_LINE" 'NR == n { print; exit }'
exit 0
fi
if [ -n "${FAKE_FZF_CHOICE:-}" ]; then
# Drain stdin so the pipe upstream doesn't SIGPIPE
cat >/dev/null
printf '%s\n' "$FAKE_FZF_CHOICE"
exit 0
fi
# Cancelled
cat >/dev/null
exit 130
|