Merge remote-tracking branch 'StatPal/master' into HEAD

This commit is contained in:
Maxime Coste 2021-08-28 13:55:11 +10:00
commit 13eb5a677f

View File

@ -35,6 +35,35 @@ define-command tmux-repl-window -params 0.. -command-completion -docstring "Crea
tmux-repl-impl 'new-window' %arg{@} tmux-repl-impl 'new-window' %arg{@}
} }
define-command -params 0..1 tmux-repl-set-pane -docstring %{
tmux-repl-set-pane [pane number]: Set an existing tmux pane for repl interaction
If the address of new pane is not given, next pane is used
(To get the pane number in tmux,
use 'tmux display-message -p '#{pane_id}'" in that pane)
} %{
evaluate-commands %sh{
if [ -z "$TMUX" ]; then
echo 'fail This command is only available in a tmux session'
exit
fi
if [ $# -eq 0 ]; then
curr_pane="$(tmux display-message -p '#{pane_id}')"
curr_pane_no="${curr_pane:1}"
tgt_pane=$((curr_pane_no+1))
else
tgt_pane="$1"
fi
curr_win="$(tmux display-message -p '#{window_id}')"
curr_win_no="${curr_win:1}"
current=$(tmux list-panes -t $curr_win_no -F \#D)
if [[ "$current" =~ "%"$tgt_pane ]]; then
printf "set-option current tmux_repl_id '%s'" $(tmux display-message -p '#{session_id}:#{window_id}.')%$tgt_pane
else
echo 'fail The correct pane is not there. Activate using tmux-terminal-* or some other way'
fi
}
}
define-command -hidden tmux-send-text -params 0..1 -docstring %{ define-command -hidden tmux-send-text -params 0..1 -docstring %{
tmux-send-text [text]: Send text to the REPL pane. tmux-send-text [text]: Send text to the REPL pane.
If no text is passed, then the selection is used If no text is passed, then the selection is used