#!/bin/sh # Output and selection editors use either the default or an explicit command. PATH=/bin:/usr/bin TERM=screen [ -z "$TEST_TMUX" ] && TEST_TMUX=$(readlink -f ../tmux) DIR=$(mktemp -d) || exit 1 TMUX_TMPDIR=$DIR export TMUX_TMPDIR TMUX="$TEST_TMUX -LtestA$$ -f/dev/null" OUT="$TEST_TMUX -LtestB$$ -f/dev/null" cleanup() { $OUT kill-server 2>/dev/null $TMUX kill-server 2>/dev/null rm -rf "$DIR" } trap cleanup EXIT HUP INT TERM wait_editor() { i=0 while [ "$i" -lt 50 ]; do modal=$($TMUX display-message -p -t edit:0 '#{window_modal_pane}') if [ -f "$DIR/$1" ] && [ -z "$modal" ]; then return 0 fi sleep 0.1 i=$((i + 1)) done echo "editor did not finish: $1" >&2 exit 1 } cat >"$DIR/editor.sh" <