summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/termsupport.zsh14
1 files changed, 13 insertions, 1 deletions
diff --git a/lib/termsupport.zsh b/lib/termsupport.zsh
index aa14f3f07..a74ad9922 100644
--- a/lib/termsupport.zsh
+++ b/lib/termsupport.zsh
@@ -72,7 +72,19 @@ function omz_termsupport_preexec {
local CMD=${1[(wr)^(*=*|sudo|ssh|mosh|rake|-*)]:gs/%/%%}
local LINE="${2:gs/%/%%}"
- title '$CMD' '%100>...>$LINE%<<'
+ if [[ "$CMD" = fg ]]; then
+ # replace fg, possibly with argument, with description from jobs
+ local JOB
+ if [[ ${(z)1} = fg ]]; then # no arguments
+ JOB="$(jobs %%)"
+ else # arguments
+ JOB="$(jobs ${${(z)1}[2]})"
+ fi
+ JOB="${${(z)JOB}[4,$]}" # trim job number, +, pid, status
+ title ${JOB:gs/%/%%} ${JOB:gs/%/%%}
+ else
+ title '$CMD' '%100>...>$LINE%<<'
+ fi
}
precmd_functions+=(omz_termsupport_precmd)