ssh kitten: Fix kitten not being on PATH when sshing into Debian systems
Fixes #7160
This commit is contained in:
parent
dd249df5eb
commit
9d027e4fbd
6 changed files with 28 additions and 2 deletions
|
|
@ -85,11 +85,14 @@ Detailed list of changes
|
|||
-------------------------------------
|
||||
|
||||
0.38.2 [future]
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
- When mapping a custom kitten allow using shell escaping for the kitten path (:iss:`8178`)
|
||||
|
||||
- Fix border colors not being changed by auto light/dark themes at startup (:iss:`8180`)
|
||||
|
||||
- ssh kitten: Fix kitten not being on PATH when sshing into Debian systems (:iss:`7160`)
|
||||
|
||||
0.38.1 [2024-12-26]
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
|
|
|
|||
|
|
@ -115,6 +115,12 @@ _ksi_main() {
|
|||
IFS="$ifs"
|
||||
|
||||
builtin unset KITTY_SHELL_INTEGRATION
|
||||
if [[ -n "$SSH_KITTEN_KITTY_DIR" ]]; then
|
||||
if [[ ! "$PATH" =~ (^|:)${SSH_KITTEN_KITTY_DIR}(:|$) ]] && [[ -z "$(builtin command -v kitten)" ]]; then
|
||||
builtin export PATH="${PATH}:${SSH_KITTEN_KITTY_DIR}"
|
||||
fi
|
||||
builtin unset SSH_KITTEN_KITTY_DIR
|
||||
fi
|
||||
|
||||
_ksi_debug_print() {
|
||||
# print a line to STDERR of parent kitty process
|
||||
|
|
|
|||
|
|
@ -29,6 +29,14 @@ function __ksi_schedule --on-event fish_prompt -d "Setup kitty integration after
|
|||
test -n "$KITTY_SHELL_INTEGRATION" || return 0
|
||||
set --local _ksi (string split " " -- "$KITTY_SHELL_INTEGRATION")
|
||||
set --erase KITTY_SHELL_INTEGRATION
|
||||
if test -n "$SSH_KITTEN_KITTY_DIR"
|
||||
if not contains -- "$SSH_KITTEN_KITTY_DIR" "$PATH"
|
||||
if not type kitten 2> /dev/null > /dev/null
|
||||
set -gx PATH "$PATH" "$SSH_KITTEN_KITTY_DIR"
|
||||
end
|
||||
end
|
||||
set --erase SSH_KITTEN_KITTY_DIR
|
||||
end
|
||||
|
||||
# Enable cursor shape changes for default mode and vi mode
|
||||
if not contains "no-cursor" $_ksi
|
||||
|
|
|
|||
|
|
@ -177,10 +177,11 @@ fi' > "$sh_script"
|
|||
}
|
||||
|
||||
install_kitty_bootstrap() {
|
||||
kitty_dir="$data_dir/kitty/bin"
|
||||
export SSH_KITTEN_KITTY_DIR="$kitty_dir"
|
||||
kitty_exists="n"
|
||||
command -v kitty 2> /dev/null > /dev/null && kitty_exists="y"
|
||||
if [ "$kitty_remote" = "yes" -o "$kitty_remote-$kitty_exists" = "if-needed-n" ]; then
|
||||
kitty_dir="$data_dir/kitty/bin"
|
||||
if [ "$kitty_exists" = "y" ]; then
|
||||
export PATH="$kitty_dir:$PATH"
|
||||
else
|
||||
|
|
|
|||
|
|
@ -284,8 +284,9 @@ def exec_with_shell_integration():
|
|||
def install_kitty_bootstrap():
|
||||
kitty_remote = os.environ.pop('KITTY_REMOTE', '')
|
||||
kitty_exists = shutil.which('kitty')
|
||||
kitty_dir = os.path.join(data_dir, 'kitty', 'bin')
|
||||
os.environ['SSH_KITTEN_KITTY_DIR'] = kitty_dir
|
||||
if kitty_remote == 'yes' or (kitty_remote == 'if-needed' and not kitty_exists):
|
||||
kitty_dir = os.path.join(data_dir, 'kitty', 'bin')
|
||||
if kitty_exists:
|
||||
os.environ['PATH'] = kitty_dir + os.pathsep + os.environ['PATH']
|
||||
else:
|
||||
|
|
|
|||
|
|
@ -89,6 +89,13 @@ _ksi_deferred_init() {
|
|||
opt=(${(s: :)KITTY_SHELL_INTEGRATION})
|
||||
builtin unset KITTY_SHELL_INTEGRATION
|
||||
|
||||
if [[ -n "$SSH_KITTEN_KITTY_DIR" ]]; then
|
||||
if [[ ! "$PATH" =~ (^|:)${SSH_KITTEN_KITTY_DIR}(:|$) ]] && [[ -z "$(builtin command -v kitten)" ]]; then
|
||||
builtin export PATH="${PATH}:${SSH_KITTEN_KITTY_DIR}"
|
||||
fi
|
||||
builtin unset SSH_KITTEN_KITTY_DIR
|
||||
fi
|
||||
|
||||
# The directory where kitty-integration is located: /.../shell-integration/zsh.
|
||||
builtin local self_dir="${functions_source[_ksi_deferred_init]:A:h}"
|
||||
# The directory with _kitty. We store it in a directory of its own rather than
|
||||
|
|
|
|||
Loading…
Reference in a new issue