summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErik Demaine <edemaine@mit.edu>2019-07-06 12:10:30 -0400
committerErik Demaine <edemaine@mit.edu>2019-07-06 12:10:30 -0400
commitc1446b4750a31506daba7fc7d41957dd515e8022 (patch)
tree47e95b515a3e94cb9efd583dd64349ae6f3dcb14
parentb259cdf7e71ad6c3cc1a66a48c6c79cf63f38590 (diff)
downloadzsh-c1446b4750a31506daba7fc7d41957dd515e8022.tar.gz
zsh-c1446b4750a31506daba7fc7d41957dd515e8022.tar.bz2
zsh-c1446b4750a31506daba7fc7d41957dd515e8022.zip
Automatic title: Replace fg with description from jobs
-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)