diff --git a/src/vs/workbench/contrib/terminal/browser/media/shellIntegration-bash.sh b/src/vs/workbench/contrib/terminal/browser/media/shellIntegration-bash.sh index 0d9d6734655..658e729043f 100755 --- a/src/vs/workbench/contrib/terminal/browser/media/shellIntegration-bash.sh +++ b/src/vs/workbench/contrib/terminal/browser/media/shellIntegration-bash.sh @@ -125,7 +125,14 @@ if [[ -n "${bash_preexec_imported:-}" ]]; then precmd_functions+=(__vsc_prompt_cmd) preexec_functions+=(__vsc_preexec_only) else - __vsc_dbg_trap="$(trap -p DEBUG | cut -d' ' -f3 | tr -d \')" + __vsc_dbg_trap="$(trap -p DEBUG)" + if [[ "$__vsc_db_trap" =~ .*\[\[.* ]]; then + #HACK - is there a better way to do this? + __vsc_dbg_trap=${__vsc_dbg_trap#'trap -- '*} + __vsc_dbg_trap=${__vsc_dbg_trap%'DEBUG'} + else + __vsc_dbg_trap="$(trap -p DEBUG | cut -d' ' -f3 | tr -d \')" + fi if [[ -z "$__vsc_dbg_trap" ]]; then __vsc_preexec_only() { if [ "$__vsc_in_command_execution" = "0" ]; then