diff options
author | Erik Demaine <edemaine@mit.edu> | 2019-07-06 12:10:30 -0400 |
---|---|---|
committer | Erik Demaine <edemaine@mit.edu> | 2019-07-06 12:10:30 -0400 |
commit | c1446b4750a31506daba7fc7d41957dd515e8022 (patch) | |
tree | 47e95b515a3e94cb9efd583dd64349ae6f3dcb14 | |
parent | b259cdf7e71ad6c3cc1a66a48c6c79cf63f38590 (diff) | |
download | zsh-c1446b4750a31506daba7fc7d41957dd515e8022.tar.gz zsh-c1446b4750a31506daba7fc7d41957dd515e8022.tar.bz2 zsh-c1446b4750a31506daba7fc7d41957dd515e8022.zip |
Automatic title: Replace fg with description from jobs
-rw-r--r-- | lib/termsupport.zsh | 14 |
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) |