diff --git a/shell-integration/bash/kitty.bash b/shell-integration/bash/kitty.bash index bb0ea08c7..4f51de4a6 100644 --- a/shell-integration/bash/kitty.bash +++ b/shell-integration/bash/kitty.bash @@ -251,8 +251,11 @@ _ksi_main() { elif [[ $(builtin declare -p PROMPT_COMMAND 2> /dev/null) =~ 'declare -a PROMPT_COMMAND' ]]; then PROMPT_COMMAND+=("$pc") else - PROMPT_COMMAND="${PROMPT_COMMAND%%[[:space:]]}" - PROMPT_COMMAND="${PROMPT_COMMAND%%;}" + oldval=$(builtin shopt -p extglob) + builtin shopt -s extglob + PROMPT_COMMAND="${PROMPT_COMMAND%%+([[:space:]])}" + PROMPT_COMMAND="${PROMPT_COMMAND%%+(;)}" + builtin eval "$oldval" PROMPT_COMMAND+="; $pc" fi }