m for mosh and s for ssh, both with second arg for tmux session

This commit is contained in:
Anton Volnuhin 2026-04-09 02:24:45 +03:00
parent 87bcad6c6d
commit de32b5f5d6

View File

@ -74,6 +74,18 @@ if type -q ip
end end
function s function s
# auto-tmux when called as: s <host> <session>
if test (count $argv) -eq 2; and not string match -q -- '-*' $argv[1]; and not string match -q -- '-*' $argv[2]
set -l host $argv[1]
set -l session $argv[2]
if test "$TERM" = xterm-kitty
kitten ssh $host -t "tmux new-session -A -s $session"
else
ssh $host -t "tmux new-session -A -s $session"
end
return
end
if test "$TERM" = xterm-kitty if test "$TERM" = xterm-kitty
kitten ssh $argv kitten ssh $argv
else else
@ -81,14 +93,23 @@ function s
end end
end end
function mosh function m
# auto-tmux when called as: m <host> <session>
if test (count $argv) -eq 2; and not string match -q -- '-*' $argv[1]; and not string match -q -- '-*' $argv[2]
set -l host $argv[1]
set -l session $argv[2]
command mosh -A $host -- env KITTY_MOSH=1 tmux new-session -A -s $session
return
end
if contains -- -- $argv if contains -- -- $argv
command mosh $argv command mosh -A $argv
else else
command mosh $argv -- env KITTY_MOSH=1 sh -lc 'exec "${SHELL:?}" -l' command mosh -A $argv -- env KITTY_MOSH=1 sh -lc 'exec "${SHELL:?}" -l'
end end
end end
function icat function icat
if test "$TERM_PROGRAM" = "WezTerm" if test "$TERM_PROGRAM" = "WezTerm"
wezterm imgcat $argv wezterm imgcat $argv