Add codex_tmux_resume helper
This commit is contained in:
@@ -3,7 +3,6 @@
|
|||||||
function codex_tmux {
|
function codex_tmux {
|
||||||
base=$(basename "$PWD")
|
base=$(basename "$PWD")
|
||||||
name="$base"
|
name="$base"
|
||||||
|
|
||||||
if tmux has-session -t "$name" 2>/dev/null; then
|
if tmux has-session -t "$name" 2>/dev/null; then
|
||||||
i=2
|
i=2
|
||||||
while tmux has-session -t "${name}-${i}" 2>/dev/null; do
|
while tmux has-session -t "${name}-${i}" 2>/dev/null; do
|
||||||
|
|||||||
32
dotfiles/lib/functions/codex_tmux_resume
Executable file
32
dotfiles/lib/functions/codex_tmux_resume
Executable file
@@ -0,0 +1,32 @@
|
|||||||
|
#!/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 "$@"
|
||||||
Reference in New Issue
Block a user