#!/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