Files
dotfiles/dotfiles/lib/functions/codex_tmux_resume

33 lines
832 B
Bash
Executable File

#!/usr/bin/env sh
function codex_tmux_resume {
base=$(basename "$PWD")
target=$(tmux list-sessions -F '#S' 2>/dev/null | awk -v base="$base" '
$0 == base { print; found=1; exit }
{
prefix = base "-"
if (substr($0, 1, length(prefix)) == prefix) {
rest = substr($0, length(prefix) + 1)
if (rest ~ /^[0-9]+$/) {
n = rest + 0
if (n > max) { max = n; best = $0 }
}
}
}
END { if (found != 1 && best != "") print best }
')
if [ -n "$target" ]; then
if [ -n "$TMUX" ]; then
tmux switch-client -t "$target"
else
tmux attach-session -t "$target"
fi
return 0
fi
codex_tmux "$@"
}
codex_tmux_resume "$@"