fix: clean up SSH environment variable propagation

This commit is contained in:
Jason Rayne
2025-06-16 15:58:48 -07:00
parent b07b3e4608
commit 2e9a0e92db
4 changed files with 8 additions and 28 deletions

View File

@ -170,9 +170,7 @@ if [[ -n "$GHOSTTY_SSH_INTEGRATION" ]]; then
env_vars+=("TERM=xterm-ghostty") env_vars+=("TERM=xterm-ghostty")
# Propagate Ghostty shell integration environment variables # Propagate Ghostty shell integration environment variables
[[ -n "$GHOSTTY_SHELL_INTEGRATION_NO_CURSOR" ]] && env_vars+=("GHOSTTY_SHELL_INTEGRATION_NO_CURSOR=$GHOSTTY_SHELL_INTEGRATION_NO_CURSOR") [[ -n "$GHOSTTY_SHELL_FEATURES" ]] && env_vars+=("GHOSTTY_SHELL_FEATURES=$GHOSTTY_SHELL_FEATURES")
[[ -n "$GHOSTTY_SHELL_INTEGRATION_NO_SUDO" ]] && env_vars+=("GHOSTTY_SHELL_INTEGRATION_NO_SUDO=$GHOSTTY_SHELL_INTEGRATION_NO_SUDO")
[[ -n "$GHOSTTY_SHELL_INTEGRATION_NO_TITLE" ]] && env_vars+=("GHOSTTY_SHELL_INTEGRATION_NO_TITLE=$GHOSTTY_SHELL_INTEGRATION_NO_TITLE")
# Normal SSH connection with Ghostty terminfo available # Normal SSH connection with Ghostty terminfo available
env "${env_vars[@]}" ssh "$@" env "${env_vars[@]}" ssh "$@"

View File

@ -172,14 +172,10 @@
set env-vars = [$@env-vars TERM=xterm-ghostty] set env-vars = [$@env-vars TERM=xterm-ghostty]
# Propagate Ghostty shell integration environment variables # Propagate Ghostty shell integration environment variables
if (has-env GHOSTTY_SHELL_INTEGRATION_NO_CURSOR) { if (has-env GHOSTTY_SHELL_FEATURES) {
set env-vars = [$@env-vars GHOSTTY_SHELL_INTEGRATION_NO_CURSOR=$E:GHOSTTY_SHELL_INTEGRATION_NO_CURSOR] if (not-eq "" $E:GHOSTTY_SHELL_FEATURES) {
} set env-vars = [$@env-vars GHOSTTY_SHELL_FEATURES=$E:GHOSTTY_SHELL_FEATURES]
if (has-env GHOSTTY_SHELL_INTEGRATION_NO_SUDO) { }
set env-vars = [$@env-vars GHOSTTY_SHELL_INTEGRATION_NO_SUDO=$E:GHOSTTY_SHELL_INTEGRATION_NO_SUDO]
}
if (has-env GHOSTTY_SHELL_INTEGRATION_NO_TITLE) {
set env-vars = [$@env-vars GHOSTTY_SHELL_INTEGRATION_NO_TITLE=$E:GHOSTTY_SHELL_INTEGRATION_NO_TITLE]
} }
# Normal SSH connection with Ghostty terminfo available # Normal SSH connection with Ghostty terminfo available

View File

@ -126,10 +126,6 @@ function __ghostty_setup --on-event fish_prompt -d "Setup ghostty integration"
set env_vars $env_vars GHOSTTY_SHELL_FEATURES="$GHOSTTY_SHELL_FEATURES" set env_vars $env_vars GHOSTTY_SHELL_FEATURES="$GHOSTTY_SHELL_FEATURES"
end end
if test -n "$GHOSTTY_RESOURCES_DIR"
set env_vars $env_vars GHOSTTY_RESOURCES_DIR="$GHOSTTY_RESOURCES_DIR"
end
# Execute with environment variables if any were set # Execute with environment variables if any were set
if test (count $env_vars) -gt 0 if test (count $env_vars) -gt 0
env $env_vars ssh $argv env $env_vars ssh $argv
@ -156,14 +152,8 @@ function __ghostty_setup --on-event fish_prompt -d "Setup ghostty integration"
set -a env_vars TERM=xterm-ghostty set -a env_vars TERM=xterm-ghostty
# Propagate Ghostty shell integration environment variables # Propagate Ghostty shell integration environment variables
if set -q GHOSTTY_SHELL_INTEGRATION_NO_CURSOR if test -n "$GHOSTTY_SHELL_FEATURES"
set -a env_vars GHOSTTY_SHELL_INTEGRATION_NO_CURSOR=$GHOSTTY_SHELL_INTEGRATION_NO_CURSOR set env_vars $env_vars GHOSTTY_SHELL_FEATURES="$GHOSTTY_SHELL_FEATURES"
end
if set -q GHOSTTY_SHELL_INTEGRATION_NO_SUDO
set -a env_vars GHOSTTY_SHELL_INTEGRATION_NO_SUDO=$GHOSTTY_SHELL_INTEGRATION_NO_SUDO
end
if set -q GHOSTTY_SHELL_INTEGRATION_NO_TITLE
set -a env_vars GHOSTTY_SHELL_INTEGRATION_NO_TITLE=$GHOSTTY_SHELL_INTEGRATION_NO_TITLE
end end
# Normal SSH connection with Ghostty terminfo available # Normal SSH connection with Ghostty terminfo available

View File

@ -280,11 +280,9 @@ _ghostty_deferred_init() {
if [[ "$TERM" == "xterm-ghostty" ]]; then if [[ "$TERM" == "xterm-ghostty" ]]; then
TERM=xterm-256color \ TERM=xterm-256color \
GHOSTTY_SHELL_FEATURES="${GHOSTTY_SHELL_FEATURES}" \ GHOSTTY_SHELL_FEATURES="${GHOSTTY_SHELL_FEATURES}" \
GHOSTTY_RESOURCES_DIR="${GHOSTTY_RESOURCES_DIR}" \
builtin command ssh "$@" builtin command ssh "$@"
else else
GHOSTTY_SHELL_FEATURES="${GHOSTTY_SHELL_FEATURES}" \ GHOSTTY_SHELL_FEATURES="${GHOSTTY_SHELL_FEATURES}" \
GHOSTTY_RESOURCES_DIR="${GHOSTTY_RESOURCES_DIR}" \
builtin command ssh "$@" builtin command ssh "$@"
fi fi
} }
@ -307,9 +305,7 @@ _ghostty_deferred_init() {
env_vars+=("TERM=xterm-ghostty") env_vars+=("TERM=xterm-ghostty")
# Propagate Ghostty shell integration environment variables # Propagate Ghostty shell integration environment variables
[[ -n "$GHOSTTY_SHELL_INTEGRATION_NO_CURSOR" ]] && env_vars+=("GHOSTTY_SHELL_INTEGRATION_NO_CURSOR=$GHOSTTY_SHELL_INTEGRATION_NO_CURSOR") [[ -n "$GHOSTTY_SHELL_FEATURES" ]] && env_vars+=("GHOSTTY_SHELL_FEATURES=$GHOSTTY_SHELL_FEATURES")
[[ -n "$GHOSTTY_SHELL_INTEGRATION_NO_SUDO" ]] && env_vars+=("GHOSTTY_SHELL_INTEGRATION_NO_SUDO=$GHOSTTY_SHELL_INTEGRATION_NO_SUDO")
[[ -n "$GHOSTTY_SHELL_INTEGRATION_NO_TITLE" ]] && env_vars+=("GHOSTTY_SHELL_INTEGRATION_NO_TITLE=$GHOSTTY_SHELL_INTEGRATION_NO_TITLE")
# Normal SSH connection with Ghostty terminfo available # Normal SSH connection with Ghostty terminfo available
env "${env_vars[@]}" ssh "$@" env "${env_vars[@]}" ssh "$@"