diff options
author | Marc Cornellà <marc.cornella@live.com> | 2014-03-25 21:01:34 +0100 |
---|---|---|
committer | Marc Cornellà <marc.cornella@live.com> | 2014-03-25 21:14:20 +0100 |
commit | 5137e0e509ae4d6534be132d614d43ea53d8a4e4 (patch) | |
tree | aaf89c4e0ac30c64db6b768230f27a43220902f0 /lib/termsupport.zsh | |
parent | ffc17b6b4d55f74b9d3786ba790b7340865e5014 (diff) | |
download | zsh-5137e0e509ae4d6534be132d614d43ea53d8a4e4.tar.gz zsh-5137e0e509ae4d6534be132d614d43ea53d8a4e4.tar.bz2 zsh-5137e0e509ae4d6534be132d614d43ea53d8a4e4.zip |
Escape % in $CMD variable
Fixes formatting on some rare cases when a percent ends up
in the $CMD variable, like these below:
- When assigning a variable, $CMD ends up with the second parameter;
in this case, $CMD will contain '+%s%N', messing with the syntax:
$ a=`date +%s%N`
- A function (or command in general) that contains a percent symbol:
$ to\%() { echo $(( $1 * 100 / $3))\% } # $CMD=to%()
$ to% 2 of 10 # $CMD=to%
Diffstat (limited to 'lib/termsupport.zsh')
-rw-r--r-- | lib/termsupport.zsh | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/termsupport.zsh b/lib/termsupport.zsh index 5f2fe63d4..9c0a430fb 100644 --- a/lib/termsupport.zsh +++ b/lib/termsupport.zsh @@ -26,8 +26,11 @@ function omz_termsupport_precmd { function omz_termsupport_preexec { emulate -L zsh setopt extended_glob - local CMD=${1[(wr)^(*=*|sudo|ssh|rake|-*)]} #cmd name only, or if this is sudo or ssh, the next cmd + + # cmd name only, or if this is sudo or ssh, the next cmd + local CMD=${1[(wr)^(*=*|sudo|ssh|rake|-*)]:gs/%/%%} local LINE="${2:gs/%/%%}" + title '$CMD' '%100>...>$LINE%<<' } |